/** * Create a new array path * * @param <A> * @param property * @param type * @return */ protected <A, E> ArrayPath<A, E> createArray(String property, Class<? super A> type) { return add(new ArrayPath<A, E>(type, forProperty(property))); }
/** * Create a new String path * * @param property * @return */ protected StringPath createString(String property) { return add(new StringPath(forProperty(property))); }
/** * Create a new Boolean path * * @param property * @return */ protected BooleanPath createBoolean(String property) { return add(new BooleanPath(forProperty(property))); }
/** * Create a new Simpe path * * @param <A> * @param property * @param type * @return */ @SuppressWarnings("unchecked") protected <A> SimplePath<A> createSimple(String property, Class<? super A> type) { return add(new SimplePath<A>((Class<A>) type, forProperty(property))); }
/** * Create a new Comparable typed path * * @param <A> * @param property * @param type * @return */ @SuppressWarnings("unchecked") protected <A extends Comparable> ComparablePath<A> createComparable(String property, Class<? super A> type) { return add(new ComparablePath<A>((Class) type, forProperty(property))); }
/** * Create a new Date path * * @param <A> * @param property * @param type * @return */ @SuppressWarnings("unchecked") protected <A extends Comparable> DatePath<A> createDate(String property, Class<? super A> type) { return add(new DatePath<A>((Class) type, forProperty(property))); }
/** * Create a new Number path * * @param <A> * @param property * @param type * @return */ @SuppressWarnings("unchecked") protected <A extends Number & Comparable<?>> NumberPath<A> createNumber(String property, Class<? super A> type) { return add(new NumberPath<A>((Class) type, forProperty(property))); }
/** * @param <A> * @param property * @param type * @return */ protected <A extends Enum<A>> EnumPath<A> createEnum(String property, Class<A> type) { return add(new EnumPath<A>(type, forProperty(property))); }
/** * Create a new Set typed path * * @param <A> * @param property * @param type * @return */ @SuppressWarnings("unchecked") protected <A, E extends SimpleExpression<? super A>> SetPath<A, E> createSet(String property, Class<? super A> type, Class<? super E> queryType, PathInits inits) { return add(new SetPath<A, E>(type, (Class) queryType, forProperty(property), inits)); }
/** * Create a new Time path * * @param <A> * @param property * @param type * @return */ @SuppressWarnings("unchecked") protected <A extends Comparable> TimePath<A> createTime(String property, Class<? super A> type) { return add(new TimePath<A>((Class) type, forProperty(property))); }
/** * Create a new Collection typed path * * @param <A> * @param property * @param type * @return */ @SuppressWarnings("unchecked") protected <A, Q extends SimpleExpression<? super A>> CollectionPath<A, Q> createCollection(String property, Class<? super A> type, Class<? super Q> queryType, PathInits inits) { return add(new CollectionPath<A, Q>(type, (Class) queryType, forProperty(property), inits)); }
/** * Create a new DateTime path * * @param <A> * @param property * @param type * @return */ @SuppressWarnings("unchecked") protected <A extends Comparable> DateTimePath<A> createDateTime(String property, Class<? super A> type) { return add(new DateTimePath<A>((Class) type, forProperty(property))); }
/** * Create a new List typed path * * @param <A> * @param <E> * @param property * @param type * @param queryType * @return */ @SuppressWarnings("unchecked") protected <A, E extends SimpleExpression<? super A>> ListPath<A, E> createList(String property, Class<? super A> type, Class<? super E> queryType, PathInits inits) { return add(new ListPath<A, E>(type, (Class) queryType, forProperty(property), inits)); }
/** * Create a new Map typed path * * @param <K> * @param <V> * @param <E> * @param property * @param key * @param value * @param queryType * @return */ @SuppressWarnings("unchecked") protected <K, V, E extends SimpleExpression<? super V>> MapPath<K, V, E> createMap(String property, Class<? super K> key, Class<? super V> value, Class<? super E> queryType) { return add(new MapPath<K, V, E>(key, value, (Class) queryType, forProperty(property))); }