createOrRetrieveCopyInstance
public <G extends StaticAssetDescription> CreateResponse<G> createOrRetrieveCopyInstance(MultiTenantCopyContext context)
                                                                                  throws CloneNotSupportedException
Clone this entity for the purpose of multiple tenancy. Note, extending classes should follow this pattern:
 
 
 public CreateResponse<MyClass> createOrRetrieveCopyInstance(MultiTenantCopyContext context) throws CloneNotSupportedException {
      CreateResponse<MyClass> createResponse = super.createOrRetrieveCopyInstance(context);
      if (createResponse.isAlreadyPopulated()) {
          return createResponse;
      }
      MyClass myClone = createResponse.getClone();
      //copy extended field values on myClone here
      return createResponse;
 }
 
 
 Support should also be added for @Embeddable classes that contribute fields (collections or basic) to a cloneable entity:
 
 
 public CreateResponse<G extends MyClass> createOrRetrieveCopyInstance(MultiTenantCopyContext context) throws CloneNotSupportedException {
      CreateResponse createResponse = context.createOrRetrieveCopyInstance(this);
      MyClass myClone = createResponse.getClone();
      //copy extended field values on myClone here
      return createResponse;
 }
 
- Specified by:
- createOrRetrieveCopyInstancein interface- MultiTenantCloneable<StaticAssetDescription>
- Parameters:
- context- a context object providing persistence and library functionality for copying entities
- Returns:
- the resulting copy container, possibly already persisted
- Throws:
- CloneNotSupportedException- if there's a problem detected with the cloning configuration