/** * Create a new Number typed path * * @param <A> * @param path existing path * @return property path */ @SuppressWarnings("unchecked") public <A extends Number & Comparable<?>> NumberPath<A> get(NumberPath<A> path) { NumberPath<A> newPath = getNumber(toString(path), (Class<A>) path.getType()); return addMetadataOf(newPath, path); }
@Test public void beanClassOfTExpressionOfQArray() { PathBuilder<Entity> entity = new PathBuilder<Entity>(Entity.class, "entity"); QBean<Entity> beanProjection = Projections.bean(Entity.class, entity.getNumber("cId", Integer.class), entity.getNumber("eId", Integer.class)); assertEquals(Entity.class, beanProjection.newInstance(1, 2).getClass()); }
@Test public void fieldsClassOfTExpressionOfQArray() { PathBuilder<Entity> entity = new PathBuilder<Entity>(Entity.class, "entity"); QBean<Entity> beanProjection = Projections.fields(Entity.class, entity.getNumber("cId", Integer.class), entity.getNumber("eId", Integer.class)); assertEquals(Entity.class, beanProjection.newInstance(1, 2).getClass()); }
@Test public void field_access() { PathBuilder<Entity> entity = new PathBuilder<Entity>(Entity.class, "entity"); QBean<Entity> beanProjection = new QBean<Entity>(Entity.class, true, entity.getNumber("cId",Integer.class), entity.getNumber("eId", Integer.class)); Entity bean = beanProjection.newInstance(1,2); assertEquals(Integer.valueOf(1), bean.getcId()); assertEquals(Integer.valueOf(2), bean.geteId()); }
@Test public void property_access() { PathBuilder<Entity> entity = new PathBuilder<Entity>(Entity.class, "entity"); QBean<Entity> beanProjection = new QBean<Entity>(Entity.class, entity.getNumber("cId",Integer.class), entity.getNumber("eId", Integer.class)); Entity bean = beanProjection.newInstance(1,2); assertEquals(Integer.valueOf(1), bean.getcId()); assertEquals(Integer.valueOf(2), bean.geteId()); }
@Before public void setUp() { entity = new PathBuilderFactory().create(Entity.class); name = entity.getString("name"); name2 = entity.getString("name2"); age = entity.getNumber("age", Integer.class); married = entity.getBoolean("married"); }
@Before public void setUp() { entity = new PathBuilderFactory().create(Entity.class); name = entity.getString("name"); name2 = entity.getString("name2"); age = entity.getNumber("age", Integer.class); married = entity.getBoolean("married"); }
@Test public void various() { PathBuilder<User> entity = new PathBuilder<User>(User.class, "entity"); entity.getBoolean("boolean"); entity.getCollection("col", User.class); entity.getComparable("comparable", Comparable.class); entity.getDate("date", Date.class); entity.getDateTime("dateTime", Date.class); entity.getList("list", User.class); entity.getMap("map", String.class, User.class); entity.getNumber("number", Integer.class); entity.getSet("set", User.class); entity.getSimple("simple", Object.class); entity.getString("string"); entity.getTime("time", Time.class); }
/** * Create a new Number typed path * * @param <A> * @param path existing path * @return property path */ @SuppressWarnings("unchecked") public <A extends Number & Comparable<?>> NumberPath<A> get(NumberPath<A> path) { NumberPath<A> newPath = getNumber(toString(path), (Class<A>) path.getType()); return addMetadataOf(newPath, path); }
@Test public void dynamicQuery2() { PathBuilder<Object> userPath = new PathBuilder<Object>(Object.class, "user"); NumberPath<Long> idPath = userPath.getNumber("id", Long.class); StringPath usernamePath = userPath.getString("username"); Expression<?> sq = select(idPath, usernamePath) .from(userPath).where(idPath.eq(1L)); SQLSerializer serializer = new SQLSerializer(Configuration.DEFAULT); serializer.handle(sq); //USER is a reserved word in ANSI SQL 2008 assertEquals("(select \"user\".id, \"user\".username\n" + "from \"user\"\n" + "where \"user\".id = ?)", serializer.toString()); }