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

MessageDestinationRefNode

public class MessageDestinationRefNode extends DeploymentDescriptorNode
This class handles all information related to the message-destination-ref xml tag
author
Kenneth Saks
version

Fields Summary
Constructors Summary
public MessageDestinationRefNode()

        super();
        registerElementHandler(new XMLElement(TagNames.INJECTION_TARGET), 
                                InjectionTargetNode.class, "addInjectionTarget");                          
    
Methods Summary
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
map with the element name as a key, the setter method as a value

        Map table = super.getDispatchTable();
        table.put(TagNames.MESSAGE_DESTINATION_REFERENCE_NAME, "setName");    
        table.put(TagNames.MESSAGE_DESTINATION_TYPE, "setDestinationType"); 
        table.put(TagNames.MESSAGE_DESTINATION_USAGE, "setUsage");
        table.put(TagNames.MESSAGE_DESTINATION_LINK, 
                  "setMessageDestinationLinkName");
        table.put(TagNames.MAPPED_NAME, "setMappedName");

        return table;
    
public org.w3c.dom.NodewriteDescriptor(org.w3c.dom.Node parent, java.lang.String nodeName, com.sun.enterprise.deployment.MessageDestinationReferenceDescriptor desc)
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 msgDestRefNode = appendChild(parent, nodeName);

        writeLocalizedDescriptions(msgDestRefNode, desc);

        appendTextChild(msgDestRefNode,
                        TagNames.MESSAGE_DESTINATION_REFERENCE_NAME,
                        desc.getName()); 
        appendTextChild(msgDestRefNode, TagNames.MESSAGE_DESTINATION_TYPE, 
                        desc.getDestinationType());         
        appendTextChild(msgDestRefNode, TagNames.MESSAGE_DESTINATION_USAGE, 
                        desc.getUsage());         
        appendTextChild(msgDestRefNode, TagNames.MESSAGE_DESTINATION_LINK,
                            desc.getMessageDestinationLinkName());
        appendTextChild(msgDestRefNode, TagNames.MAPPED_NAME, 
            desc.getMappedName());

        if( desc.isInjectable() ) {
            InjectionTargetNode ijNode = new InjectionTargetNode();
            for (InjectionTarget target : desc.getInjectionTargets()) {
                ijNode.writeDescriptor(msgDestRefNode, TagNames.INJECTION_TARGET, target);
            }
        }

        return msgDestRefNode;