public interface MultiTenantCloneable<T>
| Modifier and Type | Method and Description | 
|---|---|
| <G extends T> | createOrRetrieveCopyInstance(MultiTenantCopyContext context)Clone this entity for the purpose of multiple tenancy. | 
<G extends T> CreateResponse<G> createOrRetrieveCopyInstance(MultiTenantCopyContext context) throws CloneNotSupportedException
 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;
 }
  context - a context object providing persistence and library functionality for copying entitiesCloneNotSupportedException - if there's a problem detected with the cloning configurationCopyright © 2020. All rights reserved.