de.grogra.reflect
Interface Type<T>

All Superinterfaces:
Member
All Known Implementing Classes:
Abs.Type, Acos.Type, AdditionalArrange.Type, AlgorithmSwitchShader.Type, AllFilter.Type, AmbientLight.Type, Arc.Type, AreaLight.Type, ArrangeLOD.Type, Asin.Type, Atan.Type, AutoregressiveTexture.Type, BernoulliProbability.Type, BetaprimeProbability.Type, BetaProbability.Type, BezierCurve.Type, BezierSurface.Type, BinomialProbability.Type, BlackbodySPD.Type, BlackbodySpectralCurve.Type, BoundedType, BSplineCurveImpl.Type, BSplineOfVertices.Type, BSplineSurfaceImpl.Type, Camera.Type, CauchyProbability.Type, Ceil.Type, Chain.Type, ChannelSPD.Type, ChisquareProbability.Type, Circle.Type, Circular.Type, ClassAdapter, ComponentTransform.Type, ConstantSPD.Type, ConstantSpectralCurve.Type, Cos.Type, Cosh.Type, Cubic.Type, Curve.Type, CurveRef.Type, CurveSequence.Type, CustomFunction.Type, DartThrowing.Type, DatasetRef.Type, DiamondSquareTexture.Type, DirectionalLight.Type, E.Type, Ellipse.Type, EnumerationType, ErlangProbability.Type, Exp.Type, Exp2.Type, Expm1.Type, ExtrudedSurface.Type, FileRef.Type, FilterDescriptor.Type, FixedImageAdapter.Type, Floor.Type, FluxLightModel.Type, FluxLightModelTracer.Type, FontAdapter.Type, FProbability.Type, Function.Type, FunctionRef.Type, GammaProbability.Type, GeometricArrange.Type, GeometricProbability.Type, GraphDescriptor.Type, Graytone.Type, GRSMesh.Type, HalftoningArrange.Type, HeightField.Type, HeightFieldMapping.Type, Helix.Type, HornLOD.Type, HydraLOD.Type, Id.Type, ImageAdapter.Type, ImageHeightField.Type, ImageRef.Type, IntersectionType, InvgammaProbability.Type, IOR.Type, IORShader.Type, IrregularSpectralCurve.Type, IsoCurve.Type, ItemReference.Type, Kachelung.Type, LazyType, LensProjection.Type, LightBase.Type, LightDistribution.Type, LightDistributionResource.Type, LightModel.Type, LocationParameterBase.Type, Log.Type, Log10.Type, LogisticProbability.Type, Lognormal2Probability.Type, LognormalProbability.Type, ManageableType, MaterialRef.Type, Matrix3dType, Matrix3fType, Matrix4dType, Matrix4fType, MetaGraphDescriptor.Type, Navigator3DFactory.Type, NegexpProbability.Type, NetworkHeightField.Type, Node.NType, NoneFilter.Type, Normal2Probability.Type, NormalProbability.Type, ParallelProjection.Type, ParetoProbability.Type, PascalProbability.Type, PerspectiveProjection.Type, Phi.Type, PhiBallLOD.Type, PhysicalLight.Type, Pi.Type, PointLight.Type, PoissonProbability.Type, ProbabilityArrange.Type, ProductSurface.Type, ProfileSweep.Type, ProjectGraphDescriptor.Type, Projection.Type, Rad.Type, Ramp.Type, RandomBase.Type, RectangularHeightFieldMapping.Type, Reference.Type, RegularPolygon.Type, RegularSpectralCurve.Type, RGBSpectralCurve.Type, Rnd.Type, Rndabs.Type, RuledSurface.Type, Scallop.Type, SCOType, Sequence.Type, ShaderRef.Type, SideSwitchShader.Type, Sin.Type, Sin01.Type, Sinh.Type, SkinnedSurface.Type, SPD.Type, SPDCurve.Type, SPDResource.Type, SpectralLight.Type, SpectralLightMapNode.Type, SphericalHeightFieldMapping.Type, SplineFunction.Type, SpotLight.Type, Sqr.Type, Sqrt.Type, StraightLine.Type, SubGrid.Type, SurfaceRef.Type, Sweep.Type, SweepSequence.Type, SwitchShader.Type, SwungSurface.Type, Tan.Type, Tanh.Type, TreeLOD.Type, Triangle.Type, TstudentProbability.Type, Tuple2dType, Tuple2fType, Tuple3dType, Tuple3fType, Tuple4dType, Tuple4fType, TurtleState.Type, TypeDecorator, TypeImpl, UniformProbability.Type, UniformScale.Type, VertexGridImpl.Type, VertexListImpl.Type, VertexSequence.Type, VertexSetBase.Type, View.Type, View3D.Type, Voronoi_Lloyd.Type, WeibullProbability.Type, XArray, XClass

