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
Compound-name where each path references to a domain or mapping model-part relative to a root path. Generally, the root path is an entity-name or a collection-role.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
NavigablePath.FullPathCalculator
Effectively a tri-functionprotected static class
NavigablePath.RelativePathCollector
-
Field Summary
Fields Modifier and Type Field Description static String
IDENTIFIER_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 NavigablePath
append(String property)
Add a new part to the end of this sequence, returning the new representation.NavigablePath
append(String property, String alias)
protected static String
calculateIdMapperFullPath(NavigablePath parent, String localName, String alias)
Pattern used for `_identifierMapper`protected static String
calculateRootFullPath(NavigablePath parent, String rootName, String alias)
The pattern used for root NavigablePathsboolean
equals(Object other)
String
getAlias()
String
getFullPath()
The full sequence text.String
getIdentifierForTableGroup()
String
getLocalName()
The name of this sequence part.NavigablePath
getParent()
The parent sequence part.NavigablePath
getRealParent()
int
hashCode()
boolean
isAliased()
boolean
isParent(NavigablePath navigablePath)
Determine whether this path is part of the given path's parentboolean
isParentOrEqual(NavigablePath navigablePath)
Determine whether this path is part of the given path's parentprotected boolean
localNamesMatch(DotIdentifierSequence other)
protected boolean
localNamesMatch(EntityIdentifierNavigablePath other)
boolean
pathsMatch(NavigablePath p)
String
relativize(NavigablePath base)
Ignores aliases in the resulting Stringprotected void
relativize(NavigablePath base, NavigablePath.RelativePathCollector collector)
String
toString()
NavigablePath
treatAs(String entityName)
NavigablePath
treatAs(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
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:DotIdentifierSequence
The parent sequence part. E.g., given the sequence `a.b.c`, this returns `a.b`- Specified by:
getParent
in interfaceDotIdentifierSequence
-
getLocalName
public String getLocalName()
Description copied from interface:DotIdentifierSequence
The name of this sequence part. E.g., given the sequence `a.b.c`, this returns `c`- Specified by:
getLocalName
in 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:DotIdentifierSequence
Add a new part to the end of this sequence, returning the new representation. E.g., given the sequence `a.b.c` and appending `d` would return a new sequence `a.b.c.d`- Specified by:
append
in 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
-
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:DotIdentifierSequence
The full sequence text. E.g., given the sequence `a.b.c`, this returns `a.b.c`- Specified by:
getFullPath
in 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`
-
-