|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.alfresco.repo.copy.AbstractCopyBehaviourCallback
public abstract class AbstractCopyBehaviourCallback
Abstract implementation to allow for easier migration if the interface changes.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.alfresco.repo.copy.CopyBehaviourCallback |
---|
CopyBehaviourCallback.AssocCopySourceAction, CopyBehaviourCallback.AssocCopyTargetAction, CopyBehaviourCallback.ChildAssocCopyAction, CopyBehaviourCallback.ChildAssocRecurseAction, CopyBehaviourCallback.CopyAssociationDetails, CopyBehaviourCallback.CopyChildAssociationDetails |
Constructor Summary | |
---|---|
AbstractCopyBehaviourCallback()
|
Method Summary | |
---|---|
org.alfresco.util.Pair |
getAssociationCopyAction(org.alfresco.service.namespace.QName classQName,
CopyDetails copyDetails,
CopyBehaviourCallback.CopyAssociationDetails assocCopyDetails)
Determine the copy behaviour associated with a given peer association. |
CopyBehaviourCallback.ChildAssocRecurseAction |
getChildAssociationRecurseAction(org.alfresco.service.namespace.QName classQName,
CopyDetails copyDetails,
CopyBehaviourCallback.CopyChildAssociationDetails childAssocCopyDetails)
Once the child association copy action has been chosen, the policy callback can dictate whether or not to force further recursion. |
void |
recordNodeRefsForRepointing(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef,
java.util.Map properties,
org.alfresco.service.namespace.QName propertyQName)
Helper method to transactionally record NodeRef properties so that they
can later be fixed up to point to the relative, after-copy locations. |
void |
repointNodeRefs(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef,
org.alfresco.service.cmr.repository.NodeRef targetNodeRef,
org.alfresco.service.namespace.QName propertyQName,
java.util.Map copyMap,
org.alfresco.service.cmr.repository.NodeService nodeService)
The second stage of the NodeRef repointing. |
protected void |
throwExceptionForUnexpectedBehaviour(CopyDetails copyDetails,
java.lang.String[] otherDetails)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.alfresco.repo.copy.CopyBehaviourCallback |
---|
getChildAssociationCopyAction, getCopyProperties, getMustCopy |
Constructor Detail |
---|
public AbstractCopyBehaviourCallback()
Method Detail |
---|
public org.alfresco.util.Pair getAssociationCopyAction(org.alfresco.service.namespace.QName classQName, CopyDetails copyDetails, CopyBehaviourCallback.CopyAssociationDetails assocCopyDetails)
CopyBehaviourCallback
getAssociationCopyAction
in interface CopyBehaviourCallback
classQName
- the name of the class that this is being invoked forcopyDetails
- the source node's copy details for quick referenceassocCopyDetails
- all other details relating to the association
CopyBehaviourCallback.AssocCopySourceAction.COPY_REMOVE_EXISTING
and
CopyBehaviourCallback.AssocCopyTargetAction.USE_COPIED_TARGET
public CopyBehaviourCallback.ChildAssocRecurseAction getChildAssociationRecurseAction(org.alfresco.service.namespace.QName classQName, CopyDetails copyDetails, CopyBehaviourCallback.CopyChildAssociationDetails childAssocCopyDetails)
CopyBehaviourCallback
getChildAssociationRecurseAction
in interface CopyBehaviourCallback
classQName
- the name of the class that this is being invoked forcopyDetails
- the source node's copy details for quick referencechildAssocCopyDetails
- all other details relating to the child association
ChildAssocRecurseAction#RESPECT_RECURSE_FLAG
#getChildAssociationCopyAction(QName, CopyDetails, ChildAssociationRef, boolean)
protected void throwExceptionForUnexpectedBehaviour(CopyDetails copyDetails, java.lang.String[] otherDetails)
java.lang.IllegalStateException
- alwayspublic void recordNodeRefsForRepointing(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, java.util.Map properties, org.alfresco.service.namespace.QName propertyQName)
NodeRef
properties so that they
can later be fixed up to point to the relative, after-copy locations.
When the copy has been completed, the second stage of the process can be applied.
sourceNodeRef
- the node that is being copiedproperties
- the node properties being copiedpropertyQName
- the qualified name of the property to check#repointNodeRefs(NodeRef, QName, Map, NodeService)
public void repointNodeRefs(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, org.alfresco.service.namespace.QName propertyQName, java.util.Map copyMap, org.alfresco.service.cmr.repository.NodeService nodeService)
NodeRef
repointing. Call this method to have
any NodeRef
properties readjusted to reflect the copied node hierarchy.
Only use this method if it a requirement for the particular type or aspect that you
are coding for.
sourceNodeRef
- the source nodepropertyQName
- the target node i.e. the copy of the source nodecopyMap
- the full hierarchy copy map of source to copiesAbstractCopyBehaviourCallback.recordNodeRefsForRepointing(NodeRef, Map, QName)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |