|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jackrabbit.core.ItemValidator
public class ItemValidator
Utility class for validating an item against constraints specified by its definition.
Field Summary | |
---|---|
static int |
CHECK_ACCESS
check access permissions |
static int |
CHECK_CHECKED_OUT
option to check checked-out status |
static int |
CHECK_CONSTRAINTS
option to check if the item is protected by it's nt definition |
static int |
CHECK_HOLD
option to check for effective holds |
static int |
CHECK_LOCK
option to check lock status |
static int |
CHECK_PENDING_CHANGES
option to check for pending changes on the session |
static int |
CHECK_PENDING_CHANGES_ON_NODE
option to check for pending changes on the specified node |
static int |
CHECK_REFERENCES
check for referential integrity upon removal |
static int |
CHECK_RETENTION
option to check for effective retention policies |
protected SessionContext |
context
Component context of the associated session. |
Constructor Summary | |
---|---|
ItemValidator(SessionContext context)
Creates a new ItemValidator instance. |
Method Summary | ||
---|---|---|
boolean |
canModify(ItemImpl item,
int options,
int permissions)
|
|
void |
checkModify(ItemImpl item,
int options,
int permissions)
|
|
void |
checkRemove(ItemImpl item,
int options,
int permissions)
|
|
QNodeDefinition |
findApplicableNodeDefinition(Name name,
Name nodeTypeName,
NodeState parentState)
Helper method that finds the applicable definition for a child node with the given name and node type in the parent node's node type and mixin types. |
|
QPropertyDefinition |
findApplicablePropertyDefinition(Name name,
int type,
boolean multiValued,
NodeState parentState)
Helper method that finds the applicable definition for a property with the given name, type and multiValued characteristic in the parent node's node type and mixin types. |
|
QPropertyDefinition |
findApplicablePropertyDefinition(Name name,
int type,
NodeState parentState)
Helper method that finds the applicable definition for a property with the given name, type in the parent node's node type and mixin types. |
|
EffectiveNodeType |
getEffectiveNodeType(NodeState state)
Helper method that builds the effective (i.e. merged and resolved) node type representation of the specified node's primary and mixin node types. |
|
|
performRelaxed(SessionOperation<T> operation,
int checksToDisable)
Performs the given session operation with the specified checks disabled. |
|
String |
safeGetJCRPath(ItemId id)
Failsafe translation of internal ItemId to JCR path for use
in error messages etc. |
|
String |
safeGetJCRPath(Path path)
Failsafe conversion of internal Path to JCR path for use in
error messages etc. |
|
void |
validate(NodeState nodeState)
Checks whether the given node state satisfies the constraints specified by its primary and mixin node types. |
|
void |
validate(PropertyState propState)
Checks whether the given property state satisfies the constraints specified by its definition. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int CHECK_ACCESS
public static final int CHECK_LOCK
public static final int CHECK_CHECKED_OUT
public static final int CHECK_REFERENCES
public static final int CHECK_CONSTRAINTS
public static final int CHECK_PENDING_CHANGES
public static final int CHECK_PENDING_CHANGES_ON_NODE
public static final int CHECK_HOLD
public static final int CHECK_RETENTION
protected final SessionContext context
Constructor Detail |
---|
public ItemValidator(SessionContext context)
ItemValidator
instance.
context
- component context of this sessionMethod Detail |
---|
public <T> T performRelaxed(SessionOperation<T> operation, int checksToDisable) throws RepositoryException
operation
- the session operation to be performedchecksToDisable
- bit mask of checks to be disabled
RepositoryException
- if the operation could not be performedpublic void validate(NodeState nodeState) throws ConstraintViolationException, RepositoryException
nodeState
- state of node to be validated
ConstraintViolationException
- if any of the validations fail
RepositoryException
- if another error occurspublic void validate(PropertyState propState) throws ConstraintViolationException, RepositoryException
propState
- state of property to be validated
ConstraintViolationException
- if any of the validations fail
RepositoryException
- if another error occurspublic void checkModify(ItemImpl item, int options, int permissions) throws RepositoryException
RepositoryException
public void checkRemove(ItemImpl item, int options, int permissions) throws RepositoryException
RepositoryException
public boolean canModify(ItemImpl item, int options, int permissions) throws RepositoryException
RepositoryException
public EffectiveNodeType getEffectiveNodeType(NodeState state) throws RepositoryException
state
-
RepositoryException
public QNodeDefinition findApplicableNodeDefinition(Name name, Name nodeTypeName, NodeState parentState) throws RepositoryException, ConstraintViolationException
name
- nodeTypeName
- parentState
-
QNodeDefinition
ConstraintViolationException
- if no applicable child node definition
could be found
RepositoryException
- if another error occurspublic QPropertyDefinition findApplicablePropertyDefinition(Name name, int type, boolean multiValued, NodeState parentState) throws RepositoryException, ConstraintViolationException
name
- type
- multiValued
- parentState
-
QPropertyDefinition
ConstraintViolationException
- if no applicable property definition
could be found
RepositoryException
- if another error occurspublic QPropertyDefinition findApplicablePropertyDefinition(Name name, int type, NodeState parentState) throws RepositoryException, ConstraintViolationException
findApplicablePropertyDefinition(Name, int, boolean, NodeState)
this method does not take the multiValued flag into account in the
selection algorithm. If there more than one applicable definitions then
the following rules are applied:
name
- type
- parentState
-
QPropertyDefinition
ConstraintViolationException
- if no applicable property definition
could be found
RepositoryException
- if another error occurspublic String safeGetJCRPath(Path path)
Path
to JCR path for use in
error messages etc.
path
- path to convert
public String safeGetJCRPath(ItemId id)
ItemId
to JCR path for use
in error messages etc.
id
- id to translate
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |