⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jendescstrategy.java

📁 一个java 代码生成器
💻 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.converter.ConversionException;
import com.jenerator.converter.Converter;
import com.jenerator.converter.ObjectConverter;
import com.jenerator.struct.jendb.JenDb;
import com.jenerator.struct.jendb.JenTable;
import com.jenerator.util.ConfigurationException;
import org.apache.log4j.Logger;

import java.io.File;
import java.util.Vector;

//</Imports>

/**
 * JenDescStrategy
 * This strategy implements the logic to generate Jenerator descriptor file
 * It is based on the strategy pattern
 * @see TransformStrategy
 * @author  Siddhartha P. Chandurkar
 * @version 0.9.0
 *
 */
public class JenDescStrategy extends TransformStrategy {


    //ATTRIBTES
    private static Logger log = Logger.getLogger(com.jenerator.transformer.JenDescStrategy.class.getName());

    //METHODS
    /**
     * This method overides the super class <code>transform()</code> method
     */
    public void transform() throws TransformFailedException {

        try {
            Converter converter = new ObjectConverter();
            JenDb db = (JenDb) converter.convert();
            Vector tables = db.getTables();
            log.debug("Gnerating the Jen-desc xml file");
            StringBuffer databaseXml = new StringBuffer();
            databaseXml.append("<?xml version='1.0'?>");
            databaseXml.append("\n<desc>");
            for (int i = 0; i < tables.size(); i++) {
                JenTable table = (JenTable) tables.elementAt(i);
                databaseXml.append(table.toXml().substring(21));
            }
            databaseXml.append("\n</desc>");
            processor.process(databaseXml.toString(), "jen-desc.xsl", "jen-desc.xml", File.separator + "JEN-INF");
        } catch (NotProcessableException ex) {
            log.fatal(ex);
            throw new TransformFailedException(ex);
        } catch (ConfigurationException ex) {
            log.fatal(ex);
            throw new TransformFailedException(ex);
        } catch (ConversionException ex) {
            log.fatal(ex);
            throw new TransformFailedException(ex);

        }


    }//transform


}//JenDescStrategy

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -