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 copyMap)
      {
          ...
      }
      
    Author:
    Derek Hulley