Package org.hibernate.spi
Class NavigablePath
- java.lang.Object
-
- org.hibernate.spi.NavigablePath
-
- All Implemented Interfaces:
Serializable,DotIdentifierSequence
- Direct Known Subclasses:
EntityIdentifierNavigablePath,TreatedNavigablePath
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.FullPathCalculatorEffectively a tri-functionprotected static classNavigablePath.RelativePathCollector
-
Field Summary
Fields Modifier and Type Field Description static StringIDENTIFIER_MAPPER_PROPERTY
-
Constructor Summary
Constructors Constructor Description NavigablePath(String localName)NavigablePath(String rootName, String alias)NavigablePath(NavigablePath parent, String navigableName)NavigablePath(NavigablePath parent, String localName, String alias)NavigablePath(NavigablePath parent, String localName, String alias, String identifierForTableGroup, NavigablePath.FullPathCalculator fullPathCalculator, int hashCode)
-
Method Summary
All Methods Static Methods Instance Methods Concrete 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(NavigablePath parent, String localName, String alias)Pattern used for `_identifierMapper`protected static StringcalculateRootFullPath(NavigablePath parent, String rootName, String alias)The pattern used for root NavigablePathsbooleanequals(Object other)StringgetAlias()StringgetFullPath()The full sequence text.StringgetIdentifierForTableGroup()StringgetLocalName()The name of this leaf sequence part.NavigablePathgetParent()The parent sequence part.NavigablePathgetRealParent()inthashCode()booleanisAliased()booleanisParent(NavigablePath navigablePath)Determine whether this path is part of the given path's parentbooleanisParentOrEqual(NavigablePath navigablePath)Determine whether this path is part of the given path's parentbooleanisSuffix(DotIdentifierSequence dotIdentifierSequence)Determine whether the given path is a suffix of this pathprotected booleanlocalNamesMatch(DotIdentifierSequence other)protected booleanlocalNamesMatch(EntityIdentifierNavigablePath other)booleanpathsMatch(NavigablePath p)Stringrelativize(NavigablePath base)Ignores aliases in the resulting Stringprotected voidrelativize(NavigablePath base, NavigablePath.RelativePathCollector collector)StringtoString()NavigablePathtreatAs(String entityName)NavigablePathtreatAs(String entityName, String alias)-
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, String alias)
-
NavigablePath
public NavigablePath(NavigablePath parent, String localName, String alias, String identifierForTableGroup, NavigablePath.FullPathCalculator fullPathCalculator, int hashCode)
-
-
Method Detail
-
getParent
public 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 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 NavigablePath getRealParent()
-
isParent
public boolean isParent(NavigablePath navigablePath)
Determine whether this path is part of the given path's parent
-
isSuffix
public boolean isSuffix(DotIdentifierSequence dotIdentifierSequence)
Determine whether the given path is a suffix of this path
-
isParentOrEqual
public boolean isParentOrEqual(NavigablePath navigablePath)
Determine whether this path is part of the given path's parent
-
pathsMatch
public boolean pathsMatch(NavigablePath p)
-
relativize
public 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
protected static String calculateRootFullPath(NavigablePath parent, String rootName, String alias)
The pattern used for root NavigablePaths
-
calculateIdMapperFullPath
protected static String calculateIdMapperFullPath(NavigablePath parent, String localName, String alias)
Pattern used for `_identifierMapper`
-
-