entities);
/**
* Lock a node
* @param nodeId
* @param lockInfo
* @param parameters
* @return
*/
Node lock(String nodeId, LockInfo lockInfo, Parameters parameters);
/**
* Unlock a node
* @param nodeId
* @param parameters
* @return
*/
Node unlock(String nodeId, Parameters parameters);
/**
* Convert from node properties (map of QName to Serializable) retrieved from
* the respository to a map of String to Object that can be formatted/expressed
* as required by the API JSON response for get nodes, get person etc.
*
* Returns null if there are no properties to return, rather than an empty map.
*
* @param nodeProps
* @param selectParam
* @param mapUserInfo
* @param excludedNS
* @param excludedProps
* @return The map of properties, or null if none to return.
*/
Map mapFromNodeProperties(Map nodeProps, List selectParam, Map mapUserInfo, List excludedNS, List excludedProps);
/**
* Map from the JSON API format of properties (String to Object) to
* the typical node properties map used by the repository (QName to Serializable).
*
* @param props
* @return
*/
Map mapToNodeProperties(Map props);
/**
* Returns the path to the given nodeRef {@code nodeRefIn} or the archived nodeRef {@code archivedParentAssoc}.
*
* @param nodeRefIn the NodeRef
* @param archivedParentAssoc the ChildAssociationRef of the archived NodeRef
* @return the path to the given node
*/
PathInfo lookupPathInfo(NodeRef nodeRefIn, ChildAssociationRef archivedParentAssoc);
/**
* Map from a String representation of aspect names to a set
* of QName objects, as used by the repository.
*
* @param aspectNames
* @return
*/
Set mapToNodeAspects(List aspectNames);
/**
* Map from aspects (Set of QName) retrieved from the repository to a
* map List of String required that can be formatted/expressed as required
* by the API JSON response for get nodes, get person etc.
*
* Returns null if there are no aspect names to return, rather than an empty list.
*
* @param nodeAspects
* @param excludedNS
* @param excludedAspects
* @return The list of aspect names, or null if none to return.
*/
List mapFromNodeAspects(Set nodeAspects, List excludedNS, List excludedAspects);
/**
* Add aspects to the specified NodeRef. Aspects that appear in the exclusions list
* will be ignored.
*
* @param nodeRef
* @param aspectNames
* @param exclusions
*/
void addCustomAspects(NodeRef nodeRef, List aspectNames, List exclusions);
/**
* Update aspects for the specified NodeRef. An empty list will result in
* aspects being removed.
*
* @param nodeRef
* @param aspectNames
* @param exclusions
*/
void updateCustomAspects(NodeRef nodeRef, List aspectNames, List exclusions);
/**
* API Constants - query parameters, etc
*/
String PATH_ROOT = "-root-";
String PATH_MY = "-my-";
String PATH_SHARED = "-shared-";
String OP_CREATE = "create";
String OP_DELETE = "delete";
String OP_UPDATE = "update";
String OP_UPDATE_PERMISSIONS = "updatePermissions";
String PARAM_RELATIVE_PATH = "relativePath";
String PARAM_PERMANENT = "permanent";
String PARAM_INCLUDE_PROPERTIES = "properties";
String PARAM_INCLUDE_PATH = "path";
String PARAM_INCLUDE_ASPECTNAMES = "aspectNames";
String PARAM_INCLUDE_ISLINK = "isLink";
String PARAM_INCLUDE_ISLOCKED = "isLocked";
String PARAM_INCLUDE_ALLOWABLEOPERATIONS = "allowableOperations";
String PARAM_INCLUDE_PERMISSIONS = "permissions";
String PARAM_INCLUDE_ASSOCIATION = "association";
String PARAM_ISFOLDER = "isFolder";
String PARAM_ISFILE = "isFile";
String PARAM_INCLUDE_SUBTYPES = "INCLUDESUBTYPES";
String PARAM_NAME = "name";
String PARAM_CREATEDAT = "createdAt";
String PARAM_MODIFIEDAT = "modifiedAt";
String PARAM_CREATEBYUSER = "createdByUser";
String PARAM_MODIFIEDBYUSER = "modifiedByUser";
String PARAM_MIMETYPE = "mimeType";
String PARAM_SIZEINBYTES = "sizeInBytes";
String PARAM_NODETYPE = "nodeType";
String PARAM_VERSION_MAJOR = "majorVersion"; // true if major, false if minor
String PARAM_VERSION_COMMENT = "comment";
String PARAM_OVERWRITE = "overwrite";
String PARAM_AUTO_RENAME = "autoRename";
String PARAM_ISPRIMARY = "isPrimary";
String PARAM_ASSOC_TYPE = "assocType";
}