CmpNodepublic class CmpNode extends com.sun.enterprise.deployment.node.DeploymentDescriptorNode This node handles the cmp runtime deployment descriptors |
Fields Summary |
---|
protected com.sun.enterprise.deployment.IASEjbCMPEntityDescriptor | descriptor |
Constructors Summary |
---|
public CmpNode()Creates new CmpNode
registerElementHandler(new XMLElement(RuntimeTagNames.FINDER), FinderNode.class);
registerElementHandler(new XMLElement(RuntimeTagNames.PREFETCH_DISABLED), PrefetchDisabledNode.class);
|
Methods Summary |
---|
public void | addDescriptor(java.lang.Object newDescriptor)Adds a new DOL descriptor instance to the descriptor instance associated with
this XMLNode
getDescriptor();
if (newDescriptor instanceof IASEjbCMPFinder ) {
descriptor.addOneOneFinder((IASEjbCMPFinder ) newDescriptor);
}
else if (newDescriptor instanceof PrefetchDisabledDescriptor) {
descriptor.setPrefetchDisabledDescriptor((PrefetchDisabledDescriptor)newDescriptor);
} else super.addDescriptor(descriptor);
| public java.lang.Object | getDescriptor()
if (descriptor == null) {
Object desc = getParentNode().getDescriptor();
if (desc instanceof IASEjbCMPEntityDescriptor) {
descriptor = (IASEjbCMPEntityDescriptor) desc;
}
}
return descriptor;
| 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 dispatchTable = super.getDispatchTable();
dispatchTable.put(RuntimeTagNames.MAPPING_PROPERTIES, "setMappingProperties");
// deprecated element, will be ignored at reading
dispatchTable.put(RuntimeTagNames.IS_ONE_ONE_CMP, null);
return dispatchTable;
| public org.w3c.dom.Node | writeDescriptor(org.w3c.dom.Node parent, java.lang.String nodeName, com.sun.enterprise.deployment.IASEjbCMPEntityDescriptor ejbDescriptor)write the descriptor class to a DOM tree and return it
Node cmpNode = super.writeDescriptor(parent, nodeName, ejbDescriptor);
appendTextChild(cmpNode, RuntimeTagNames.MAPPING_PROPERTIES, ejbDescriptor.getMappingProperties());
Map finders = ejbDescriptor.getOneOneFinders();
if (!finders.isEmpty()) {
Node findersNode = appendChild(cmpNode, RuntimeTagNames.ONE_ONE_FINDERS);
FinderNode fn = new FinderNode();
for (Iterator finderIterator = finders.values().iterator();finderIterator.hasNext();) {
IASEjbCMPFinder aFinder = (IASEjbCMPFinder) finderIterator.next();
fn.writeDescriptor(findersNode, RuntimeTagNames.FINDER, aFinder);
}
}
// prefetch-disabled
PrefetchDisabledDescriptor prefetchDisabledDesc =
ejbDescriptor.getPrefetchDisabledDescriptor();
if (prefetchDisabledDesc != null) {
PrefetchDisabledNode prefetchDisabledNode =
new PrefetchDisabledNode();
prefetchDisabledNode.writeDescriptor(cmpNode,
RuntimeTagNames.PREFETCH_DISABLED, prefetchDisabledDesc);
}
return cmpNode;
|
|