📄 homestrategy.java
字号:
/**
* 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.transformer;
//<Imports>
//Java imports
import com.jenerator.regen.ExtracterException;
import com.jenerator.regen.ReplacerException;
import com.jenerator.struct.ConfigStructs;
import com.jenerator.struct.ejb.EntityStruct;
import com.jenerator.struct.ejb.SessionStruct;
import com.jenerator.util.Configurator;
import org.apache.log4j.Logger;
import java.io.File;
import java.util.Vector;
//</Imports>
/**
* HomeStrategy
* This strategy implements the logic to generate home interfaces for all the beans
* It is based on the strategy pattern
* @see TransformStrategy
* @author Siddhartha P. Chandurkar
* @version 0.9.0
*
*/
public class HomeStrategy extends TransformStrategy {
//ATTRIBUTES
private String type = "session-sf";
private static Logger log = Logger.getLogger(com.jenerator.transformer.HomeStrategy.class.getName());
//METHODS
/**
* This method overides the super class <code>transform()</code> method
*/
public void transform() throws TransformFailedException {
try {
ConfigStructs configStructs = Configurator.getInstance().getConfigStructs();
Vector ejbStructs = configStructs.getEjbStructs();
for (int i = 0; i < ejbStructs.size(); i++) {
if (ejbStructs.elementAt(i) instanceof com.jenerator.struct.ejb.EntityStruct) {
EntityStruct entityStruct = (EntityStruct) ejbStructs.elementAt(i);
File file = new File(genDir + entityStruct.getPackageDir(), entityStruct.getHomeName() + ".java");
if (file.exists()) {
extract = extractManualCode(file);
log.debug(extract);
processor.process(entityStruct.toXml(), "entityhome.xsl", entityStruct.getHomeName() + ".java", entityStruct.getPackageDir());
replaceManualCode(file, extract);
} else {
processor.process(entityStruct.toXml(), "entityhome.xsl", entityStruct.getHomeName() + ".java", entityStruct.getPackageDir());
}
} else if (ejbStructs.elementAt(i) instanceof com.jenerator.struct.ejb.SessionStruct) {
SessionStruct sessionStruct = (SessionStruct) ejbStructs.elementAt(i);
File file = new File(genDir + sessionStruct.getPackageDir(), sessionStruct.getHomeName() + ".java");
if (file.exists()) {
extract = extractManualCode(file);
log.debug(extract);
processor.process(sessionStruct.toXml(), "sessionhome.xsl", sessionStruct.getHomeName() + ".java", sessionStruct.getPackageDir());
replaceManualCode(file, extract);
} else {
processor.process(sessionStruct.toXml(), "sessionhome.xsl", sessionStruct.getHomeName() + ".java", sessionStruct.getPackageDir());
}
}
}
} catch (NotProcessableException ex) {
log.fatal(ex);
throw new TransformFailedException(ex);
} catch (ExtracterException e) {
throw new TransformFailedException(e);
} catch (ReplacerException e) {
throw new TransformFailedException(e);
}//try
}//transform
}//HomeStrategy
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -