Class AttributePathWrapper<X,B,Y>
java.lang.Object
com.blazebit.persistence.view.metamodel.AttributePathWrapper<X,B,Y>
- Type Parameters:
X
- The type of the entity view that is the base of the pathB
- The result base type of attribute path to resolve againstY
- The result type of attribute path
- All Implemented Interfaces:
AttributePath<X,B,Y>
public abstract class AttributePathWrapper<X,B,Y> extends Object implements AttributePath<X,B,Y>
A wrapper for an attribute path.
- Since:
- 1.5.0
- Author:
- Christian Beikov
-
Constructor Summary
Constructors Constructor Description AttributePathWrapper(AttributePath<X,B,Y> wrapped)
Creates a new wrapper. -
Method Summary
Modifier and Type Method Description <C, E> AttributePath<X,C,E>
get(AttributePath<B,C,E> attributePath)
Returns a new attribute path that additionally de-references the given path.<C extends Collection<E>, E>
AttributePath<X,E,C>get(MethodMultiListAttribute<B,E,C> attribute)
Returns a new attribute path that additionally de-references the given multi-list attribute.<C extends Collection<E>, E>
AttributePath<X,E,C>get(MethodMultiMapAttribute<B,?,E,C> attribute)
Returns a new attribute path that additionally de-references the given multi-map attribute.<E> AttributePath<X,E,E>
get(MethodPluralAttribute<B,?,E> attribute)
Returns a new attribute path that additionally de-references the given attribute.<E> AttributePath<X,E,E>
get(MethodSingularAttribute<B,E> attribute)
Returns a new attribute path that additionally de-references the given attribute.<E> AttributePath<X,E,E>
get(String attributePath)
Returns a new attribute path that additionally de-references the given path.List<String>
getAttributeNames()
Returns the de-referenced attribute names in order.List<MethodAttribute<?,?>>
getAttributes()
Returns the de-referenced attributes in order.<E, C extends Collection<E>>
AttributePath<X,E,C>getMulti(String attributePath)
Returns a new attribute path that additionally de-references the given path.String
getPath()
Returns the path as dot separated string.AttributePath<X,B,Y>
getWrapped()
Returns the wrapped path.MethodAttribute<?,Y>
resolve(ManagedViewType<X> baseType)
Resolves this attribute path on the given base type and returns the last attribute.List<MethodAttribute<?,?>>
resolveAll(ManagedViewType<X> baseType)
Resolves this attribute path on the given base type and returns all attributes in order.
-
Constructor Details
-
AttributePathWrapper
Creates a new wrapper.- Parameters:
wrapped
- The wrapped path.
-
-
Method Details
-
getWrapped
Returns the wrapped path.- Returns:
- the wrapped path
-
getPath
Description copied from interface:AttributePath
Returns the path as dot separated string.- Specified by:
getPath
in interfaceAttributePath<X,B,Y>
- Returns:
- The path
-
getAttributeNames
Description copied from interface:AttributePath
Returns the de-referenced attribute names in order.- Specified by:
getAttributeNames
in interfaceAttributePath<X,B,Y>
- Returns:
- The de-referenced attribute names
-
getAttributes
Description copied from interface:AttributePath
Returns the de-referenced attributes in order.- Specified by:
getAttributes
in interfaceAttributePath<X,B,Y>
- Returns:
- The de-referenced attributes
-
get
Description copied from interface:AttributePath
Returns a new attribute path that additionally de-references the given path.- Specified by:
get
in interfaceAttributePath<X,B,Y>
- Type Parameters:
E
- The element type- Parameters:
attributePath
- The path to additionally de-reference- Returns:
- The new attribute path
-
getMulti
Description copied from interface:AttributePath
Returns a new attribute path that additionally de-references the given path.- Specified by:
getMulti
in interfaceAttributePath<X,B,Y>
- Type Parameters:
E
- The element typeC
- The element base type of attribute path to resolve against- Parameters:
attributePath
- The path to additionally de-reference- Returns:
- The new attribute path
-
get
Description copied from interface:AttributePath
Returns a new attribute path that additionally de-references the given attribute.- Specified by:
get
in interfaceAttributePath<X,B,Y>
- Type Parameters:
E
- The element type- Parameters:
attribute
- The attribute to additionally de-reference- Returns:
- The new attribute path
-
get
Description copied from interface:AttributePath
Returns a new attribute path that additionally de-references the given attribute.- Specified by:
get
in interfaceAttributePath<X,B,Y>
- Type Parameters:
E
- The element type- Parameters:
attribute
- The attribute to additionally de-reference- Returns:
- The new attribute path
-
get
public <C extends Collection<E>, E> AttributePath<X,E,C> get(MethodMultiListAttribute<B,E,C> attribute)Description copied from interface:AttributePath
Returns a new attribute path that additionally de-references the given multi-list attribute.- Specified by:
get
in interfaceAttributePath<X,B,Y>
- Type Parameters:
C
- The element type to resolve againstE
- The element type- Parameters:
attribute
- The attribute to additionally de-reference- Returns:
- The new attribute path
-
get
public <C extends Collection<E>, E> AttributePath<X,E,C> get(MethodMultiMapAttribute<B,?,E,C> attribute)Description copied from interface:AttributePath
Returns a new attribute path that additionally de-references the given multi-map attribute.- Specified by:
get
in interfaceAttributePath<X,B,Y>
- Type Parameters:
C
- The element type to resolve againstE
- The element type- Parameters:
attribute
- The attribute to additionally de-reference- Returns:
- The new attribute path
-
get
Description copied from interface:AttributePath
Returns a new attribute path that additionally de-references the given path.- Specified by:
get
in interfaceAttributePath<X,B,Y>
- Type Parameters:
C
- The element type to resolve againstE
- The element type- Parameters:
attributePath
- The path to additionally de-reference- Returns:
- The new attribute path
-
resolve
Description copied from interface:AttributePath
Resolves this attribute path on the given base type and returns the last attribute.- Specified by:
resolve
in interfaceAttributePath<X,B,Y>
- Parameters:
baseType
- The base type- Returns:
- The last attribute
-
resolveAll
Description copied from interface:AttributePath
Resolves this attribute path on the given base type and returns all attributes in order.- Specified by:
resolveAll
in interfaceAttributePath<X,B,Y>
- Parameters:
baseType
- The base type- Returns:
- The attributes in order
-