EnvEntryNodepublic class EnvEntryNode extends DeploymentDescriptorNode This node is responsible for handling all env-entry related xml tags |
Fields Summary |
---|
private boolean | setValueCalled |
Constructors Summary |
---|
public EnvEntryNode()
super();
registerElementHandler(new XMLElement(TagNames.INJECTION_TARGET),
InjectionTargetNode.class, "addInjectionTarget");
|
Methods Summary |
---|
public void | addDescriptor(java.lang.Object newDescriptor)
if( setValueCalled ) {
super.addDescriptor(newDescriptor);
} else {
// Don't add it to DOL. The env-entry only exists
// at runtime if it has been assigned a value.
}
| public boolean | endElement(XMLElement element)
if (TagNames.ENVIRONMENT_PROPERTY_NAME.equals(element.getQName())) {
// name element is always right before value, so initialize
// setValueCalled to false when it is processed.
setValueCalled = false;
} else if( TagNames.ENVIRONMENT_PROPERTY_VALUE.equals
(element.getQName()) ) {
setValueCalled = true;
}
return super.endElement(element);
| protected java.util.Map | getDispatchTable()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.
Map table = super.getDispatchTable();
table.put(TagNames.ENVIRONMENT_PROPERTY_NAME, "setName");
table.put(TagNames.ENVIRONMENT_PROPERTY_VALUE, "setValue");
table.put(TagNames.ENVIRONMENT_PROPERTY_TYPE, "setType");
table.put(TagNames.MAPPED_NAME, "setMappedName");
return table;
| public org.w3c.dom.Node | writeDescriptor(org.w3c.dom.Node parent, java.lang.String nodeName, com.sun.enterprise.deployment.Descriptor descriptor)write the descriptor class to a DOM tree and return it
if (!(descriptor instanceof EnvironmentProperty)) {
throw new IllegalArgumentException(getClass() + " cannot handles descriptors of type " + descriptor.getClass());
}
EnvironmentProperty envProp = (EnvironmentProperty) descriptor;
Node envEntryNode = super.writeDescriptor(parent, nodeName, descriptor);
writeLocalizedDescriptions(envEntryNode, envProp);
appendTextChild(envEntryNode, TagNames.ENVIRONMENT_PROPERTY_NAME, envProp.getName());
appendTextChild(envEntryNode, TagNames.ENVIRONMENT_PROPERTY_TYPE, envProp.getType());
appendTextChild(envEntryNode, TagNames.ENVIRONMENT_PROPERTY_VALUE, envProp.getValue());
appendTextChild(envEntryNode, TagNames.MAPPED_NAME, envProp.getMappedName());
if( envProp.isInjectable() ) {
InjectionTargetNode ijNode = new InjectionTargetNode();
for (InjectionTarget target : envProp.getInjectionTargets()) {
ijNode.writeDescriptor(envEntryNode, TagNames.INJECTION_TARGET, target);
}
}
return envEntryNode;
|
|