Composition entity mode (Composite Entity Pattern) used in the EJB persistence mechanism. A combination of an EJB entity is an entity bean, representing the object illustration. When a combination of updating entity dependent objects inside beans automatically updated as they are managed by the EJB entity bean. The following is a participant in combination entity bean.
- Combined entity (the Entity Composite) - which is the main entity bean. It may be coarse, or may comprise a coarse-grained objects, for sustained life cycle.
- Coarse-grained objects (the Coarse-Grained Object) - The object that contains dependent object. It has its own life cycle, but also to manage the life cycle of dependent objects.
- Dependent objects (Dependent Object) - dependent objects is a continuous life cycle depends on the coarse-grained object object.
- Strategy (Strategies,) - Strategy shows how to achieve a combination of entities.
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;
}
}
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()};
}
}
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();
}
}
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);
}
}
CompositeEntityPatternDemo.java
public class CompositeEntityPatternDemo {// Client to demonstrate the use of design patterns usage composition entity
public static void main (String [] args) {
Client Client Client new new = ();
client.setData ( "the Test", "the Data");
Client. the printData ();
client.setData ( "Second the Test", "Data");
client.printData ();
}
}