T - the delegate typepublic class NodeImpl<T extends NodeDelegate> extends Object implements javax.jcr.Node, JackrabbitNode
| Modifier and Type | Field and Description |
|---|---|
protected T |
dlg |
static String |
ITEM_SAVE_DOES_SESSION_SAVE |
static int |
MV_PROPERTY_WARN_THRESHOLD |
static boolean |
SAVE_SESSION
The value of this flag determines the behaviour of
save(). |
protected SessionContext |
sessionContext |
protected SessionDelegate |
sessionDelegate |
| Constructor and Description |
|---|
NodeImpl(T dlg,
SessionContext sessionContext) |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(javax.jcr.ItemVisitor visitor) |
void |
addMixin(String mixinName) |
javax.jcr.Node |
addNode(String relPath) |
javax.jcr.Node |
addNode(String relPath,
String primaryNodeTypeName) |
boolean |
canAddMixin(String mixinName) |
void |
cancelMerge(javax.jcr.version.Version version) |
javax.jcr.version.Version |
checkin() |
void |
checkout() |
protected org.apache.jackrabbit.oak.api.PropertyState |
createMultiState(String oakName,
List<javax.jcr.Value> values,
org.apache.jackrabbit.oak.api.Type<?> type) |
static NodeImpl<? extends NodeDelegate> |
createNode(NodeDelegate delegate,
SessionContext context) |
static NodeImpl<? extends NodeDelegate> |
createNodeOrNull(NodeDelegate delegate,
SessionContext context) |
protected org.apache.jackrabbit.oak.api.PropertyState |
createSingleState(String oakName,
javax.jcr.Value value,
org.apache.jackrabbit.oak.api.Type<?> type) |
void |
doneMerge(javax.jcr.version.Version version) |
void |
followLifecycleTransition(String transition) |
String[] |
getAllowedLifecycleTransistions() |
javax.jcr.Item |
getAncestor(int depth) |
javax.jcr.version.Version |
getBaseVersion() |
String |
getCorrespondingNodePath(String workspaceName) |
javax.jcr.nodetype.NodeDefinition |
getDefinition() |
int |
getDepth() |
String |
getIdentifier() |
int |
getIndex() |
javax.jcr.lock.Lock |
getLock() |
javax.jcr.nodetype.NodeType[] |
getMixinNodeTypes() |
String |
getName() |
javax.jcr.Node |
getNode(String relPath) |
javax.jcr.NodeIterator |
getNodes() |
javax.jcr.NodeIterator |
getNodes(String namePattern) |
javax.jcr.NodeIterator |
getNodes(String[] nameGlobs) |
javax.jcr.Node |
getParent() |
String |
getPath() |
javax.jcr.Item |
getPrimaryItem() |
javax.jcr.nodetype.NodeType |
getPrimaryNodeType() |
javax.jcr.PropertyIterator |
getProperties() |
javax.jcr.PropertyIterator |
getProperties(String namePattern) |
javax.jcr.PropertyIterator |
getProperties(String[] nameGlobs) |
javax.jcr.Property |
getProperty(String relPath) |
javax.jcr.PropertyIterator |
getReferences() |
javax.jcr.PropertyIterator |
getReferences(String name) |
javax.jcr.Session |
getSession() |
javax.jcr.NodeIterator |
getSharedSet() |
String |
getUUID() |
javax.jcr.version.VersionHistory |
getVersionHistory() |
javax.jcr.PropertyIterator |
getWeakReferences() |
javax.jcr.PropertyIterator |
getWeakReferences(String name) |
boolean |
hasNode(String relPath) |
boolean |
hasNodes() |
boolean |
hasProperties() |
boolean |
hasProperty(String relPath) |
boolean |
holdsLock() |
boolean |
isCheckedOut() |
boolean |
isLocked() |
boolean |
isModified() |
boolean |
isNew() |
boolean |
isNode() |
boolean |
isNodeType(String nodeTypeName) |
boolean |
isSame(javax.jcr.Item otherItem) |
javax.jcr.lock.Lock |
lock(boolean isDeep,
boolean isSessionScoped) |
javax.jcr.NodeIterator |
merge(String srcWorkspace,
boolean bestEffort) |
void |
orderBefore(String srcChildRelPath,
String destChildRelPath) |
protected <U> U |
perform(SessionOperation<U> op)
Perform the passed
SessionOperation. |
void |
refresh(boolean keepChanges) |
void |
remove() |
void |
removeMixin(String mixinName) |
void |
removeShare() |
void |
removeSharedSet() |
void |
rename(String newName)
Simplified implementation of
JackrabbitNode.rename(String). |
void |
restore(String versionName,
boolean removeExisting) |
void |
restore(javax.jcr.version.Version version,
boolean removeExisting) |
void |
restore(javax.jcr.version.Version version,
String relPath,
boolean removeExisting) |
void |
restoreByLabel(String versionLabel,
boolean removeExisting) |
void |
save()
|
void |
setMixins(String[] mixinNames)
Simplified implementation of the
JackrabbitNode.setMixins(String[])
method that adds all mixin types that are not yet present on this node
and removes all mixins that are no longer contained in the specified
array. |
void |
setPrimaryType(String nodeTypeName) |
javax.jcr.Property |
setProperty(String name,
BigDecimal value) |
javax.jcr.Property |
setProperty(String name,
javax.jcr.Binary value) |
javax.jcr.Property |
setProperty(String name,
boolean value) |
javax.jcr.Property |
setProperty(String name,
Calendar value) |
javax.jcr.Property |
setProperty(String name,
double value) |
javax.jcr.Property |
setProperty(String name,
InputStream value) |
javax.jcr.Property |
setProperty(String name,
long value) |
javax.jcr.Property |
setProperty(String name,
javax.jcr.Node value) |
javax.jcr.Property |
setProperty(String name,
String value) |
javax.jcr.Property |
setProperty(String name,
String[] values) |
javax.jcr.Property |
setProperty(String name,
String[] values,
int type) |
javax.jcr.Property |
setProperty(String name,
String value,
int type) |
javax.jcr.Property |
setProperty(String name,
javax.jcr.Value value) |
javax.jcr.Property |
setProperty(String name,
javax.jcr.Value[] values) |
javax.jcr.Property |
setProperty(String jcrName,
javax.jcr.Value[] values,
int type) |
javax.jcr.Property |
setProperty(String name,
javax.jcr.Value value,
int type) |
String |
toString() |
void |
unlock() |
void |
update(String srcWorkspace) |
public static final String ITEM_SAVE_DOES_SESSION_SAVE
public static final int MV_PROPERTY_WARN_THRESHOLD
public static final boolean SAVE_SESSION
save(). If false,
save will throw a UnsupportedRepositoryOperationException if the
sub tree rooted at this item does not contain all transient changes. If
true, save will delegate to Session.save().protected final SessionContext sessionContext
protected final T extends ItemDelegate dlg
protected final SessionDelegate sessionDelegate
public NodeImpl(T dlg, SessionContext sessionContext)
@CheckForNull public static NodeImpl<? extends NodeDelegate> createNodeOrNull(@CheckForNull NodeDelegate delegate, @Nonnull SessionContext context) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException@Nonnull public static NodeImpl<? extends NodeDelegate> createNode(@Nonnull NodeDelegate delegate, @Nonnull SessionContext context) throws javax.jcr.RepositoryException
javax.jcr.RepositoryExceptionpublic boolean isNode()
isNode in interface javax.jcr.ItemItem.isNode()@Nonnull public javax.jcr.Node getParent() throws javax.jcr.RepositoryException
getParent in interface javax.jcr.Itemjavax.jcr.RepositoryExceptionItem.getParent()public boolean isNew()
isNew in interface javax.jcr.ItemItem.isNew()public boolean isModified()
isModified in interface javax.jcr.ItemItem.isModified()public void remove()
throws javax.jcr.RepositoryException
remove in interface javax.jcr.Itemjavax.jcr.RepositoryExceptionItem.remove()public void accept(javax.jcr.ItemVisitor visitor)
throws javax.jcr.RepositoryException
accept in interface javax.jcr.Itemjavax.jcr.RepositoryException@Nonnull public javax.jcr.Node addNode(String relPath) throws javax.jcr.RepositoryException
addNode in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.addNode(String)@Nonnull public javax.jcr.Node addNode(String relPath, String primaryNodeTypeName) throws javax.jcr.RepositoryException
addNode in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic void orderBefore(String srcChildRelPath, String destChildRelPath) throws javax.jcr.RepositoryException
orderBefore in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, javax.jcr.Value value) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, javax.jcr.Value value, int type) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, javax.jcr.Value[] values) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String jcrName, javax.jcr.Value[] values, int type) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, String[] values) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, String[] values, int type) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, String value) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, String value, int type) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, InputStream value) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, javax.jcr.Binary value) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, boolean value) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, double value) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, BigDecimal value) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, long value) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, Calendar value) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property setProperty(String name, javax.jcr.Node value) throws javax.jcr.RepositoryException
setProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Node getNode(String relPath) throws javax.jcr.RepositoryException
getNode in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.NodeIterator getNodes() throws javax.jcr.RepositoryException
getNodes in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.NodeIterator getNodes(String namePattern) throws javax.jcr.RepositoryException
getNodes in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.NodeIterator getNodes(String[] nameGlobs) throws javax.jcr.RepositoryException
getNodes in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Property getProperty(String relPath) throws javax.jcr.RepositoryException
getProperty in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.PropertyIterator getProperties() throws javax.jcr.RepositoryException
getProperties in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.PropertyIterator getProperties(String namePattern) throws javax.jcr.RepositoryException
getProperties in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.PropertyIterator getProperties(String[] nameGlobs) throws javax.jcr.RepositoryException
getProperties in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.Item getPrimaryItem() throws javax.jcr.RepositoryException
getPrimaryItem in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.getPrimaryItem()@Nonnull public String getUUID() throws javax.jcr.RepositoryException
getUUID in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.getUUID()@Nonnull public String getIdentifier() throws javax.jcr.RepositoryException
getIdentifier in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic int getIndex()
throws javax.jcr.RepositoryException
getIndex in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.PropertyIterator getReferences() throws javax.jcr.RepositoryException
getReferences in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.getReferences()@Nonnull public javax.jcr.PropertyIterator getReferences(String name) throws javax.jcr.RepositoryException
getReferences in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.PropertyIterator getWeakReferences() throws javax.jcr.RepositoryException
getWeakReferences in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.getWeakReferences()@Nonnull public javax.jcr.PropertyIterator getWeakReferences(String name) throws javax.jcr.RepositoryException
getWeakReferences in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic boolean hasNode(String relPath) throws javax.jcr.RepositoryException
hasNode in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic boolean hasProperty(String relPath) throws javax.jcr.RepositoryException
hasProperty in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic boolean hasNodes()
throws javax.jcr.RepositoryException
hasNodes in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic boolean hasProperties()
throws javax.jcr.RepositoryException
hasProperties in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.nodetype.NodeType getPrimaryNodeType() throws javax.jcr.RepositoryException
getPrimaryNodeType in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.getPrimaryNodeType()@Nonnull public javax.jcr.nodetype.NodeType[] getMixinNodeTypes() throws javax.jcr.RepositoryException
getMixinNodeTypes in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.getMixinNodeTypes()public boolean isNodeType(String nodeTypeName) throws javax.jcr.RepositoryException
isNodeType in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic void setPrimaryType(String nodeTypeName) throws javax.jcr.RepositoryException
setPrimaryType in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic void addMixin(String mixinName) throws javax.jcr.RepositoryException
addMixin in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic void removeMixin(String mixinName) throws javax.jcr.RepositoryException
removeMixin in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic boolean canAddMixin(String mixinName) throws javax.jcr.RepositoryException
canAddMixin in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.nodetype.NodeDefinition getDefinition() throws javax.jcr.RepositoryException
getDefinition in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public String getCorrespondingNodePath(String workspaceName) throws javax.jcr.RepositoryException
getCorrespondingNodePath in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic void update(String srcWorkspace) throws javax.jcr.RepositoryException
update in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.version.Version checkin() throws javax.jcr.RepositoryException
checkin in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.checkin()public void checkout()
throws javax.jcr.RepositoryException
checkout in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.checkout()public void doneMerge(javax.jcr.version.Version version)
throws javax.jcr.RepositoryException
doneMerge in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.doneMerge(javax.jcr.version.Version)public void cancelMerge(javax.jcr.version.Version version)
throws javax.jcr.RepositoryException
cancelMerge in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.cancelMerge(javax.jcr.version.Version)@Nonnull public javax.jcr.NodeIterator merge(String srcWorkspace, boolean bestEffort) throws javax.jcr.RepositoryException
merge in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.merge(String, boolean)public boolean isCheckedOut()
throws javax.jcr.RepositoryException
isCheckedOut in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.isCheckedOut()public void restore(String versionName, boolean removeExisting) throws javax.jcr.RepositoryException
restore in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.restore(String, boolean)public void restore(javax.jcr.version.Version version,
boolean removeExisting)
throws javax.jcr.RepositoryException
restore in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.restore(javax.jcr.version.Version, boolean)public void restore(javax.jcr.version.Version version,
String relPath,
boolean removeExisting)
throws javax.jcr.RepositoryException
restore in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.restore(Version, String, boolean)public void restoreByLabel(String versionLabel, boolean removeExisting) throws javax.jcr.RepositoryException
restoreByLabel in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.restoreByLabel(String, boolean)@Nonnull public javax.jcr.version.VersionHistory getVersionHistory() throws javax.jcr.RepositoryException
getVersionHistory in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.getVersionHistory()@Nonnull public javax.jcr.version.Version getBaseVersion() throws javax.jcr.RepositoryException
getBaseVersion in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.getBaseVersion()public boolean isLocked()
throws javax.jcr.RepositoryException
isLocked in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic boolean holdsLock()
throws javax.jcr.RepositoryException
holdsLock in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.lock.Lock getLock() throws javax.jcr.RepositoryException
getLock in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.lock.Lock lock(boolean isDeep, boolean isSessionScoped) throws javax.jcr.RepositoryException
lock in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic void unlock()
throws javax.jcr.RepositoryException
unlock in interface javax.jcr.Nodejavax.jcr.RepositoryException@Nonnull public javax.jcr.NodeIterator getSharedSet()
getSharedSet in interface javax.jcr.Nodepublic void removeSharedSet()
throws javax.jcr.RepositoryException
removeSharedSet in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic void removeShare()
throws javax.jcr.RepositoryException
removeShare in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionpublic void followLifecycleTransition(String transition) throws javax.jcr.RepositoryException
followLifecycleTransition in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.followLifecycleTransition(String)@Nonnull public String[] getAllowedLifecycleTransistions() throws javax.jcr.RepositoryException
getAllowedLifecycleTransistions in interface javax.jcr.Nodejavax.jcr.RepositoryExceptionNode.getAllowedLifecycleTransistions()public void rename(String newName) throws javax.jcr.RepositoryException
JackrabbitNode.rename(String). In
contrast to the implementation in Jackrabbit 2.x which was operating on
the NodeState level directly, this implementation does a move plus
subsequent reorder on the JCR API due to a missing support for renaming
on the OAK API.
Note, that this also has an impact on how permissions are enforced: In
Jackrabbit 2.x the rename just required permission to modify the child
collection on the parent, whereas a move did the full permission check.
With this simplified implementation that (somewhat inconsistent) difference
has been removed.rename in interface JackrabbitNodenewName - The new name of this node.javax.jcr.RepositoryException - If an error occurs.public void setMixins(String[] mixinNames) throws javax.jcr.RepositoryException
JackrabbitNode.setMixins(String[])
method that adds all mixin types that are not yet present on this node
and removes all mixins that are no longer contained in the specified
array. Note, that this implementation will not work exactly like the
variant in Jackrabbit 2.x which first created the effective node type
and adjusted the set of child items accordingly.setMixins in interface JackrabbitNodemixinNames - javax.jcr.RepositoryException@Nonnull protected final <U> U perform(@Nonnull SessionOperation<U> op) throws javax.jcr.RepositoryException
SessionOperation.U - return type of the operationop - operation to performop.perform()javax.jcr.RepositoryException - as thrown by op.perform().@Nonnull public String getName() throws javax.jcr.RepositoryException
getName in interface javax.jcr.Itemjavax.jcr.RepositoryExceptionItem.getName()@Nonnull public String getPath() throws javax.jcr.RepositoryException
getPath in interface javax.jcr.Itemjavax.jcr.RepositoryExceptionItem.getPath()@Nonnull public javax.jcr.Session getSession()
getSession in interface javax.jcr.Itempublic javax.jcr.Item getAncestor(int depth)
throws javax.jcr.RepositoryException
getAncestor in interface javax.jcr.Itemjavax.jcr.RepositoryExceptionpublic int getDepth()
throws javax.jcr.RepositoryException
getDepth in interface javax.jcr.Itemjavax.jcr.RepositoryExceptionpublic boolean isSame(javax.jcr.Item otherItem)
throws javax.jcr.RepositoryException
isSame in interface javax.jcr.Itemjavax.jcr.RepositoryExceptionItem.isSame(javax.jcr.Item)public void save()
throws javax.jcr.RepositoryException
Session.save() if SAVE_SESSION is
true. Otherwise it only performs the save if the subtree rooted at this item contains
all transient changes. That is, if calling Session.save() would have the same effect
as calling this method. In all other cases this method will throw an
UnsupportedRepositoryOperationExceptionsave in interface javax.jcr.Itemjavax.jcr.RepositoryExceptionItem.save()public void refresh(boolean keepChanges)
throws javax.jcr.RepositoryException
refresh in interface javax.jcr.Itemjavax.jcr.RepositoryExceptionItem.refresh(boolean)@Nonnull protected org.apache.jackrabbit.oak.api.PropertyState createSingleState(String oakName, javax.jcr.Value value, org.apache.jackrabbit.oak.api.Type<?> type) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException@Nonnull protected org.apache.jackrabbit.oak.api.PropertyState createMultiState(String oakName, List<javax.jcr.Value> values, org.apache.jackrabbit.oak.api.Type<?> type) throws javax.jcr.RepositoryException
javax.jcr.RepositoryExceptionCopyright © 2012-2019 The Apache Software Foundation. All Rights Reserved.