public class DefaultContentCreator extends Object implements ContentCreator
ContentLoader
creates the nodes and properties.Constructor and Description |
---|
DefaultContentCreator(ContentHelper contentHelper)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
checkoutIfNecessary(javax.jcr.Node node)
Checkout the node if needed
|
void |
clear()
Clear the content loader.
|
void |
createAce(String principalId,
String[] grantedPrivilegeNames,
String[] deniedPrivilegeNames,
String order)
Creates an Access Control Entry for the current node for the specified
principal and privileges.
|
void |
createAce(String principalId,
String[] grantedPrivilegeNames,
String[] deniedPrivilegeNames,
String order,
Map<String,javax.jcr.Value> restrictions,
Map<String,javax.jcr.Value[]> mvRestrictions,
Set<String> removedRestrictionNames)
Creates an Access Control Entry for the current node for the specified
principal and privileges.
|
void |
createFileAndResourceNode(String name,
InputStream data,
String mimeType,
long lastModified)
Create a file and a resource node.
|
void |
createGroup(String name,
String[] members,
Map<String,Object> extraProperties)
Create a Group in the jackrabbit UserManager
|
void |
createNode(String name,
String primaryNodeType,
String[] mixinNodeTypes)
Create a new node.
|
void |
createProperty(String name,
int propertyType,
String value)
Create a new property to the current node.
|
void |
createProperty(String name,
int propertyType,
String[] values)
Create a new multi value property to the current node.
|
void |
createProperty(String name,
Object value)
Add a new property to the current node.
|
void |
createProperty(String name,
Object[] values)
Add a new multi value property to the current node.
|
void |
createUser(String name,
String password,
Map<String,Object> extraProperties)
Create a User in the jackrabbit UserManager
|
protected javax.jcr.Value |
createValue(javax.jcr.ValueFactory factory,
Object value) |
static String |
digest(String algorithm,
byte[] data)
Digest the plain string using the given algorithm.
|
protected javax.jcr.Node |
findVersionableAncestor(javax.jcr.Node node)
Find an ancestor that is versionable
|
void |
finishNode()
Indicates that a node is finished.
|
Map<String,ContentReader> |
getContentReaders()
Get all active content readers.
|
javax.jcr.Node |
getCreatedRootNode()
Get the created root node.
|
javax.jcr.Node |
getParent()
Gets the current parent Node
|
List<javax.jcr.Node> |
getVersionables()
Get the list of versionable nodes.
|
protected String |
hashPath(String item) |
void |
init(ImportOptions pathEntry,
Map<String,ContentReader> defaultContentReaders,
List<String> createdNodes,
ContentImportListener importListener)
Initialize this component.
|
protected boolean |
isVersionable(javax.jcr.Node node) |
void |
prepareParsing(javax.jcr.Node parentNode,
String defaultName)
If the defaultName is null, we are in PARENT_NODE import mode.
|
void |
setIgnoreOverwriteFlag(boolean flag)
Set the ignore overwrite flag.
|
boolean |
switchCurrentNode(String subPath,
String newNodeType)
Switch the current node to the path (which must be relative
to the current node).
|
public DefaultContentCreator(ContentHelper contentHelper)
contentHelper
- Helper class to get the mime type of a filepublic void init(ImportOptions pathEntry, Map<String,ContentReader> defaultContentReaders, List<String> createdNodes, ContentImportListener importListener)
pathEntry
- The configuration for this import.defaultContentReaders
- List of all content readers.createdNodes
- Optional list to store new nodes (for uninstall)public void prepareParsing(javax.jcr.Node parentNode, String defaultName)
parentNode
- defaultName
- public List<javax.jcr.Node> getVersionables()
public void clear()
public void setIgnoreOverwriteFlag(boolean flag)
flag
- public javax.jcr.Node getCreatedRootNode()
public Map<String,ContentReader> getContentReaders()
public void createNode(String name, String primaryNodeType, String[] mixinNodeTypes) throws javax.jcr.RepositoryException
ContentCreator
ContentCreator.finishNode()
must be called.createNode
in interface ContentCreator
name
- The name of the node.primaryNodeType
- The primary node type or null.mixinNodeTypes
- The mixin node types or null.javax.jcr.RepositoryException
- If anything goes wrong.ContentCreator.createNode(java.lang.String, java.lang.String, java.lang.String[])
public void createProperty(String name, int propertyType, String value) throws javax.jcr.RepositoryException
ContentCreator
createProperty
in interface ContentCreator
name
- The property name.propertyType
- The type of the property.value
- The string value.javax.jcr.RepositoryException
ContentCreator.createProperty(java.lang.String, int, java.lang.String)
public void createProperty(String name, int propertyType, String[] values) throws javax.jcr.RepositoryException
ContentCreator
createProperty
in interface ContentCreator
name
- The property name.propertyType
- The type of the property.values
- The string values.javax.jcr.RepositoryException
ContentCreator.createProperty(java.lang.String, int, java.lang.String[])
protected javax.jcr.Value createValue(javax.jcr.ValueFactory factory, Object value) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException
public void createProperty(String name, Object value) throws javax.jcr.RepositoryException
ContentCreator
createProperty
in interface ContentCreator
name
- The property name.value
- The value.javax.jcr.RepositoryException
ContentCreator.createProperty(java.lang.String, java.lang.Object)
public void createProperty(String name, Object[] values) throws javax.jcr.RepositoryException
ContentCreator
createProperty
in interface ContentCreator
name
- The property name.values
- The values.javax.jcr.RepositoryException
ContentCreator.createProperty(java.lang.String, java.lang.Object[])
public void finishNode() throws javax.jcr.RepositoryException
ContentCreator
finishNode
in interface ContentCreator
javax.jcr.RepositoryException
ContentCreator.finishNode()
public void createFileAndResourceNode(String name, InputStream data, String mimeType, long lastModified) throws javax.jcr.RepositoryException
ContentCreator
ContentCreator.finishNode()
to be on the same level as before the file creation.createFileAndResourceNode
in interface ContentCreator
name
- The name of the file nodedata
- The data of the filemimeType
- The mime type or nulllastModified
- The last modified or -1javax.jcr.RepositoryException
ContentCreator.createFileAndResourceNode(java.lang.String, java.io.InputStream, java.lang.String, long)
public boolean switchCurrentNode(String subPath, String newNodeType) throws javax.jcr.RepositoryException
ContentCreator
ContentCreator.finishNode()
must be called.switchCurrentNode
in interface ContentCreator
subPath
- The relative pathnewNodeType
- Node type for newly created nodes.javax.jcr.RepositoryException
ContentCreator.switchCurrentNode(java.lang.String, java.lang.String)
public void createGroup(String name, String[] members, Map<String,Object> extraProperties) throws javax.jcr.RepositoryException
ContentCreator
createGroup
in interface ContentCreator
name
- the name of the groupmembers
- the members of the group (principal names)extraProperties
- extra properties to assign to the created groupjavax.jcr.RepositoryException
public void createUser(String name, String password, Map<String,Object> extraProperties) throws javax.jcr.RepositoryException
ContentCreator
createUser
in interface ContentCreator
name
- the name of the userpassword
- the password of the userextraProperties
- extra properties to assign to the created userjavax.jcr.RepositoryException
protected String hashPath(String item) throws javax.jcr.RepositoryException
item
- javax.jcr.RepositoryException
public void createAce(String principalId, String[] grantedPrivilegeNames, String[] deniedPrivilegeNames, String order) throws javax.jcr.RepositoryException
ContentCreator
createAce
in interface ContentCreator
principalId
- the user or group id for the ACEgrantedPrivilegeNames
- the set of privileges to grant the principaldeniedPrivilegeNames
- the set of privileges to deny the principal (for users only)order
- specifies the position of the ACE in the containing ACL. (may be null)
Value should be one of these:
first | Place the target ACE as the first amongst its siblings |
last | Place the target ACE as the last amongst its siblings |
before xyz | Place the target ACE immediately before the sibling whose name is xyz |
after xyz | Place the target ACE immediately after the sibling whose name is xyz |
numeric | Place the target ACE at the specified index |
javax.jcr.RepositoryException
public void createAce(String principalId, String[] grantedPrivilegeNames, String[] deniedPrivilegeNames, String order, Map<String,javax.jcr.Value> restrictions, Map<String,javax.jcr.Value[]> mvRestrictions, Set<String> removedRestrictionNames) throws javax.jcr.RepositoryException
ContentCreator
createAce
in interface ContentCreator
principalId
- the user or group id for the ACEgrantedPrivilegeNames
- the set of privileges to grant the principaldeniedPrivilegeNames
- the set of privileges to deny the principal (for users only)order
- specifies the position of the ACE in the containing ACL. (may be null)
Value should be one of these:
first | Place the target ACE as the first amongst its siblings |
last | Place the target ACE as the last amongst its siblings |
before xyz | Place the target ACE immediately before the sibling whose name is xyz |
after xyz | Place the target ACE immediately after the sibling whose name is xyz |
numeric | Place the target ACE at the specified index |
restrictions
- specifies additional Map of single-value restrictions to apply. (optional)mvRestrictions
- specifies additional Map of multi-value restrictions to apply. (optional)removedRestrictionNames
- optional set of restriction names that should be removed (if they already exist).javax.jcr.RepositoryException
public javax.jcr.Node getParent()
ContentCreator
getParent
in interface ContentCreator
public static String digest(String algorithm, byte[] data) throws NoSuchAlgorithmException
algorithm
- The alogrithm for the digest. This algorithm must be
supported by the MessageDigest class.data
- the data to digest with the given algorithmNoSuchAlgorithmException
- if the desired algorithm is not supported by
the MessageDigest class.protected javax.jcr.Node findVersionableAncestor(javax.jcr.Node node) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException
protected boolean isVersionable(javax.jcr.Node node) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException
protected void checkoutIfNecessary(javax.jcr.Node node) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException
Copyright © 2007–2018 The Apache Software Foundation. All rights reserved.