FileDocCategorySizeDatePackage
LifecycleCallbackNode.javaAPI DocGlassfish v2 API5058Fri May 04 22:31:38 BST 2007com.sun.enterprise.deployment.node

LifecycleCallbackNode

public class LifecycleCallbackNode extends DeploymentDescriptorNode
This node handles all information relative to injection-complete xml tag

Fields Summary
private com.sun.enterprise.deployment.LifecycleCallbackDescriptor
descriptor
Constructors Summary
Methods Summary
public java.lang.ObjectgetDescriptor()

return
the descriptor instance to associate with this XMLNode

        
       if (descriptor==null) {
            descriptor = new LifecycleCallbackDescriptor();
            Descriptor parentDesc = (Descriptor)getParentNode().getDescriptor();
            if (parentDesc instanceof EjbDescriptor) {
                EjbDescriptor ejbDesc = (EjbDescriptor)parentDesc;
                descriptor.setDefaultLifecycleCallbackClass(
                    ejbDesc.getEjbClassName());
            } else if (parentDesc instanceof EjbInterceptor) {
                EjbInterceptor ejbInterceptor = 
                    (EjbInterceptor)parentDesc;
                descriptor.setDefaultLifecycleCallbackClass(
                    ejbInterceptor.getInterceptorClassName());
            }
            // we set the default lifecycle callback class for appclient 
            // later in validate since the appclient Main class is not 
            // available at this point
        }
        return descriptor;
    
protected java.util.MapgetDispatchTable()
all sub-implementation of this class can use a dispatch table to map xml element to method name on the descriptor class for setting the element value.

return
the map with the element name as a key, the setter method as a value

        Map table = super.getDispatchTable();
        table.put(TagNames.LIFECYCLE_CALLBACK_CLASS, 
            "setLifecycleCallbackClass");
        table.put(TagNames.LIFECYCLE_CALLBACK_METHOD, 
            "setLifecycleCallbackMethod");
        return table;
    
public org.w3c.dom.NodewriteDescriptor(org.w3c.dom.Node parent, java.lang.String nodeName, com.sun.enterprise.deployment.LifecycleCallbackDescriptor descriptor)
write the descriptor class to a DOM tree and return it

param
parent node in the DOM tree
param
node name for the root element of this xml fragment
param
the descriptor to write
return
the DOM tree top node

        Node myNode = appendChild(parent, nodeName);
        appendTextChild(myNode, TagNames.LIFECYCLE_CALLBACK_CLASS, 
            descriptor.getLifecycleCallbackClass());                        
        appendTextChild(myNode, TagNames.LIFECYCLE_CALLBACK_METHOD, 
            descriptor.getLifecycleCallbackMethod());                        
        return myNode;