Immutable holder of a selection path within a Cayenne project. Mostly used by various tools (CayenneModeler comes to mind) to navigate Cayenne projects. Contains a number of convenience methods to access path elements.
For instance, given a path Project -> DataMap -> ObjEntity -> ObjAttribute, getObject will return ObjAttribute, getObjectParent- ObjEntity, getRoot- Project.
@author Andrus Adamchik