Exemple #1
0
 /**
  * @param cha governing class hierarchy
  * @return the Set of CMR fields for this bean, including inherited CMRs
  */
 public static Set<Object> getCMRFields(
     BeanMetaData bean, DeploymentMetaData dmd, ClassHierarchy cha) {
   Set<Object> result = HashSetFactory.make(5);
   TypeReference T = bean.getEJBClass();
   while (T != null) {
     BeanMetaData B = dmd.getBeanMetaData(T);
     if (B != null) {
       result.addAll(B.getCMRFields());
     }
     IClass klass = cha.lookupClass(T);
     assert klass != null;
     IClass superKlass = klass.getSuperclass();
     T = (superKlass == null) ? null : superKlass.getReference();
   }
   return result;
 }
 private boolean allFieldsArePrimitive(IClass c) {
   if (c.isArrayClass()) {
     TypeReference t = c.getReference().getArrayElementType();
     return t.isPrimitiveType();
   } else {
     if (c.getReference().equals(TypeReference.JavaLangObject)) {
       return true;
     } else {
       for (Iterator<IField> it = c.getDeclaredInstanceFields().iterator(); it.hasNext(); ) {
         IField f = it.next();
         if (f.getReference().getFieldType().isReferenceType()) {
           return false;
         }
       }
       return allFieldsArePrimitive(c.getSuperclass());
     }
   }
 }