Class MapProperty<K, V extends Persistent>
java.lang.Object
org.apache.cayenne.exp.property.BaseProperty<Map<K,V>>
org.apache.cayenne.exp.property.MapProperty<K,V>
- All Implemented Interfaces:
PathProperty<Map<K,V>>, Property<Map<K, V>>, RelationshipProperty<Map<K, V>>
public class MapProperty<K, V extends Persistent>
extends BaseProperty<Map<K,V>>
implements RelationshipProperty<Map<K,V>>
Property that represents to-many relationship mapped on
Map.- Since:
- 4.2
- See Also:
-
Field Summary
FieldsFields inherited from class BaseProperty
expressionSupplier, path, typeModifier and TypeFieldDescriptionprotected final Supplier<Expression> Expression provider for the propertyprotected final CayennePathPath of this propertyExplicit type of the property -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedMapProperty(CayennePath path, Expression expression, Class<K> keyType, Class<V> entityType) Constructs a new property with the given path and expression -
Method Summary
Modifier and TypeMethodDescriptionCreates alias with different name for this propertycontains(Collection<V> values) Deprecated, for removal: This API element is subject to removal in a future version.final ExpressionDeprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofcontainsValues(V...)containsId(Object id) containsId(Object firstId, Object... moreId) Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofcontainsIds(Object...)containsId(Collection<Object> ids) Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofcontainsIdsCollection(Collection)containsIds(Object... ids) containsIdsCollection(Collection<?> ids) final ExpressioncontainsValues(V... values) containsValuesCollection(Collection<V> values) This operator allows to access properties of the enclosing query from the subquery.flat()Create new "flat" property for toMany relationship.notContains(Collection<V> values) Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofnotContainsValuesCollection(Collection)notContains(V value) final ExpressionnotContains(V firstValue, V... moreValues) Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofnotContainsValues(V...)notContainsId(Object id) notContainsId(Object firstId, Object... moreId) Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofnotContainsIds(Object...)notContainsId(Collection<Object> ids) Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofnotContainsIdsCollection(Collection)notContainsIds(Object... ids) notContainsIdsCollection(Collection<?> ids) final ExpressionnotContainsValues(V... values) notContainsValuesCollection(Collection<V> values) outer()Returns a version of this property that represents an OUTER join.Methods inherited from class BaseProperty
aggregate, asc, ascInsensitive, ascInsensitives, ascs, count, countDistinct, desc, descInsensitive, descInsensitives, descs, eq, eq, equals, function, function, getAlias, getExpression, getFrom, getFromAll, getName, getPath, getType, hashCode, in, in, in, isFalse, isNotNull, isNull, isTrue, ne, ne, nin, nin, nin, operator, operator, setIn, setInAllModifier and TypeMethodDescription<T> BaseProperty<T> asc()ascs()count()desc()descs()eq(BaseProperty<?> value) boolean<T> BaseProperty<T> <T> BaseProperty<T> function(String functionName, Class<T> returnType, BaseProperty<?>... arguments) getAlias()This method returns fresh copy of the expression for each call.Extracts property value from an object using JavaBean-compatible introspection with one addition - a property can be a dot-separated property name path.getFromAll(Collection<?> beans) Extracts property value from a collection of objects using JavaBean-compatible introspection with one addition - a property can be a dot-separated property name path.getName()getPath()getType()inthashCode()in(Collection<Map<K, V>> values) in(ColumnSelect<? extends Map<K, V>> subquery) isFalse()isNull()isTrue()ne(BaseProperty<?> value) nin(Collection<Map<K, V>> values) nin(ColumnSelect<? extends Map<K, V>> subquery) <T> BaseProperty<T> <T> BaseProperty<T> operator(String operator, Class<T> returnType, BaseProperty<?>... arguments) voidSets a property value in 'obj' using JavaBean-compatible introspection with one addition - a property can be a dot-separated property name path.voidsetInAll(Collection<?> beans, Map<K, V> value) Sets a property value in a collection of objects using JavaBean-compatible introspection with one addition - a property can be a dot-separated property name path.Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface PathProperty
dot, dot, dot, dot, dotModifier and TypeMethodDescriptiondefault BaseProperty<Object> Constructs a property path by appending the argument to the existing property separated by a dot.default <T> BaseProperty<T> dot(BaseProperty<T> property) Constructs a new property path by appending the argument to the existing property separated by a dot.default <T> DateProperty<T> dot(DateProperty<T> property) Constructs a new property path by appending the argument to the existing property separated by a dot.default <T extends Number>
NumericProperty<T> dot(NumericProperty<T> property) Constructs a new property path by appending the argument to the existing property separated by a dot.default <T extends CharSequence>
StringProperty<T> dot(StringProperty<T> property) Constructs a new property path by appending the argument to the existing property separated by a dot.Methods inherited from interface RelationshipProperty
disjoint, disjointById, dot, dot, dot, dot, dot, dot, dot, exists, joint, notExistsModifier and TypeMethodDescriptiondefault PrefetchTreeNodedisjoint()Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "disjoint" prefetch semantics.default PrefetchTreeNodeReturns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "disjoint by id" prefetch semantics.default <T> BaseIdProperty<T> dot(BaseIdProperty<T> property) Constructs a new property path by appending the argument to the existing property separated by a dot.default <T extends EmbeddableObject>
EmbeddableProperty<T> dot(EmbeddableProperty<T> property) Constructs a new property path by appending the argument to the existing property separated by a dot.default <T extends Persistent>
EntityProperty<T> dot(EntityProperty<T> property) Constructs a new property path by appending the argument to the existing property separated by a dot.default <T extends Persistent>
ListProperty<T> dot(ListProperty<T> property) Constructs a new property path by appending the argument to the existing property separated by a dot.default <K, V extends Persistent>
MapProperty<K, V> dot(MapProperty<K, V> property) Constructs a new property path by appending the argument to the existing property separated by a dot.default <T extends Number>
NumericIdProperty<T> dot(NumericIdProperty<T> property) Constructs a new property path by appending the argument to the existing property separated by a dot.default <T extends Persistent>
SetProperty<T> dot(SetProperty<T> property) Constructs a new property path by appending the argument to the existing property separated by a dot.default Expressionexists()default PrefetchTreeNodejoint()Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "joint" prefetch semantics.default Expression
-
Field Details
-
keyType
-
entityType
-
-
Constructor Details
-
MapProperty
protected MapProperty(CayennePath path, Expression expression, Class<K> keyType, Class<V> entityType) Constructs a new property with the given path and expression- Parameters:
path- of the property (will be used as alias for the expression)expression- expression for propertykeyType- type of keys of the propertyentityType- type of related entities- See Also:
-
-
Method Details
-
flat
Create new "flat" property for toMany relationship.
Example:
List<Object[]> result = ObjectSelect .columnQuery(Artist.class, Artist.ARTIST_NAME, Artist.PAINTING_ARRAY.flat(Painting.class)) .select(context); -
contains
- Returns:
- An expression representing equality to a value.
-
notContains
- Returns:
- An expression representing inequality to a value.
-
contains
@Deprecated(since="5.0", forRemoval=true) @SafeVarargs public final Expression contains(V firstValue, V... moreValues) Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofcontainsValues(V...)- Returns:
- An expression for finding objects with values in the given set.
-
containsValues
- Returns:
- An expression for finding objects with values in the given set.
- Since:
- 5.0
-
contains
Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofcontainsValuesCollection(Collection)- Returns:
- An expression for finding objects with values in the given set.
-
containsValuesCollection
- Returns:
- An expression for finding objects with values in the given set.
- Since:
- 5.0
-
notContains
Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofnotContainsValuesCollection(Collection)- Returns:
- An expression for finding objects with values not in the given set.
-
notContainsValuesCollection
- Returns:
- An expression for finding objects with values in the given set.
- Since:
- 5.0
-
notContains
@Deprecated(since="5.0", forRemoval=true) @SafeVarargs public final Expression notContains(V firstValue, V... moreValues) Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofnotContainsValues(V...)- Returns:
- An expression for finding objects with values not in the given set.
-
notContainsValues
- Returns:
- An expression for finding objects with values not in the given set.
- Since:
- 5.0
-
containsId
- Parameters:
id- object id- Returns:
- An expression for finding object with given id.
-
containsId
@Deprecated(since="5.0", forRemoval=true) public Expression containsId(Object firstId, Object... moreId) Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofcontainsIds(Object...)- Returns:
- An expression for finding objects with given id set
-
containsIds
- Returns:
- An expression for finding objects with given id set
- Since:
- 5.0
-
containsId
Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofcontainsIdsCollection(Collection)- Returns:
- An expression for finding objects with given id set.
-
containsIdsCollection
- Returns:
- An expression for finding objects with given id set.
- Since:
- 5.0
-
notContainsId
- Parameters:
id- object id- Returns:
- An expression for finding object without given id.
-
notContainsId
@Deprecated(since="5.0", forRemoval=true) public Expression notContainsId(Object firstId, Object... moreId) Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofnotContainsIds(Object...)- Returns:
- An expression for finding objects without given id set.
-
notContainsIds
- Returns:
- An expression for finding objects without given id set.
- Since:
- 5.0
-
notContainsId
Deprecated, for removal: This API element is subject to removal in a future version.since 5.0 in favour ofnotContainsIdsCollection(Collection)- Returns:
- An expression for finding objects without given id set.
-
notContainsIdsCollection
- Returns:
- An expression for finding objects without given id set.
- Since:
- 5.0
-
alias
Creates alias with different name for this property- Overrides:
aliasin classBaseProperty<Map<K, V extends Persistent>>
-
outer
Returns a version of this property that represents an OUTER join.- Specified by:
outerin interfaceRelationshipProperty<K>
-
getKeyType
-
getEntityType
-
enclosing
Description copied from class:BasePropertyThis operator allows to access properties of the enclosing query from the subquery. It allows multiple nesting levels to access a corresponding query in case of multiple levels of subqueries. Example:ObjectSelect.query(Artist.class) .where(ExpressionFactory.notExists(ObjectSelect.query(Painting.class) .where(Painting.TO_ARTIST.eq(Artist.ARTIST_ID_PK_PROPERTY.enclosing()))))- Overrides:
enclosingin classBaseProperty<Map<K, V extends Persistent>>- Returns:
- property that will be translated relative to parent query
-
containsValuesCollection(Collection)