Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

Combined entity mode


May 27, 2021 Design mode


Table of contents


Combined entity mode

Composite Entity Pattern is used in the EJB persistence mechanism. A composite entity is an EJB entity bean that represents an illustration of an object. W hen a composite entity is updated, the internal dependency object beans are automatically updated because they are managed by the EJB entity bean. The following are the participants in the combined entity bean.

  • Composite Entity - It is the primary entity bean. It can be coarse grain, or it can contain a coarse-grained object for a continuous life cycle.
  • Coarse-Grained Object - The object contains the object since. It has its own lifecycle and can manage the lifecycle of dependent objects.
  • Dependent Object - Dependent objects are objects that depend on coarse-grained objects for a continuous life cycle.
  • Strategies - Policies represent how combined entities are implemented.

Realize

We'll create the CompositeEntity object as a composite entity. CoarseGrainedObject is a class that contains dependent objects.

CompositeEntityPatternDemo, our demo class uses the Client class to demonstrate the use of composite entity patterns.

Combined entity mode

Step 1

Create a dependent object.

DependentObject1.java

public class DependentObject1 {
   
   private String data;

   public void setData(String data){
      this.data = data; 
   } 

   public String getData(){
      return data;
   }
}

DependentObject2.java

public class DependentObject2 {
   
   private String data;

   public void setData(String data){
      this.data = data; 
   } 

   public String getData(){
      return data;
   }
}

Step 2

Create a coarse-grained object.

CoarseGrainedObject.java

public class CoarseGrainedObject {
   DependentObject1 do1 = new DependentObject1();
   DependentObject2 do2 = new DependentObject2();

   public void setData(String data1, String data2){
      do1.setData(data1);
      do2.setData(data2);
   }

   public String[] getData(){
      return new String[] {do1.getData(),do2.getData()};
   }
}

Step 3

Create a composite entity.

CompositeEntity.java

public class CompositeEntity {
   private CoarseGrainedObject cgo = new CoarseGrainedObject();

   public void setData(String data1, String data2){
      cgo.setData(data1, data2);
   }

   public String[] getData(){
      return cgo.getData();
   }
}

Step 4

Create a client class that uses a combined entity.

Client.java

public class Client {
   private CompositeEntity compositeEntity = new CompositeEntity();

   public void printData(){
      for (int i = 0; i < compositeEntity.getData().length; i++) {          System.out.println("Data: " + compositeEntity.getData()[i]);       }    }     public void setData(String data1, String data2){       compositeEntity.setData(data1, data2);    } } 

Step 5

Use Client to demonstrate the use of composite entity design patterns.

CompositeEntityPatternDemo.java

public class CompositeEntityPatternDemo {
   public static void main(String[] args) {
       Client client = new Client();
       client.setData("Test", "Data");
       client.printData();
       client.setData("Second Test", "Data1");
       client.printData();
   }
}

Step 6

Verify the output.

Data: Test
Data: Data
Data: Second Test
Data: Data1