Interface CopyServicePolicies


public interface CopyServicePolicies
Policies for the CopyService.

A typical registration and invocation would look like this:

  public void init()
  {
      this.policyComponent.bindClassBehaviour(
              OnCopyNodePolicy.QNAME,
              ActionModel.ASPECT_ACTIONS,
              new JavaBehaviour(this, "getCopyCallback"));
      this.policyComponent.bindClassBehaviour(
              OnCopyCompletePolicy.QNAME,
              ActionModel.ASPECT_ACTIONS,
              new JavaBehaviour(this, "onCopyComplete"));
      ...
  }
  
  public CopyBehaviourCallback getCopyCallback(QName classRef, CopyDetails copyDetails)
  {
      return new XyzAspectCopyBehaviourCallback();
  }
      
  private static class XyzAspectCopyBehaviourCallback extends DefaultCopyBehaviourCallback
  {
      // Override methods any to achieve the desired behaviour
      
      public boolean mustCopyChildAssociation(QName classQName, CopyDetails copyDetails, ChildAssociationRef childAssocRef)
      {
          ...
      }
  }
  
  public void onCopyComplete(
          NodeRef sourceNodeRef,
          NodeRef targetNodeRef,
          boolean copyToNewNode,
          Map<NodeRef,NodeRef> copyMap)
  {
      ...
  }
  
Author:
Derek Hulley