java.lang.Object
javax.ide.extension.ElementVisitor
javax.ide.extension.ExtensionHook
javax.ide.extension.DynamicHook
- public class DynamicHook
- extends ExtensionHook
An implementation of ExtensionHook that automatically populates
model objects using reflection.
|
Method Summary |
protected void |
attachData(java.lang.Object parent,
java.lang.String data,
ElementEndContext context)
|
protected void |
attachObject(java.lang.Object parent,
java.lang.Object child,
ElementEndContext context)
|
void |
end(ElementEndContext context)
Visit the end tag of an xml element. |
protected java.lang.reflect.Method |
findMethod(ElementContext context,
java.lang.Object o,
java.lang.String elementName,
java.lang.Class[] paramTypes)
|
protected java.lang.Object |
getApplicationObject(java.lang.Class runtimeType,
ElementStartContext context)
|
protected java.lang.String |
getMethodName(java.lang.String prefix,
java.lang.String elementName)
|
protected java.lang.Class |
getRuntimeType(ElementStartContext context)
|
protected void |
handleComplexElementEnd(ElementEndContext context)
|
protected void |
handleComplexElementStart(java.lang.Object applicationObject,
ElementStartContext context)
|
protected void |
handleSimpleElementEnd(ElementEndContext context)
|
protected void |
handleSimpleElementStart(ElementStartContext context)
|
protected void |
invokePostInitialize(java.lang.Object o)
|
protected void |
invokePreInitialize(java.lang.Object child,
java.lang.Object parent)
|
void |
registerElementTypeResolver(DynamicHook.ElementTypeResolver resolver)
|
void |
start(ElementStartContext context)
Visit the start tag of an xml element. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
sApplicationObjectKey
public final java.lang.String sApplicationObjectKey
ATTRIBUTE_CLASS
private static final java.lang.String ATTRIBUTE_CLASS
- See Also:
- Constant Field Values
SET_METHOD_PREFIX
private static final java.lang.String SET_METHOD_PREFIX
- See Also:
- Constant Field Values
ADD_METHOD_PREFIX
private static final java.lang.String ADD_METHOD_PREFIX
- See Also:
- Constant Field Values
sObjectParamTypes
private static final java.lang.Class[] sObjectParamTypes
sStringParamTypes
private static final java.lang.Class[] sStringParamTypes
_applicationObjectStack
private final javax.ide.extension.spi.Stack _applicationObjectStack
- This stack references the application objects currently in scope. After
creation, an application object is pushed onto the stack. When that
complex element goes out of scope, the object is popped from the stack.
_complexTypeIndicatorStack
private final javax.ide.extension.spi.Stack _complexTypeIndicatorStack
- This stack references a verdict on whether the element in scope is complex
or simple. When the element goes out of scope, the verdict on the parent
element is available at the top of this stack.
_classLoader
private java.lang.ClassLoader _classLoader
- If non-null, this classloader is passed to all calls to Class.newInstance()
, otherwise the current thread context classloader is used.
_resolvers
private final java.util.List _resolvers
- A list of registered DynamicHook.ElementTypeResolvers which may be queried for
the runtime type corresponding to an xml element.
DynamicHook
public DynamicHook(java.lang.Object rootObject)
DynamicHook
public DynamicHook(java.lang.Object rootObject,
java.lang.ClassLoader classLoader)
DynamicHook
public DynamicHook(java.lang.Object rootObject,
java.lang.ClassLoader classLoader,
DynamicHook.ElementTypeResolver resolver)
registerElementTypeResolver
public void registerElementTypeResolver(DynamicHook.ElementTypeResolver resolver)
start
public void start(ElementStartContext context)
- Description copied from class:
ElementVisitor
- Visit the start tag of an xml element.
This implementation does nothing.
- Overrides:
start in class ElementVisitor
end
public void end(ElementEndContext context)
- Description copied from class:
ElementVisitor
- Visit the end tag of an xml element.
This implementation does nothing.
- Overrides:
end in class ElementVisitor
handleComplexElementStart
protected void handleComplexElementStart(java.lang.Object applicationObject,
ElementStartContext context)
handleComplexElementEnd
protected void handleComplexElementEnd(ElementEndContext context)
handleSimpleElementStart
protected void handleSimpleElementStart(ElementStartContext context)
handleSimpleElementEnd
protected void handleSimpleElementEnd(ElementEndContext context)
getRuntimeType
protected java.lang.Class getRuntimeType(ElementStartContext context)
getApplicationObject
protected java.lang.Object getApplicationObject(java.lang.Class runtimeType,
ElementStartContext context)
attachObject
protected void attachObject(java.lang.Object parent,
java.lang.Object child,
ElementEndContext context)
attachData
protected void attachData(java.lang.Object parent,
java.lang.String data,
ElementEndContext context)
invokePreInitialize
protected void invokePreInitialize(java.lang.Object child,
java.lang.Object parent)
invokePostInitialize
protected void invokePostInitialize(java.lang.Object o)
findMethod
protected java.lang.reflect.Method findMethod(ElementContext context,
java.lang.Object o,
java.lang.String elementName,
java.lang.Class[] paramTypes)
getMethodName
protected java.lang.String getMethodName(java.lang.String prefix,
java.lang.String elementName)