Class TraversableAmetysObjectHelper
- java.lang.Object
-
- org.ametys.plugins.repository.jcr.TraversableAmetysObjectHelper
-
public final class TraversableAmetysObjectHelper extends Object
Helper for implementingTraversableAmetysObjectstored in JCR.
-
-
Constructor Summary
Constructors Modifier Constructor Description privateTraversableAmetysObjectHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void_checkLock(Node node)private static String_computeSubPath(String[] pathElements, int beginIndex)private static String_escape(String qName)private static VirtualAmetysObjectFactory_getVirtualFactory(String id, AmetysObjectFactoryExtensionPoint ametysFactoryExtensionPoint, Logger logger)static <A extends AmetysObject>
AcreateChild(JCRTraversableAmetysObject object, JCRAmetysObjectFactory factory, String name, String type, AmetysObjectFactoryExtensionPoint ametysFactoryExtensionPoint, AmetysObjectResolver resolver, Logger logger)Creates a child to the given object.static <A extends AmetysObject>
AgetChild(JCRTraversableAmetysObject object, JCRAmetysObjectFactory factory, String path, AmetysObjectResolver resolver, Logger logger)Returns theAmetysObjectat the given subPath, relative to the givenDefaultTraversableAmetysObject.static <A extends AmetysObject>
AmetysObjectIterable<A>getChildren(JCRTraversableAmetysObject object, JCRAmetysObjectFactory factory, AmetysObjectResolver resolver, Logger logger)Returns all children of the givenDefaultTraversableAmetysObject.static booleanhasChild(JCRTraversableAmetysObject object, String name, AmetysObjectFactoryExtensionPoint ametysFactoryExtensionPoint, Logger logger)Tests if a given object has a child with a given name.
-
-
-
Constructor Detail
-
TraversableAmetysObjectHelper
private TraversableAmetysObjectHelper()
-
-
Method Detail
-
getChild
public static <A extends AmetysObject> A getChild(JCRTraversableAmetysObject object, JCRAmetysObjectFactory factory, String path, AmetysObjectResolver resolver, Logger logger) throws AmetysRepositoryException, UnknownAmetysObjectException
Returns theAmetysObjectat the given subPath, relative to the givenDefaultTraversableAmetysObject.- Type Parameters:
A- the actual type ofAmetysObject.- Parameters:
object- the contextDefaultTraversableAmetysObject.factory- the correspondingJCRAmetysObjectFactory.path- the sub path. Cannot benull, empty or absolute.resolver- theAmetysObjectResolver.logger- aLoggerfor traces.- Returns:
- the
AmetysObjectat the given subPath, relative to the givenDefaultTraversableAmetysObject. - Throws:
AmetysRepositoryException- if an error occurs.UnknownAmetysObjectException- if no such object exists.
-
_computeSubPath
private static String _computeSubPath(String[] pathElements, int beginIndex)
-
getChildren
public static <A extends AmetysObject> AmetysObjectIterable<A> getChildren(JCRTraversableAmetysObject object, JCRAmetysObjectFactory factory, AmetysObjectResolver resolver, Logger logger) throws AmetysRepositoryException
Returns all children of the givenDefaultTraversableAmetysObject.- Type Parameters:
A- the actual type ofAmetysObjects- Parameters:
object- aDefaultTraversableAmetysObject.factory- the correspondingJCRAmetysObjectFactory.resolver- theAmetysObjectResolver.logger- aLoggerfor traces.- Returns:
- a List containing all children object in the Ametys hierarchy.
- Throws:
AmetysRepositoryException- if an error occurs.
-
hasChild
public static boolean hasChild(JCRTraversableAmetysObject object, String name, AmetysObjectFactoryExtensionPoint ametysFactoryExtensionPoint, Logger logger) throws AmetysRepositoryException
Tests if a given object has a child with a given name.- Parameters:
object- the context object.name- the name to test.ametysFactoryExtensionPoint- theAmetysObjectFactoryExtensionPoint.logger- aLoggerfor traces.- Returns:
trueis the given object has a child with the given name,falseotherwise.- Throws:
AmetysRepositoryException- if an error occurs.
-
_getVirtualFactory
private static VirtualAmetysObjectFactory _getVirtualFactory(String id, AmetysObjectFactoryExtensionPoint ametysFactoryExtensionPoint, Logger logger)
-
createChild
public static <A extends AmetysObject> A createChild(JCRTraversableAmetysObject object, JCRAmetysObjectFactory factory, String name, String type, AmetysObjectFactoryExtensionPoint ametysFactoryExtensionPoint, AmetysObjectResolver resolver, Logger logger) throws AmetysRepositoryException
Creates a child to the given object.- Type Parameters:
A- the actual type ofAmetysObject.- Parameters:
object- the parentAmetysObject.factory- the correspondingJCRAmetysObjectFactory.name- the new object's name.type- the new object's type.ametysFactoryExtensionPoint- theAmetysObjectFactoryExtensionPoint.resolver- theAmetysObjectResolver.logger- aLoggerfor traces.- Returns:
- the newly created
AmetysObject. - Throws:
AmetysRepositoryException- if an error occurs.
-
_checkLock
private static void _checkLock(Node node) throws RepositoryException
- Throws:
RepositoryException
-
-