|
||||||||||
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 | |
---|---|
protected AccessManager |
accessMgr
|
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 HierarchyManager |
hierMgr
hierarchy manager used for generating error msg's that contain human readable paths |
protected ItemManager |
itemMgr
|
protected LockManager |
lockMgr
|
protected NodeTypeRegistry |
ntReg
node type registry |
protected PathResolver |
resolver
Path resolver for outputting user-friendly error messages. |
protected RetentionRegistry |
retentionReg
|
Constructor Summary | |
---|---|
ItemValidator(NodeTypeRegistry ntReg,
HierarchyManager hierMgr,
PathResolver resolver,
LockManager lockMgr,
AccessManager accessMgr,
RetentionRegistry retentionReg,
ItemManager itemMgr)
Creates a new ItemValidator instance. |
|
ItemValidator(NodeTypeRegistry ntReg,
HierarchyManager hierMgr,
SessionImpl session)
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. |
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 NodeTypeRegistry ntReg
protected final HierarchyManager hierMgr
safeGetJCRPath(ItemId)
protected final PathResolver resolver
protected final LockManager lockMgr
protected final AccessManager accessMgr
protected final RetentionRegistry retentionReg
protected final ItemManager itemMgr
Constructor Detail |
---|
public ItemValidator(NodeTypeRegistry ntReg, HierarchyManager hierMgr, SessionImpl session) throws RepositoryException
ItemValidator
instance.
ntReg
- node type registryhierMgr
- hierarchy managersession
- session
RepositoryException
public ItemValidator(NodeTypeRegistry ntReg, HierarchyManager hierMgr, PathResolver resolver, LockManager lockMgr, AccessManager accessMgr, RetentionRegistry retentionReg, ItemManager itemMgr)
ItemValidator
instance.
ntReg
- node type registryhierMgr
- hierarchy managerresolver
- resolverlockMgr
- lockMgraccessMgr
- accessMgrretentionReg
- itemMgr
- the item managerMethod Detail |
---|
public 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 |