public class FieldJc
extends java.lang.Object
MemSegmJc
-reference instead of a java.lang.Object-reference. There are two reasons:
MemSegmJc
is deployed in C with a segment information and a void*-pointer,
where in Java it is a Object-reference for normal reflection usage, the segment information
and an int-address for access to extern memory with special Interprocesscomm-Mechanism such as
UDP-Telegrams, serial data transmission or access via JNI.
Modifier and Type | Class and Description |
---|---|
(package private) class |
FieldJc.GetArray<ArrayType>
Helper class containing a template method to get the last array and the last index
for indexed access.
|
(package private) class |
FieldJc.GetSetContainerElement<ElementType,ArrayType>
Helper class containing a template method to get and set a value in an array or container
for indexed access.
|
Modifier and Type | Field and Description |
---|---|
(package private) static java.lang.Class<Java4C.FixArraySize> |
annotationJava2CFixArraySize
That annotation is used to detect fix-size-arrays.
|
(package private) java.lang.annotation.Annotation[] |
annotations
All annotations from
field . |
private FieldJc.GetSetContainerElement<java.lang.Character,char[]> |
charContainer
Helper contains the method to access an int[]-array.
|
(package private) char |
cPrimitveType |
private FieldJc.GetSetContainerElement<java.lang.Double,double[]> |
doubleContainer
Helper contains the method to access an float[]-array.
|
private java.lang.reflect.Field |
field
Aggregation to the original field of reflection from Java.
|
private FieldJc.GetSetContainerElement<java.lang.Float,float[]> |
floatContainer
Helper contains the method to access an float[]-array.
|
private FieldJc.GetArray<byte[]> |
getByteArray
Helper contains the method to access an int[]-array.
|
private FieldJc.GetArray<double[]> |
getDoubleArray
Helper contains the method to access an int[]-array.
|
private FieldJc.GetArray<float[]> |
getFloatArray
Helper contains the method to access an int[]-array.
|
private FieldJc.GetArray<long[]> |
getLongArray
Helper contains the method to access an int[]-array.
|
private FieldJc.GetArray<java.lang.Object[]> |
getObjectArray
Helper contains the method to access an int[]-array.
|
private FieldJc.GetArray<short[]> |
getShortArray
Helper contains the method to access an int[]-array.
|
private FieldJc.GetArray<java.lang.String[]> |
getStringArray
Helper contains the method to access an int[]-array.
|
private FieldJc.GetSetContainerElement<java.lang.Integer,int[]> |
intContainer
Helper contains the method to access an int[]-array.
|
private FieldJc.GetSetContainerElement<java.lang.Long,long[]> |
longContainer
Helper contains the method to access an int[]-array.
|
private int |
modifier
The modifier contains some more informations as java.reflect.field.
|
private java.lang.String |
name
Name of the field.
|
private FieldJc.GetSetContainerElement<java.lang.Short,short[]> |
shortContainer
Helper contains the method to access an int[]-array.
|
(package private) int[] |
staticArraySize
The size of a static array.
|
ClassJc |
type
The type of the field.
|
static int |
version
Version, history and license.
|
Constructor and Description |
---|
FieldJc(ClassJc clazz,
java.lang.String name) |
FieldJc(java.lang.Class clazz,
java.lang.String name) |
FieldJc(java.lang.reflect.Field field)
Creates based on a given field.
|
Modifier and Type | Method and Description |
---|---|
MemSegmJc |
get(MemSegmJc obj,
int... ix) |
int |
getArraylength(MemSegmJc instance) |
(package private) int |
getArraylengthUML_ArrayList(MemSegmJc instance) |
(package private) int |
getArraylengthUML_LinkedList(MemSegmJc instance) |
(package private) int |
getArraylengthUML_Map(MemSegmJc instance) |
short |
getBitfield(MemSegmJc obj,
int... ix)
Gets the value from a bitField.
|
boolean |
getBoolean(MemSegmJc obj,
int... ix) |
byte |
getByte(MemSegmJc obj,
int... ix) |
char |
getChar(MemSegmJc obj,
int... ix) |
MemSegmJc |
getContainer(MemSegmJc obj,
int... ix) |
double |
getDouble(MemSegmJc obj,
int... ix) |
float |
getFloat(MemSegmJc obj,
int... ix) |
int |
getInt(MemSegmJc obj,
int... ix) |
long |
getInt64(MemSegmJc obj,
int... ix) |
(package private) int |
getLength(java.lang.Object objArray) |
long |
getLong(MemSegmJc obj,
int... ix) |
int |
getMemoryIdent(MemSegmJc obj,
int... ix) |
int |
getModifiers() |
java.lang.String |
getName() |
MemSegmJc |
getObjAndClass(MemSegmJc instanceM,
ClassJc[] retClazz,
int... idx)
Returns the real Class and the referenced Object appropriate to the field in the given Object.
|
short |
getShort(MemSegmJc obj,
int... ix) |
int |
getStaticArraySize() |
java.lang.String |
getString(MemSegmJc instance,
int... ix)
Gets a String representation of the content of this FieldJc in the given instance.
|
ClassJc |
getType() |
char |
getTypeChar()
Returns the type char.
|
short |
setBitfield(MemSegmJc obj,
short value,
int... ix)
Gets the value from a bitField.
|
boolean |
setBoolean(MemSegmJc objM,
boolean val,
int... ix)
Sets the integer adequate Field.setInt(obj, value), but with one or more indices.
|
char |
setChar(MemSegmJc objM,
char valSet,
int... ix) |
double |
setDouble(MemSegmJc objM,
double valSet,
int... ix) |
float |
setFloat(MemSegmJc objM,
float valSet,
int... ix) |
int |
setInt(MemSegmJc objM,
int valSet,
int... ix) |
int |
setShort(MemSegmJc objM,
short valSet,
int... ix) |
java.lang.String |
toString() |
int |
xxxgetInt(MemSegmJc obj,
int... ix) |
public static final int version
getObjAndClass(MemSegmJc, ClassJc[], int...)
: correct access to an Object[] with given ix.
getFloat(MemSegmJc, int...)
now supports non-static arrays too. Experience.
static final java.lang.Class<Java4C.FixArraySize> annotationJava2CFixArraySize
private final java.lang.reflect.Field field
private final java.lang.String name
public final ClassJc type
final char cPrimitveType
private int modifier
field
, some more bits are added, see ModifierJc
.final int[] staticArraySize
final java.lang.annotation.Annotation[] annotations
field
.private final FieldJc.GetSetContainerElement<java.lang.Integer,int[]> intContainer
private final FieldJc.GetSetContainerElement<java.lang.Long,long[]> longContainer
private final FieldJc.GetSetContainerElement<java.lang.Short,short[]> shortContainer
private final FieldJc.GetSetContainerElement<java.lang.Float,float[]> floatContainer
private final FieldJc.GetSetContainerElement<java.lang.Double,double[]> doubleContainer
private final FieldJc.GetSetContainerElement<java.lang.Character,char[]> charContainer
private final FieldJc.GetArray<short[]> getShortArray
private final FieldJc.GetArray<byte[]> getByteArray
private final FieldJc.GetArray<long[]> getLongArray
private final FieldJc.GetArray<float[]> getFloatArray
private final FieldJc.GetArray<double[]> getDoubleArray
private final FieldJc.GetArray<java.lang.Object[]> getObjectArray
private final FieldJc.GetArray<java.lang.String[]> getStringArray
public FieldJc(java.lang.reflect.Field field)
field
- Any field of reflection.public FieldJc(java.lang.Class clazz, java.lang.String name)
public FieldJc(ClassJc clazz, java.lang.String name)
public java.lang.String getName()
public ClassJc getType()
public char getTypeChar()
public int getModifiers()
public int getStaticArraySize()
public int getArraylength(MemSegmJc instance) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
int getLength(java.lang.Object objArray)
public MemSegmJc getObjAndClass(MemSegmJc instanceM, ClassJc[] retClazz, int... idx)
instanceM
- The reference to the Object, where the field is located in. It may be located
in a extern hardware.retClazz
- The really type of retObj, not only the this.getType(). The really type is gotten
from the referenced Object of that field. Only if this field is a special FieldJc instance
to access the super data, it's name
is "super", then this operation returns instanceM itself
and set retClazz to the ClassJc type of the superclass.
With them the reflection Access for Inspc presents the fields of the superclass as tree.idx
- Given index if the field is an array-field.public byte getByte(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public short getShort(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public int setShort(MemSegmJc objM, short valSet, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public int xxxgetInt(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public int getInt(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public long getLong(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public int setInt(MemSegmJc objM, int valSet, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public char getChar(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public char setChar(MemSegmJc objM, char valSet, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public long getInt64(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public float getFloat(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public float setFloat(MemSegmJc objM, float valSet, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public double getDouble(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public double setDouble(MemSegmJc objM, double valSet, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public boolean getBoolean(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public short getBitfield(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
obj
- ix
- java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public short setBitfield(MemSegmJc obj, short value, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
obj
- ix
- java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public java.lang.String getString(MemSegmJc instance, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
instance
- The instance where this FieldJc is member of.ix
- 0 or more indices if the Field is an array or container.java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public MemSegmJc get(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public int getMemoryIdent(MemSegmJc obj, int... ix)
public MemSegmJc getContainer(MemSegmJc obj, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public boolean setBoolean(MemSegmJc objM, boolean val, int... ix) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
data
- val
- ix
- java.lang.IllegalAccessException
java.lang.IllegalArgumentException
int getArraylengthUML_LinkedList(MemSegmJc instance)
int getArraylengthUML_ArrayList(MemSegmJc instance)
int getArraylengthUML_Map(MemSegmJc instance)
public java.lang.String toString()
toString
in class java.lang.Object