VcCMRField.java

00001 
00025 package org.objectweb.jonas_ejb.genic;
00026 
00027 import org.objectweb.jonas_ejb.deployment.api.EjbRelationshipRoleDesc;
00028 import org.objectweb.jonas_ejb.deployment.api.EntityCmp2Desc;
00029 import org.objectweb.jonas_ejb.lib.BeanNaming;
00030 
00031 
00039 public class VcCMRField {
00040 
00044     private String name;
00048     private String uFLName;
00052     private String typeName;
00056     private EjbRelationshipRoleDesc rsr;
00060     private EjbRelationshipRoleDesc rsr2;
00064     private byte relationType = -1;
00069     private String genClassName = null;
00073     private EntityCmp2Desc element = null;
00074 
00080     public VcCMRField(EjbRelationshipRoleDesc rsr) throws GenICException {
00081         this.rsr = rsr;
00082         name = rsr.getCmrFieldName();
00083         uFLName = upperFL(name);
00084         element = rsr.getTargetBean();
00085         typeName = rsr.getCmrFieldType().getName();
00086         if (rsr.isTargetMultiple()) {
00087             if (java.util.Collection.class.equals(rsr.getCmrFieldType())) {
00088                 // TODO : Even if Collection has been defined as CMRField Type, we use a Set
00089                 genClassName = "org.objectweb.jonas_ejb.container.jorm.Set";
00090             } else if (java.util.Set.class.equals(rsr.getCmrFieldType())) {
00091                 genClassName = "org.objectweb.jonas_ejb.container.jorm.Set";
00092             } else {
00093                 throw new GenICException("Unauthorized multivalued relation type:" + rsr.getCmrFieldType());
00094             }
00095         }
00096         rsr2 = rsr.getOppositeRelationshipRole();
00097         relationType = rsr.getRelationType();
00098     }
00099 
00103     public String getName() {
00104         return name;
00105     }
00106 
00112     public String getTypeName() {
00113         return typeName;
00114     }
00115 
00120     public String getUFLName() {
00121         return uFLName;
00122     }
00123 
00127     public EjbRelationshipRoleDesc getRsr() {
00128         return rsr;
00129     }
00130 
00134     public String getOppositeUFLCMRName() {
00135         return upperFL(rsr2.getCmrFieldName());
00136     }
00137 
00142     public String getHelperClassName() {
00143         return "JOnAS" + rsr.getSourceBeanName() + "CoherenceHelper";
00144     }
00145 
00150     public String getHelperFQClassName() {
00151         String pn = BeanNaming.getPackageName(rsr2.getTargetBean().getFullDerivedBeanName());
00152         if (pn != null && pn.length() > 0) {
00153             return pn + "." + getHelperClassName();
00154         } else {
00155             return getHelperClassName();
00156         }
00157     }
00158 
00163     public String getOppositeHelperClassName() {
00164         return "JOnAS" + rsr2.getSourceBeanName() + "CoherenceHelper";
00165     }
00166 
00171     public String getOppositeHelperFQClassName() {
00172         String pn = BeanNaming.getPackageName(rsr.getTargetBean().getFullDerivedBeanName());
00173         if (pn != null && pn.length() > 0) {
00174             return pn + "." + getOppositeHelperClassName();
00175         } else {
00176             return getOppositeHelperClassName();
00177         }
00178     }
00179 
00185     public String getGenClassName() {
00186         return genClassName;
00187     }
00188 
00192     public EntityCmp2Desc getElement() {
00193         return element;
00194     }
00195 
00201     public String upperFL(String word) {
00202         return Character.toUpperCase(word.charAt(0)) + word.substring(1);
00203     }
00204 
00208     public boolean isOOu() {
00209         return relationType == EjbRelationshipRoleDesc.OOU;
00210     }
00211 
00215     public boolean isOOb() {
00216         return relationType == EjbRelationshipRoleDesc.OOB;
00217     }
00218 
00222     public boolean isOMu() {
00223         return relationType == EjbRelationshipRoleDesc.OMU;
00224     }
00225 
00229     public boolean isMOu() {
00230         return relationType == EjbRelationshipRoleDesc.MOU;
00231     }
00232 
00236     public boolean isMOb() {
00237         return relationType == EjbRelationshipRoleDesc.MOB;
00238     }
00239 
00243     public boolean isOMb() {
00244         return relationType == EjbRelationshipRoleDesc.OMB;
00245     }
00246 
00250     public boolean isMMu() {
00251         return relationType == EjbRelationshipRoleDesc.MMU;
00252     }
00253 
00257     public boolean isMMb() {
00258         return relationType == EjbRelationshipRoleDesc.MMB;
00259     }
00260 
00264     public String toString() {
00265         StringBuffer ret = new StringBuffer();
00266         ret.append("\n    Name                 = " + getName());
00267         ret.append("\n    TypeName             = " + getTypeName());
00268         ret.append("\n    UFLName              = " + getUFLName());
00269         ret.append("\n    OppositeUFLCMRName   = " + getOppositeUFLCMRName());
00270         ret.append("\n    HelperClassName      = " + getHelperClassName());
00271         ret.append("\n    HelperFQClassName    = " + getHelperFQClassName());
00272         ret.append("\n    OppositeHelperClassName   = " + getOppositeHelperClassName());
00273         ret.append("\n    OppositeHelperFQClassName = " + getOppositeHelperFQClassName());
00274         ret.append("\n    GenClassName         = " + getGenClassName());
00275         ret.append("\n    isOOu                = " + isOOu());
00276         ret.append("\n    isOOb                = " + isOOb());
00277         ret.append("\n    isOMu                = " + isOMu());
00278         ret.append("\n    isOMb                = " + isOMb());
00279         ret.append("\n    isMOb                = " + isMOb());
00280         ret.append("\n    isMNu                = " + isMMu());
00281         ret.append("\n    isMNb                = " + isMMb());
00282         return (ret.toString());
00283     }
00284 }

Generated on Tue Feb 15 15:05:48 2005 for JOnAS by  doxygen 1.3.9.1