public interface Type<T>
extends Member

The interface Type is similar in function to the class Class. It represents a type of the Java programming language and provides access to its properties (e.g., name, members). In contrast to Class, an instance of Type does not necessarily represent a compiled class (available as byte-code), it may also represent an object which provides functionality similar to real classes.

Author:
Ole Kniemeyer

Field Summary
static Type<java.lang.Boolean> BOOLEAN
          Represents the primitive type boolean.
static Type<java.lang.Byte> BYTE
          Represents the primitive type byte.
static Type<java.lang.Character> CHAR
          Represents the primitive type char.
static Type<java.lang.Class> CLASS
          Represents the class Class.
static Type<java.lang.Double> DOUBLE
          Represents the primitive type double.
static Type<java.lang.Float> FLOAT
          Represents the primitive type float.
static Type<java.lang.Number> FLOATING_POINT
          Direct supertype for primitive floating-point types.
static Type<java.lang.Integer> INT
          Represents the primitive type int.
static Type<java.lang.Number> INTEGRAL
          Direct supertype for primitive integral types.
static Type INVALID
          Represents an invalid type.
static int LOCAL_CLASS_MODIFIERS
          Mask representing the valid modifiers for local classes.
static Type<java.lang.Long> LONG
          Represents the primitive type long.
static int MEMBER_CLASS_MODIFIERS
          Mask representing the valid modifiers for member classes.
static int MEMBER_INTERFACE_MODIFIERS
          Mask representing the valid modifiers for member interfaces.
static Type<?> NULL
          Represents the null type of the Java programming language.
static Type<java.lang.Number> NUMBER
          Represents the class Number.
static Type<java.lang.Number> NUMERIC
          Base type for all primitive numeric types.
static Type<java.lang.Object> OBJECT
          Represents the class Object.
static Type<java.lang.Short> SHORT
          Represents the primitive type short.
static Type<java.lang.String> STRING
          Represents the class String.
static int TOP_LEVEL_CLASS_MODIFIERS
          Mask representing the valid modifiers for top-level classes.
static int TOP_LEVEL_INTERFACE_MODIFIERS
          Mask representing the valid modifiers for top-level interfaces.
static Type<Type> TYPE
          Represents the interface Type.
static Type[] TYPE_0
          Immutable array of length 0.
static Type<java.lang.Void> VOID
          Represents the primitive type void.
 
Fields inherited from interface de.grogra.reflect.Member
ABSTRACT, ACCESS_MODIFIERS, ARRAY, BRIDGE, CONSTANT, FINAL, INTERFACE, JAVA_MODIFIERS, LOCAL_CLASS, MIN_UNUSED_MODIFIER, NATIVE, PRIVATE, PROTECTED, PUBLIC, STATIC, STRICT, SYNCHRONIZED, SYNTHETIC, TRANSIENT, VARARGS, VOLATILE
 
Method Summary
 T cloneObject(T o, boolean deep)
           
 java.lang.Object createArray(int length)
           
 Type<?> getArrayType()
           
 java.lang.String getBinaryName()
           
 Type<?> getComponentType()
           
 Field getDeclaredField(int index)
           
 int getDeclaredFieldCount()
           
 Type<?> getDeclaredInterface(int index)
           
 int getDeclaredInterfaceCount()
           
 Method getDeclaredMethod(int index)
           
 int getDeclaredMethodCount()
           
 Type<?> getDeclaredType(int index)
           
 int getDeclaredTypeCount()
           
 java.lang.Object getDefaultElementValue(java.lang.String name)
           
 java.lang.Class<T> getImplementationClass()
           
 Lookup getLookup()
           
 java.lang.String getPackage()
           
 Type<? super T> getSupertype()
           
 int getTypeId()
          Returns the type id of this type.
 TypeLoader getTypeLoader()
           
 boolean isInstance(java.lang.Object object)
           
 boolean isStringSerializable()
           
 T newInstance()
           
 T valueOf(java.lang.String s)
           
 
Methods inherited from interface de.grogra.reflect.Member
getDeclaredAnnotation, getDeclaredAnnotationCount, getDeclaringType, getDescriptor, getModifiers, getName, getSimpleName
 

Field Detail

BOOLEAN

static final Type<java.lang.Boolean> BOOLEAN
Represents the primitive type boolean.


BYTE

