1 21 package com.db4o.reflect.self; 22 23 import com.db4o.reflect.ReflectClass; 24 import com.db4o.reflect.ReflectField; 25 26 public class SelfField implements ReflectField { 27 28 private String _name; 29 30 private ReflectClass _type; 31 32 private SelfClass _selfclass; 33 34 private SelfReflectionRegistry _registry; 35 36 public SelfField(String name, ReflectClass type, SelfClass selfclass, 37 SelfReflectionRegistry registry) { 38 _name = name; 39 _type = type; 40 _selfclass = selfclass; 41 _registry = registry; 42 } 43 44 public Object get(Object onObject) { 45 if (onObject instanceof SelfReflectable) { 46 return ((SelfReflectable) onObject).self_get(_name); 47 } 48 return null; 49 } 50 51 public String getName() { 52 return _name; 53 } 54 55 public ReflectClass getFieldType() { 56 return _type; 57 } 58 59 public boolean isPublic() { 60 return _registry.infoFor(_selfclass.getJavaClass()).fieldByName(_name) 61 .isPublic(); 62 } 63 64 public boolean isStatic() { 65 return _registry.infoFor(_selfclass.getJavaClass()).fieldByName(_name) 66 .isStatic(); 67 } 68 69 public boolean isTransient() { 70 return _registry.infoFor(_selfclass.getJavaClass()).fieldByName(_name) 71 .isTransient(); 72 } 73 74 public void set(Object onObject, Object value) { 75 if (onObject instanceof SelfReflectable) { 76 ((SelfReflectable) onObject).self_set(_name, value); 77 } 78 } 79 80 public void setAccessible() { 81 } 82 83 } 84 | Popular Tags |