ix.util.reflect
Class FieldDescr

java.lang.Object
  extended by ix.util.reflect.FieldDescr

public class FieldDescr
extends java.lang.Object

A view or description of a field.

N.B. The constructors are deliberately not public so that something wanting a FieldDescr must go through a ClassSyntax object.


Field Summary
protected  java.lang.annotation.Annotation[] annotations
           
protected  java.lang.String externalName
           
protected  java.lang.reflect.Type genericType
           
protected  java.lang.reflect.Method getter
           
protected  java.lang.String name
           
protected  java.lang.reflect.Method setter
           
protected  java.lang.Class type
           
protected  ClassDescr typeDescr
           
 
Constructor Summary
FieldDescr(ClassSyntax syntax, java.lang.reflect.Field f)
           
 
Method Summary
 void checkValue(java.lang.Object val)
           
 java.lang.Class determineElementType()
           
<A extends java.lang.annotation.Annotation>
A
getAnnotation(java.lang.Class<A> anClass)
           
 java.lang.String getExternalName()
           
 java.lang.String getName()
           
 java.lang.Class getType()
           
 ClassDescr getTypeDescr()
           
 java.lang.Object getValue(java.lang.Object obj)
           
 void renameTo(java.lang.String javaName, java.lang.String externalName)
           
 void setValue(java.lang.Object obj, java.lang.Object newVal)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

externalName

protected java.lang.String externalName

type

protected java.lang.Class type

genericType

protected java.lang.reflect.Type genericType

typeDescr

protected ClassDescr typeDescr

annotations

protected java.lang.annotation.Annotation[] annotations

getter

protected java.lang.reflect.Method getter

setter

protected java.lang.reflect.Method setter
Constructor Detail

FieldDescr

FieldDescr(ClassSyntax syntax,
           java.lang.reflect.Field f)
Method Detail

getName

public java.lang.String getName()

getExternalName

public java.lang.String getExternalName()

renameTo

public void renameTo(java.lang.String javaName,
                     java.lang.String externalName)

getType

public java.lang.Class getType()

determineElementType

public java.lang.Class determineElementType()

getTypeDescr

public ClassDescr getTypeDescr()

getValue

public java.lang.Object getValue(java.lang.Object obj)
                          throws java.lang.IllegalAccessException,
                                 java.lang.IllegalArgumentException,
                                 java.lang.reflect.InvocationTargetException
Throws:
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.reflect.InvocationTargetException

setValue

public void setValue(java.lang.Object obj,
                     java.lang.Object newVal)
              throws java.lang.IllegalAccessException,
                     java.lang.IllegalArgumentException,
                     java.lang.reflect.InvocationTargetException
Throws:
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.reflect.InvocationTargetException

checkValue

public void checkValue(java.lang.Object val)

getAnnotation

public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A> anClass)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object