static final Type<java.lang.Byte> BYTE
Represents the primitive type byte. The direct supertype is INTEGRAL.


CHAR

static final Type<java.lang.Character> CHAR
Represents the primitive type char. The direct supertype is INTEGRAL.


CLASS

static final Type<java.lang.Class> CLASS
Represents the class Class.


DOUBLE

static final Type<java.lang.Double> DOUBLE
Represents the primitive type double. The direct supertype is FLOATING_POINT.


FLOAT

static final Type<java.lang.Float> FLOAT
Represents the primitive type float. The direct supertype is FLOATING_POINT.


FLOATING_POINT

static final Type<java.lang.Number> FLOATING_POINT
Direct supertype for primitive floating-point types.


INT

static final Type<java.lang.Integer> INT
Represents the primitive type int. The direct supertype is INTEGRAL.


INTEGRAL

static final Type<java.lang.Number> INTEGRAL
Direct supertype for primitive integral types.


INVALID

static final Type INVALID
Represents an invalid type.


LOCAL_CLASS_MODIFIERS

static final int LOCAL_CLASS_MODIFIERS
Mask representing the valid modifiers for local classes.

See Also:
Constant Field Values

LONG

static final Type<java.lang.Long> LONG
Represents the primitive type long. The direct supertype is INTEGRAL.


MEMBER_CLASS_MODIFIERS

static final int MEMBER_CLASS_MODIFIERS
Mask representing the valid modifiers for member classes.

See Also:
Constant Field Values

MEMBER_INTERFACE_MODIFIERS

static final int MEMBER_INTERFACE_MODIFIERS
Mask representing the valid modifiers for member interfaces.

See Also:
Constant Field Values

NULL

static final Type<?> NULL
Represents the null type of the Java programming language.


NUMBER

static final Type<java.lang.Number> NUMBER
Represents the class Number.


NUMERIC

static final Type<java.lang.Number> NUMERIC
Base type for all primitive numeric types.


OBJECT

static final Type<java.lang.Object> OBJECT
Represents the class Object.


SHORT

static final Type<java.lang.Short> SHORT
Represents the primitive type short. The direct supertype is INTEGRAL.


STRING

static final Type<java.lang.String> STRING
Represents the class String.


TOP_LEVEL_CLASS_MODIFIERS

static final int TOP_LEVEL_CLASS_MODIFIERS
Mask representing the valid modifiers for top-level classes.

See Also:
Constant Field Values

TOP_LEVEL_INTERFACE_MODIFIERS

static final int TOP_LEVEL_INTERFACE_MODIFIERS
Mask representing the valid modifiers for top-level interfaces.

See Also:
Constant Field Values

TYPE

static final Type<Type> TYPE
Represents the interface Type.


TYPE_0

static final Type[] TYPE_0
Immutable array of length 0.


VOID

static final Type<java.lang.Void> VOID
Represents the primitive type void.

Method Detail

cloneObject

T cloneObject(T o,
              boolean deep)
              throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException

createArray

java.lang.Object createArray(int length)

getArrayType

Type<?> getArrayType()

getBinaryName

java.lang.String getBinaryName()

getComponentType

Type<?> getComponentType()

getDeclaredField

Field getDeclaredField(int index)

getDeclaredFieldCount

int getDeclaredFieldCount()

getDeclaredInterface

Type<?> getDeclaredInterface(int index)

getDeclaredInterfaceCount

int getDeclaredInterfaceCount()

getDeclaredMethod

Method getDeclaredMethod(int index)

getDeclaredMethodCount

int getDeclaredMethodCount()

getDeclaredType

Type<?> getDeclaredType(int index)

getDeclaredTypeCount

int getDeclaredTypeCount()

getDefaultElementValue

java.lang.Object getDefaultElementValue(java.lang.String name)

getImplementationClass

java.lang.Class<T> getImplementationClass()

getLookup

Lookup getLookup()

getPackage

java.lang.String getPackage()

getSupertype

Type<? super T> getSupertype()

getTypeId

int getTypeId()
Returns the type id of this type.

Returns:
this type's type id
See Also:
TypeId

getTypeLoader

TypeLoader getTypeLoader()

isInstance

boolean isInstance(java.lang.Object object)

isStringSerializable

boolean isStringSerializable()

newInstance

T newInstance()
              throws java.lang.reflect.InvocationTargetException,
                     java.lang.InstantiationException,
                     java.lang.IllegalAccessException
Throws:
java.lang.reflect.InvocationTargetException
java.lang.InstantiationException
java.lang.IllegalAccessException

valueOf

T valueOf(java.lang.String s)