mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-24 21:07:26 +08:00
#734319 : added PathBuilder.getEnum
This commit is contained in:
parent
d4951f431d
commit
9deabc2e1e
@ -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
|
||||
*
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user