ejbstructfiller.java
来自「一个java 代码生成器」· Java 代码 · 共 224 行
JAVA
224 行
/**
* Copyright (c) 2002, Siddhartha P. Chandurkar siddhartha@visioncodified.com
* All rights reserved.
* Licensed under the Academic Free License version 1.1
* See the file LICENSE.TXT for details.
* LICENSE.txt is located in the directory <install-directory>\Jenerator
* of your Jenertaor Installation.
*
*/
package com.jenerator.struct.ejb;
//<Imports>
import com.jenerator.struct.Filler;
import com.jenerator.util.Configurator;
import org.apache.log4j.Logger;
//<Imports>
/**
* EjbStructFiller
*
* @author Siddhartha P. Chandurkar
* @version 0.9.0
*/
public class EjbStructFiller implements Filler {
//ATTRIBUTES
private static Logger log = Logger.getLogger(EjbStructFiller.class.getName());
private EjbStruct ejbStruct;
private String type;
private String attributeType;
//The original Name of the attribute i.e. the column name in the Database table
//It is needed to generate BMP queries.
private String originalName;
private String primKeyClass;
private String primKey;
private String exceptions;
//For resource
private String resDesc;
private String resRefName;
private String resType;
private String resAuth;
private String dsJndiName;
//CONSTRUCTORS
/**
* EjbStructFiller
* Takes the type of the Ejb i.e. Entity, Session or MDB as an argument
*
* @param _type A String containing the type of the EJB to be filled
*/
public EjbStructFiller(String _type) {
type = _type;
}//EjbStructFiller
/**
* EjbStructFiller
* The defaulut Constructor
*/
public EjbStructFiller() {
}//EjbStructFiller
//METHODS
/**
* fill
* This operation is invoked by the GenericXmlParser. Whenever it encounters any Node
*
* @param nodeName A String containing the current Node Name
* @param nodeValue A String containing the current Node Value
* @param parent A String containing the parent Node Name
* @see GenericXmlParser
*/
public void fill(String nodeName, String nodeValue, String parentName) {
if (nodeName.equals("package") && (parentName.equals("entity")
|| parentName.equals("session") || parentName.equals("message-driven-bean")))
ejbStruct.setPackageName(nodeValue);
else if (nodeName.equals("import") && parentName.equals("imports"))
ejbStruct.addImports(nodeValue);
else if (nodeName.equals("remote"))
ejbStruct.setRemoteName(nodeValue);
else if (nodeName.equals("home"))
ejbStruct.setHomeName(nodeValue);
else if (nodeName.equals("ejb-class"))
ejbStruct.setEjbClass(nodeValue);
else if (nodeName.equals("ejb-name"))
ejbStruct.setBeanName(nodeValue);
else if (nodeName.equals("jndi-name"))
ejbStruct.setJndiName(nodeValue);
else if (nodeName.equals("unit-test-framework"))
ejbStruct.setUnitTestingFramework(nodeValue);
else if (nodeName.equals("type") && parentName.equals("attribute"))
attributeType = nodeValue;
else if (nodeName.equals("name") && parentName.equals("attribute"))
originalName = nodeValue;
else if (nodeName.equals("prim-key") && parentName.equals("attribute"))
primKey = nodeValue;
else if ((nodeName.equals("version") && parentName.equals("entity")) || (nodeName.equals("version") && parentName.equals("session"))) {
try {
ejbStruct.setEjbSpecVersion(nodeValue);
} catch (WrongEJBSpecVersionException ex) { //This exception is not needed it can be taken care by the DTD.
log.fatal(ex);
}
} else if (nodeName.equals("attribute")) {
if (primKey == null)
ejbStruct.addAttribute(new AttributeStruct(nodeValue, attributeType, originalName));
else
ejbStruct.addAttribute(new AttributeStruct(nodeValue, attributeType, originalName, primKey));
} else if (nodeName.equals("getters")) {
if (nodeValue.equals("yes"))
((EntityStruct) ejbStruct).setGetterFlag(true);
else
((EntityStruct) ejbStruct).setGetterFlag(false);
} else if (nodeName.equals("setters") && parentName.equals("entity")) {
if (nodeValue.equals("yes"))
((EntityStruct) ejbStruct).setSetterFlag(true);
else
((EntityStruct) ejbStruct).setSetterFlag(false);
} else if (nodeName.equals("table-name") && parentName.equals("entity")) {
((EntityStruct) ejbStruct).setTableName(nodeValue);
} else if (nodeName.equals("prim-key-class") && parentName.equals("primary-key"))
primKeyClass = nodeValue;
else if (nodeName.equals("primkey-field") && parentName.equals("primary-key"))
((EntityStruct) ejbStruct).addPrimKey(nodeValue, primKeyClass);
else if (nodeName.equals("persistence-type"))
((EntityStruct) ejbStruct).setPersistenceType(nodeValue);
else if (nodeName.equals("value-object")) {
if (nodeValue.equals("yes"))
((EntityStruct) ejbStruct).setValueObjects(true);
else
((EntityStruct) ejbStruct).setValueObjects(false);
} else if (nodeName.equals("setters") && parentName.equals("value-object")) {
if (nodeValue.equals("yes"))
((EntityStruct) ejbStruct).setValueSetters(true);
else
((EntityStruct) ejbStruct).setValueSetters(false);
} else if (nodeName.equals("package") && parentName.equals("value-object")) {
((EntityStruct) ejbStruct).setValueObjectPackage(nodeValue);
} else if (nodeName.equals("local")) {
((EntityStruct) ejbStruct).setLocalRemote(nodeValue);
} else if (nodeName.equals("generate") && parentName.equals("local")) {
((EntityStruct) ejbStruct).setLocalGenerate(nodeValue);
} else if (nodeName.equals("local-home")) {
((EntityStruct) ejbStruct).setLocalHome(nodeValue);
} else if (nodeName.equals("exceptions") && parentName.equals("signature")) {
exceptions = nodeValue;
} else if (nodeName.equals("signature") && parentName.equals("method")) {
if (exceptions == null) {
exceptions = "null";
}
ejbStruct.addMethodSignature(nodeValue, exceptions);
} else if (nodeName.equals("description") && parentName.equals("resource-ref")) {
resDesc = nodeValue;
} else if (nodeName.equals("res-ref-name") && parentName.equals("resource-ref")) {
resRefName = nodeValue;
} else if (nodeName.equals("res-type") && parentName.equals("resource-ref")) {
resType = nodeValue;
} else if (nodeName.equals("res-auth") && parentName.equals("resource-ref")) {
resAuth = nodeValue;
} else if (nodeName.equals("datasource-jndi-name") && parentName.equals("resource-ref")) {
dsJndiName = nodeValue;
ejbStruct.setResRefStruct(new ResourceRefStruct(resDesc, resRefName, resType, resAuth, dsJndiName));
} else if (nodeName.equals("session-type"))
((SessionStruct) ejbStruct).setSessionType(nodeValue);
else if (nodeName.equals("transaction-type") && parentName.equals("session"))
((SessionStruct) ejbStruct).setTransactionType(nodeValue);
else if (nodeName.equals("transaction-type") && parentName.equals("message-driven-bean"))
((MDBStruct) ejbStruct).setTransactionType(nodeValue);
else if (nodeName.equals("message-selector"))
((MDBStruct) ejbStruct).setMessageSelector(nodeValue);
else if (nodeName.equals("acknowledge-mode"))
((MDBStruct) ejbStruct).setAcknowledgeMode(nodeValue);
else if (nodeName.equals("destination-type") && parentName.equals("message-driven-destination"))
((MDBStruct) ejbStruct).setDestination(nodeValue);
else if (nodeName.equals("subscription-durability") && parentName.equals("message-driven-destination"))
((MDBStruct) ejbStruct).setSubscriptionDurability(nodeValue);
}
/**
* setStartOfNode
* Tells whether it is the start of the node or not.
* This method is called by the GenericXmlPaser
* @param flag A boolean telling whether it is the start of the node or not
* @see GenericXmlParser
*/
public void setStartOfNode(boolean flag) {
if (flag == true) {
if (type.equals("entity"))
ejbStruct = new EntityStruct();
else if (type.equals("session"))
ejbStruct = new SessionStruct();
else if (type.equals("message-driven-bean"))
ejbStruct = new MDBStruct();
} else {
Configurator.getInstance().getConfigStructs().addEjbStruct(ejbStruct);
}
}
/**
* setRootElement
* Tells the root element from which the parsing has started.
* Here the meaning of root element is the element from where the parsing has been
* started by the GenericXmlParser it can be any element in the heirarchy of XML element
* This method is called by the GenericXmlPaser
*
* @param _rootElement A String which contains the name of the root element.
* @see GenericXmlParser
*/
public void setRootElement(String _rootElement) {
type = _rootElement;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?