public class AmetysObjectCollectionFactory extends SimpleAmetysObjectFactory
AmetysObjectCollection
.Modifier and Type | Class and Description |
---|---|
private class |
AmetysObjectCollectionFactory.WrapperNodeIterator |
Modifier and Type | Field and Description |
---|---|
static String |
COLLECTION_ELEMENT_NODETYPE
JCR nodetype for collection elements (ie.
|
static String |
COLLECTION_NODETYPE
JCR nodetype for the collection itself
|
_ametysFactoryExtensionPoint, _manager, _nodetype, _repository, _resolver, _scheme
Constructor and Description |
---|
AmetysObjectCollectionFactory() |
Modifier and Type | Method and Description |
---|---|
private void |
_addFirstLevelChildren(String parentPath,
List<AmetysObjectIterable> iterators,
NodeIterator it,
Session session) |
private void |
_addNextLevelChildren(String parentPath,
List<AmetysObjectIterable> iterators,
NodeIterator it,
Session session) |
void |
configure(Configuration configuration) |
<A extends AmetysObject> |
createChild(String parentPath,
Node parentNode,
String name,
String type)
Creates a child object in the collection and resolve it to an
AmetysObject . |
AmetysObjectCollection |
getAmetysObject(Node node,
String parentPath)
Creates a
AmetysObject from a persistent JCR node. |
AmetysObjectIterable |
getChildren(String parentPath,
Node collectionNode)
Returns the
AmetysObject s children of the JCR Node backing an AmetysObjectCollection .This method should never been called by clients. |
protected String[] |
getHashedPath(String name)
Computes a hashed path in the JCR tree from the name of the child object.
Subclasses may override this method to provide a more suitable hash function. This implementation relies on the buzhash algorithm. |
Collection<String> |
getNodetypes()
Returns the nodetypes of the
Node associated with this factory. |
<A extends AmetysObject> |
getObject(String parentPath,
Node node,
String subPath)
Returns a single
AmetysObject given its path and JCR Node.This method should never been called by clients. |
AmetysObject |
getParent(AmetysObjectCollection object)
Returns the parent of the given
AmetysObjectCollection |
String |
getScheme()
Returns the protocol of this factory, used to construct unique ids.
|
getAmetysObjectById, getAmetysObjectById, getNode, getParent, getWorkspaceNode, hasAmetysObjectForId, service
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
public static final String COLLECTION_NODETYPE
public static final String COLLECTION_ELEMENT_NODETYPE
public AmetysObjectCollectionFactory()
public void configure(Configuration configuration) throws ConfigurationException
configure
in interface Configurable
configure
in class SimpleAmetysObjectFactory
ConfigurationException
public String getScheme()
AmetysObjectFactory
getScheme
in interface AmetysObjectFactory<SimpleAmetysObject>
getScheme
in class SimpleAmetysObjectFactory
public Collection<String> getNodetypes()
JCRAmetysObjectFactory
Node
associated with this factory.getNodetypes
in interface JCRAmetysObjectFactory<SimpleAmetysObject>
getNodetypes
in class SimpleAmetysObjectFactory
Node
.public AmetysObjectCollection getAmetysObject(Node node, String parentPath) throws AmetysRepositoryException, RepositoryException
JCRAmetysObjectFactory
AmetysObject
from a persistent JCR node.getAmetysObject
in interface JCRAmetysObjectFactory<SimpleAmetysObject>
getAmetysObject
in class SimpleAmetysObjectFactory
node
- the JCR node to use.parentPath
- the parent Path in the Ametys hierarchy,
may be null
if not known yet.AmetysRepositoryException
- if an error occurs.RepositoryException
- if a JCR error occurs.protected String[] getHashedPath(String name)
name
- the name of the child objectpublic AmetysObject getParent(AmetysObjectCollection object) throws AmetysRepositoryException
AmetysObjectCollection
object
- an AmetysObjectCollection
AmetysObjectCollection
AmetysRepositoryException
- if an error occurspublic <A extends AmetysObject> A getObject(String parentPath, Node node, String subPath) throws AmetysRepositoryException
AmetysObject
given its path and JCR Node.A
- the type of the composite AmetysObject
.parentPath
- the path of the collectionnode
- the node of the childsubPath
- the subpath in the Ametys hierarchyAmetysObject
AmetysRepositoryException
- if an error occurs.public <A extends AmetysObject> A createChild(String parentPath, Node parentNode, String name, String type) throws AmetysRepositoryException
AmetysObject
.A
- the type of the composite AmetysObject
.parentPath
- the parentPath of the new object.parentNode
- the parent JCR Node of the new object, corresponding to a collection element.name
- the name of the new object.type
- the type of the Node backing the new object.AmetysObject
.AmetysRepositoryException
- if an error occurs.public AmetysObjectIterable getChildren(String parentPath, Node collectionNode)
AmetysObject
s children of the JCR Node backing an AmetysObjectCollection
.parentPath
- the parent path in the Ametys hierarchy of all AmetysObject
being returned.collectionNode
- the JCR Node backing the AmetysObjectCollection
.AmetysObject
s children.private void _addFirstLevelChildren(String parentPath, List<AmetysObjectIterable> iterators, NodeIterator it, Session session) throws RepositoryException
RepositoryException
private void _addNextLevelChildren(String parentPath, List<AmetysObjectIterable> iterators, NodeIterator it, Session session) throws RepositoryException
RepositoryException