1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.caleigo.core.meta;
19
20 import org.caleigo.core.*;
21
22 /*** MetaFieldRelationEntiy is the entity class for MetaFieldRelation objects.
23 *
24 * @author dennis
25 * @version 1.0.0
26 *//*
27 * WHEN WHO WHY & WHAT
28 * ------------------------------------------------------------------------------
29 * 030627 dennis Creation
30 */
31 public class MetaFieldRelationEntity extends AbstractMetaEntity
32 {
33
34
35 /*** Default constructor for MetaFieldRelationEntity.
36 */
37 public MetaFieldRelationEntity()
38 {
39 }
40
41 /*** Copy constructor for MetaFieldRelationEntity.
42 */
43 public MetaFieldRelationEntity(MetaFieldRelationEntity entity)
44 {
45 this.copyData(entity);
46 this.clearAllDirtyFlags();
47 }
48
49 /*** This constructor creates a new MetaFieldRelationEntity and loads
50 * it with data from the data source using the entity's identity data.
51 */
52 public MetaFieldRelationEntity(String aEntityRelation, String aReferenceEntity, String aReferenceField, String aTargetEntity, String aTargetField)
53 {
54 super(Qualifier.create(MetaFieldRelation.EntityRelation, new String(aEntityRelation)).and(MetaFieldRelation.ReferenceEntity, new String(aReferenceEntity)).and(MetaFieldRelation.ReferenceField, new String(aReferenceField)).and(MetaFieldRelation.TargetEntity, new String(aTargetEntity)).and(MetaFieldRelation.TargetField, new String(aTargetField)));
55 }
56
57
58 /*** This constructor creates a new MetaFieldRelationEntity and loads
59 * it with data from the data source using the provided identity qualifier.
60 */
61 public MetaFieldRelationEntity(Qualifier identityQualifier)
62 {
63 super(identityQualifier);
64 }
65
66
67 public IEntityDescriptor getEntityDescriptor()
68 {
69 return MetaFieldRelation.instance;
70 }
71
72 protected void doOnDataChange(IFieldDescriptor fieldDescriptor, Object oldValue, Object newValue)
73 {
74 if(fieldDescriptor==MetaFieldRelation.EntityRelation && newValue!=null)
75 {
76 MetaEntityRelationEntity entity = MetaEntityRelation.load(newValue.toString());
77 if(entity!=null)
78 {
79 this.setReferenceEntity(entity.getReferenceEntity());
80 this.setTargetEntity(entity.getTargetEntity());
81 }
82 }
83
84 if(fieldDescriptor==MetaFieldRelation.ReferenceEntity && newValue!=null)
85 {
86 ISelection fieldSelection = MetaFieldDescriptor.instance.loadSelection(Qualifier.create(MetaFieldDescriptor.Entity, this.getData(MetaFieldRelation.ReferenceEntity)));
87 if (fieldSelection != null && fieldSelection.size() >= 1)
88 this.setData(MetaFieldRelation.ReferenceField, fieldSelection.getEntity(0).getData(MetaFieldDescriptor.SourceName));
89 else
90 this.setData(MetaFieldRelation.ReferenceField, null);
91 }
92
93 if(fieldDescriptor==MetaFieldRelation.TargetEntity && newValue!=null)
94 {
95 ISelection fieldSelection = MetaFieldDescriptor.instance.loadSelection(Qualifier.create(MetaFieldDescriptor.Entity, this.getData(MetaFieldRelation.TargetEntity)));
96 if (fieldSelection != null && fieldSelection.size() >= 1)
97 this.setData(MetaFieldRelation.TargetField, fieldSelection.getEntity(0).getData(MetaFieldDescriptor.SourceName));
98 else
99 this.setData(MetaFieldRelation.TargetField, null);
100 }
101 }
102
103
104 public String getEntityRelation() {return (String)this.getData(MetaFieldRelation.EntityRelation);}
105 public String getReferenceEntity() {return (String)this.getData(MetaFieldRelation.ReferenceEntity);}
106 public String getReferenceField() {return (String)this.getData(MetaFieldRelation.ReferenceField);}
107 public String getTargetEntity() {return (String)this.getData(MetaFieldRelation.TargetEntity);}
108 public String getTargetField() {return (String)this.getData(MetaFieldRelation.TargetField);}
109
110 public void setEntityRelation(String value) {this.setData(MetaFieldRelation.EntityRelation, value);}
111 public void setReferenceEntity(String value) {this.setData(MetaFieldRelation.ReferenceEntity, value);}
112 public void setReferenceField(String value) {this.setData(MetaFieldRelation.ReferenceField, value);}
113 public void setTargetEntity(String value) {this.setData(MetaFieldRelation.TargetEntity, value);}
114 public void setTargetField(String value) {this.setData(MetaFieldRelation.TargetField, value);}
115
116 public Object getEntityRelationData() {return this.getData(MetaFieldRelation.EntityRelation);}
117 public Object getReferenceEntityData() {return this.getData(MetaFieldRelation.ReferenceEntity);}
118 public Object getReferenceFieldData() {return this.getData(MetaFieldRelation.ReferenceField);}
119 public Object getTargetEntityData() {return this.getData(MetaFieldRelation.TargetEntity);}
120 public Object getTargetFieldData() {return this.getData(MetaFieldRelation.TargetField);}
121
122 public void setEntityRelationData(Object value) {this.setData(MetaFieldRelation.EntityRelation, value);}
123 public void setReferenceEntityData(Object value) {this.setData(MetaFieldRelation.ReferenceEntity, value);}
124 public void setReferenceFieldData(Object value) {this.setData(MetaFieldRelation.ReferenceField, value);}
125 public void setTargetEntityData(Object value) {this.setData(MetaFieldRelation.TargetEntity, value);}
126 public void setTargetFieldData(Object value) {this.setData(MetaFieldRelation.TargetField, value);}
127 }