Package org.hibernate.spi
Class NavigablePath
- java.lang.Object
-
- org.hibernate.spi.NavigablePath
-
- All Implemented Interfaces:
Serializable,DotIdentifierSequence
- Direct Known Subclasses:
EntityIdentifierNavigablePath,TreatedNavigablePath
@Incubating public class NavigablePath extends Object implements DotIdentifierSequence, Serializable
A compound name where the root path element is an entity name or a collection role and each the path sub-path from the root references a domain or mapping model part relative to a root path.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceNavigablePath.FullPathCalculatorDeprecated, for removal: This API element is subject to removal in a future version.No longer usedprotected static classNavigablePath.RelativePathCollector
-
Field Summary
Fields Modifier and Type Field Description static StringIDENTIFIER_MAPPER_PROPERTY
-
Constructor Summary
Constructors Constructor Description NavigablePath(@Nullable NavigablePath parent, String localName, @Nullable String alias, String identifierForTableGroup, int hashCode)NavigablePath(@Nullable NavigablePath parent, String localName, @Nullable String alias, String identifierForTableGroup, NavigablePath.FullPathCalculator fullPathCalculator, int hashCode)Deprecated, for removal: This API element is subject to removal in a future version.SinceNavigablePath.FullPathCalculatoris no longer usedNavigablePath(String localName)NavigablePath(String rootName, @Nullable String alias)NavigablePath(NavigablePath parent, String navigableName)NavigablePath(NavigablePath parent, String localName, @Nullable String alias)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description NavigablePathappend(String property)Append a new part to the end of this sequence, returning the new representation.NavigablePathappend(String property, String alias)protected static StringcalculateIdMapperFullPath(@Nullable NavigablePath parent, String localName, @Nullable String alias)Deprecated, for removal: This API element is subject to removal in a future version.No longer usedprotected static StringcalculateRootFullPath(@Nullable NavigablePath parent, String rootName, @Nullable String alias)Deprecated, for removal: This API element is subject to removal in a future version.No longer usedbooleanequals(@Nullable Object other)@Nullable StringgetAlias()StringgetFullPath()The full sequence text.StringgetIdentifierForTableGroup()StringgetLocalName()The name of this leaf sequence part.@Nullable NavigablePathgetParent()The parent sequence part.@Nullable NavigablePathgetRealParent()inthashCode()booleanisAliased()booleanisParent(@Nullable NavigablePath navigablePath)Determine whether this path is part of the given path's parentbooleanisParentOrEqual(@Nullable NavigablePath navigablePath)Determine whether this path is part of the given path's parentbooleanisSuffix(@Nullable DotIdentifierSequence dotIdentifierSequence)Determine whether the given path is a suffix of this pathprotected booleanlocalNamesMatch(DotIdentifierSequence other)protected booleanlocalNamesMatch(EntityIdentifierNavigablePath other)booleanpathsMatch(@Nullable NavigablePath p)@Nullable Stringrelativize(NavigablePath base)Ignores aliases in the resulting Stringprotected voidrelativize(NavigablePath base, NavigablePath.RelativePathCollector collector)StringtoString()NavigablePathtreatAs(String entityName)NavigablePathtreatAs(String entityName, String alias)@Nullable NavigablePathtrimSuffix(@Nullable DotIdentifierSequence suffix)Removes the suffix part from the NavigablePath, when the NavigablePath does not contain the suffix it returns null;-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.hibernate.spi.DotIdentifierSequence
getParts, isRoot
-
-
-
-
Field Detail
-
IDENTIFIER_MAPPER_PROPERTY
public static final String IDENTIFIER_MAPPER_PROPERTY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
NavigablePath
public NavigablePath(String localName)
-
NavigablePath
public NavigablePath(NavigablePath parent, String navigableName)
-
NavigablePath
public NavigablePath(NavigablePath parent, String localName, @Nullable String alias)
-
NavigablePath
@Deprecated(since="6.6", forRemoval=true) public NavigablePath(@Nullable NavigablePath parent, String localName, @Nullable String alias, String identifierForTableGroup, NavigablePath.FullPathCalculator fullPathCalculator, int hashCode)
Deprecated, for removal: This API element is subject to removal in a future version.SinceNavigablePath.FullPathCalculatoris no longer used
-
NavigablePath
public NavigablePath(@Nullable NavigablePath parent, String localName, @Nullable String alias, String identifierForTableGroup, int hashCode)
-
-
Method Detail
-
getParent
public @Nullable NavigablePath getParent()
Description copied from interface:DotIdentifierSequenceThe parent sequence part.Given the sequence
a.b.c, returns the sequencea.b.- Specified by:
getParentin interfaceDotIdentifierSequence
-
getLocalName
public String getLocalName()
Description copied from interface:DotIdentifierSequenceThe name of this leaf sequence part.Given the sequence
a.b.c, returns the string"c".- Specified by:
getLocalNamein interfaceDotIdentifierSequence
-
getAlias
public @Nullable String getAlias()
-
isAliased
public boolean isAliased()
-
getIdentifierForTableGroup
public String getIdentifierForTableGroup()
-
localNamesMatch
protected boolean localNamesMatch(DotIdentifierSequence other)
-
localNamesMatch
protected boolean localNamesMatch(EntityIdentifierNavigablePath other)
-
append
public NavigablePath append(String property)
Description copied from interface:DotIdentifierSequenceAppend a new part to the end of this sequence, returning the new representation.Given the sequence
a.b.c, appendingdresults in the new sequencea.b.c.d.- Specified by:
appendin interfaceDotIdentifierSequence
-
append
public NavigablePath append(String property, String alias)
-
treatAs
public NavigablePath treatAs(String entityName)
-
treatAs
public NavigablePath treatAs(String entityName, String alias)
-
getRealParent
public @Nullable NavigablePath getRealParent()
-
isParent
public boolean isParent(@Nullable NavigablePath navigablePath)
Determine whether this path is part of the given path's parent
-
isSuffix
public boolean isSuffix(@Nullable DotIdentifierSequence dotIdentifierSequence)
Determine whether the given path is a suffix of this path
-
trimSuffix
public @Nullable NavigablePath trimSuffix(@Nullable DotIdentifierSequence suffix)
Removes the suffix part from the NavigablePath, when the NavigablePath does not contain the suffix it returns null;- Parameters:
suffix- the part to remove from the NavigablePath- Returns:
- the NavigablePath stripped of the suffix part or null if the NavigablePath does not contain the suffix.
-
isParentOrEqual
public boolean isParentOrEqual(@Nullable NavigablePath navigablePath)
Determine whether this path is part of the given path's parent
-
pathsMatch
public boolean pathsMatch(@Nullable NavigablePath p)
-
relativize
public @Nullable String relativize(NavigablePath base)
Ignores aliases in the resulting String
-
relativize
protected void relativize(NavigablePath base, NavigablePath.RelativePathCollector collector)
-
getFullPath
public String getFullPath()
Description copied from interface:DotIdentifierSequenceThe full sequence text.Given the sequence
a.b.c, returns the string"a.b.c".- Specified by:
getFullPathin interfaceDotIdentifierSequence
-
calculateRootFullPath
@Deprecated(since="6.6", forRemoval=true) protected static String calculateRootFullPath(@Nullable NavigablePath parent, String rootName, @Nullable String alias)
Deprecated, for removal: This API element is subject to removal in a future version.No longer usedThe pattern used for root NavigablePaths
-
calculateIdMapperFullPath
@Deprecated(since="6.6", forRemoval=true) protected static String calculateIdMapperFullPath(@Nullable NavigablePath parent, String localName, @Nullable String alias)
Deprecated, for removal: This API element is subject to removal in a future version.No longer usedPattern used for `_identifierMapper`
-
-