jentable.java

来自「一个java 代码生成器」· Java 代码 · 共 102 行

JAVA
102
字号
/**
 * 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.jendb;

//<Imports>

import java.util.Vector;

//</Imports>

/**
 * JenTable
 *
 * @author Siddhartha P. Chandurkar
 * @version 0.9.0
 */
public class JenTable {

    //ATTRIBUTES
    private Vector columns;
    private String tableName;
    private Vector primKeys;

    //CONSTRUCTORS
    public JenTable(String _tableName) {
        columns = new Vector();
        primKeys = new Vector();
        tableName = _tableName;
    }

    //Accessor and Mutator methods
    public void addColumn(JenColumn column) {
        columns.addElement(column);
    }

    public void addPrimaryKey(String key) {
        primKeys.addElement(key);
    }

    public Vector getPrimaryKeys() {
        return primKeys;
    }

    public String getTableName() {
        return tableName;
    }

    public Vector getColumns() {
        return columns;
    }

    public String toString() {
        return "Table Name : " + tableName;
    }

    /**
     *
     */
    public String toXml() {

        StringBuffer xmlBuffer = new StringBuffer();
        xmlBuffer.append("<?xml version='1.0'?>");
        xmlBuffer.append("\n<database>");
        xmlBuffer.append("\n<table name=\"");
        StringBuffer nameBuff = new StringBuffer();
        nameBuff.append(tableName.substring(0, 1).toUpperCase());
        nameBuff.append(tableName.substring(1).toLowerCase());
        xmlBuffer.append(nameBuff.toString() + "\" original-name=\"" + tableName + "\">");
        for (int k = 0; k < columns.size(); k++) {

            xmlBuffer.append(((JenColumn) columns.elementAt(k)).toXml());
        }
        xmlBuffer.append("\n<primary-keys>");
        for (int j = 0; j < columns.size(); j++) {
            JenColumn column = (JenColumn) columns.elementAt(j);
            if (column.isPrimKey()) {
                xmlBuffer.append("\n<primary-key>");
                xmlBuffer.append("\n\t<prim-key-class>");
                //xmlBuffer.append(column.getType()); //For taking care of TR01
                xmlBuffer.append(column.getFullyQualifiedType());
                xmlBuffer.append("</prim-key-class>");
                xmlBuffer.append("\n\t<primkey-field>");
                xmlBuffer.append(column.getName());
                xmlBuffer.append("</primkey-field>");
                xmlBuffer.append("\n</primary-key>");
            }
        }
        xmlBuffer.append("\n</primary-keys>");
        xmlBuffer.append("\n</table>");
        xmlBuffer.append("\n</database>");

        return xmlBuffer.toString();
    }//toXml

}//JenTable

⌨️ 快捷键说明

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