#734319 : added PathBuilder.getEnum

This commit is contained in:
Timo Westkämper 2011-03-14 06:53:38 +00:00
parent d4951f431d
commit 9deabc2e1e
2 changed files with 45 additions and 0 deletions

View File

@ -202,6 +202,28 @@ public final class PathBuilder<T> extends EntityPathBase<T> {
return super.createDateTime(property, type);
}
/**
* Get a new Enum path
*
* @param <A>
* @param property property name
* @param type
* @return
*/
public <A extends Enum<A>> EnumPath<A> getEnum(String property, Class<A> type) {
return super.createEnum(property, type);
}
/**
* @param <A>
* @param path
* @return
*/
@SuppressWarnings("unchecked")
public <A extends Enum<A>> EnumPath<A> get(EnumPath<A> path){
return getEnum(toString(path), (Class<A>)path.getType());
}
/**
* Get a new List typed path
*

View File

@ -6,6 +6,7 @@
package com.mysema.query.types.path;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.sql.Time;
import java.util.Date;
@ -18,10 +19,16 @@ import com.mysema.query.BooleanBuilder;
public class PathBuilderTest {
enum Gender {
MALE, FEMALE
}
public static class User {
private String firstName, lastName, username;
private Gender gender;
public String getFirstName() {
return firstName;
}
@ -46,6 +53,22 @@ public class PathBuilderTest {
this.username = username;
}
public Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
}
@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));
}
@Test