org.apache.xml.utils.synthetic.reflection
Class Constructor

java.lang.Object
  extended byorg.apache.xml.utils.synthetic.reflection.EntryPoint
      extended byorg.apache.xml.utils.synthetic.reflection.Constructor
All Implemented Interfaces:
Member

public class Constructor
extends EntryPoint
implements Member

Constructor provides information about, and access to, a single constructor for a class. Constructor permits widening conversions to occur when matching the actual parameters to newInstance() with the underlying constructor's formal parameters, but throws an IllegalArgumentException if a narrowing conversion would occur.


Field Summary
private  Class declaringclass
          Actual Java class object.
private  Class[] exceptiontypes
          Field exceptiontypes
private  int modifiers
          Field modifiers
private  String[] parameternames
          Field parameternames
private  Class[] parametertypes
          Field parametertypes
private  Constructor realconstructor
          Field realconstructor
 
Fields inherited from class org.apache.xml.utils.synthetic.reflection.EntryPoint
name, realE, realep, realP, returntype
 
Constructor Summary
Constructor(Class declaringclass)
          Insert the method's description here.
Constructor(Constructor realconstructor)
          Insert the method's description here.
Constructor(Constructor ctor, Class declaringclass)
          Insert the method's description here.
 
Method Summary
 int hashCode()
          Returns a hashcode for this Constructor.
 Object newInstance(Object[] initargs)
          Uses the constructor represented by this Constructor object to create and initialize a new instance of the constructor's declaring class, with the specified initialization parameters.
 
Methods inherited from class org.apache.xml.utils.synthetic.reflection.EntryPoint
addExceptionType, addParameter, equals, getBody, getDeclaringClass, getExceptionTypes, getLanguage, getModifiers, getName, getParameterNames, getParameterTypes, getReturnType, setBody, setDeclaringClass, setModifiers, setName, toSource, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.xml.utils.synthetic.reflection.Member
getDeclaringClass, getModifiers, setDeclaringClass, setModifiers
 

Field Detail

declaringclass

private Class declaringclass
Actual Java class object. When present, all interactions are redirected to it. Allows our Class to function as a wrapper for the Java version (in lieu of subclassing or a shared Interface), and allows "in-place compilation" to replace a generated description with an directly runnable class.


realconstructor

private Constructor realconstructor
Field realconstructor


parametertypes

private Class[] parametertypes
Field parametertypes


parameternames

private String[] parameternames
Field parameternames


exceptiontypes

private Class[] exceptiontypes
Field exceptiontypes


modifiers

private int modifiers
Field modifiers

Constructor Detail

Constructor

public Constructor(Class declaringclass)
Insert the method's description here.

Creation date: (12-27-99 2:31:39 PM)

Parameters:
declaringclass -

Constructor

public Constructor(Constructor ctor,
                   Class declaringclass)
Insert the method's description here.

Creation date: (12-27-99 2:31:39 PM)

Parameters:
ctor -
declaringclass -

Constructor

public Constructor(Constructor realconstructor)
Insert the method's description here.

Creation date: (12-27-99 2:31:39 PM)

Parameters:
realconstructor -
Method Detail

hashCode

public int hashCode()
Returns a hashcode for this Constructor. The hashcode is the same as the hashcode for the underlying constructor's declaring class name. ($objectName$) @return

Specified by:
hashCode in class EntryPoint

newInstance

public Object newInstance(Object[] initargs)
                   throws InstantiationException,
                          IllegalAccessException,
                          IllegalArgumentException,
                          InvocationTargetException
Uses the constructor represented by this Constructor object to create and initialize a new instance of the constructor's declaring class, with the specified initialization parameters. Individual parameters are automatically unwrapped to match primitive formal parameters, and both primitive and reference parameters are subject to widening conversions as necessary. Returns the newly created and initialized object.

Creation proceeds with the following steps, in order:

If the class that declares the underlying constructor represents an abstract class, the creation throws an InstantiationException.

If this Constructor object enforces Java language access control and the underlying constructor is inaccessible, the creation throws an IllegalAccessException.

If the number of actual parameters supplied via initargs is different from the number of formal parameters required by the underlying constructor, the creation throws an IllegalArgumentException.

A new instance of the constructor's declaring class is created, and its fields are initialized to their default initial values.

For each actual parameter in the supplied initargs array:

If the corresponding formal parameter has a primitive type, an unwrapping conversion is attempted to convert the object value to a value of the primitive type. If this attempt fails, the creation throws an IllegalArgumentException.

If, after possible unwrapping, the parameter value cannot be converted to the corresponding formal parameter type by an identity or widening conversion, the creation throws an IllegalArgumentException.

Control transfers to the underlying constructor to initialize the new instance. If the constructor completes abruptly by throwing an exception, the exception is placed in an InvocationTargetException and thrown in turn to the caller of newInstance.

If the constructor completes normally, returns the newly created and initialized instance.

Parameters:
initargs - initialization arguments.
Returns:
The new instance.
Throws:
IllegalAccessException - if the underlying constructor is inaccessible.
IllegalArgumentException - if the number of actual and formal parameters differ, or if an unwrapping conversion fails.
InstantiationException - if the class that declares the underlying constructor represents an abstract class.
InvocationTargetException - if the underlying constructor throws an exception.
InvocationTargetException