/** * Create a new Enum path * * @param <A> * @param path existing path * @return property path */ @SuppressWarnings("unchecked") public <A extends Enum<A>> EnumPath<A> get(EnumPath<A> path) { EnumPath<A> newPath = getEnum(toString(path), (Class<A>) path.getType()); return addMetadataOf(newPath, path); }
@Test public void getEnum() { PathBuilder<User> entityPath = new PathBuilder<User>(User.class, "entity"); EnumPath<Gender> enumPath = entityPath.getEnum("gender", Gender.class); assertNotNull(enumPath.ordinal()); assertEquals(enumPath, entityPath.get(enumPath)); }
/** * Create a new Enum path * * @param <A> * @param path existing path * @return property path */ @SuppressWarnings("unchecked") public <A extends Enum<A>> EnumPath<A> get(EnumPath<A> path) { EnumPath<A> newPath = getEnum(toString(path), (Class<A>) path.getType()); return addMetadataOf(newPath, path); }