예제 #1
0
                                                        > getFields(global::System.Type entityClass)
 {
     System.Collections.Generic.IDictionary <string, FieldInfo
                                             > fields = this.cache[entityClass];
     if (fields == null)
     {
         fields = new System.Collections.Generic.Dictionary <string, FieldInfo
                                                             >();
         java.lang.Class tmp = (java.lang.Class)entityClass;
         while (tmp != null && tmp != typeof(object))
         {
             java.lang.reflect.Field[] declaredFields = tmp.getDeclaredFields();
             foreach (java.lang.reflect.Field field in declaredFields)
             {
                 if (!field.isSynthetic() && !java.lang.reflect.Modifier.isStatic(field.getModifiers
                                                                                      ()))
                 {
                     field.setAccessible(true);
                     VPackCache.FieldInfo fieldInfo = this.createFieldInfo
                                                          (field);
                     if (fieldInfo.serialize || fieldInfo.deserialize)
                     {
                         fields[fieldInfo.getFieldName()] = fieldInfo;
                     }
                 }
             }
             tmp = tmp.getSuperclass();
         }
         fields = this.sort(fields);
         this.cache[entityClass] = fields;
     }
     return(fields);
 }
예제 #2
0
                                                 , java.lang.reflect.Field> createFields(java.lang.Class clazz)
 {
     System.Collections.Generic.IDictionary <com.arangodb.entity.DocumentFieldAttribute.Type, java.lang.reflect.Field
                                             > fields = new System.Collections.Generic.Dictionary <com.arangodb.entity.DocumentFieldAttribute.Type
                                                                                                   , java.lang.reflect.Field>();
     java.lang.Class tmp = clazz;
     System.Collections.Generic.ICollection <com.arangodb.entity.DocumentFieldAttribute.Type> values
         = new System.Collections.Generic.List <com.arangodb.entity.DocumentFieldAttribute.Type>(java.util.Arrays
                                                                                                 .asList(com.arangodb.entity.DocumentFieldAttribute.Type.values()));
     while (tmp != null && tmp != typeof(object) && values
            .Count > 0)
     {
         java.lang.reflect.Field[] declaredFields = tmp.getDeclaredFields();
         for (int i = 0; i < declaredFields.Length && values.Count > 0; i++)
         {
             this.findAnnotation(values, fields, declaredFields[i]);
         }
         tmp = tmp.getSuperclass();
     }
     return(fields);
 }