001: /*
002: * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/CompilableTag.java,v 1.5 2002/05/17 15:18:12 jstrachan Exp $
003: * $Revision: 1.5 $
004: * $Date: 2002/05/17 15:18:12 $
005: *
006: * ====================================================================
007: *
008: * The Apache Software License, Version 1.1
009: *
010: * Copyright (c) 1999-2002 The Apache Software Foundation. All rights
011: * reserved.
012: *
013: * Redistribution and use in source and binary forms, with or without
014: * modification, are permitted provided that the following conditions
015: * are met:
016: *
017: * 1. Redistributions of source code must retain the above copyright
018: * notice, this list of conditions and the following disclaimer.
019: *
020: * 2. Redistributions in binary form must reproduce the above copyright
021: * notice, this list of conditions and the following disclaimer in
022: * the documentation and/or other materials provided with the
023: * distribution.
024: *
025: * 3. The end-user documentation included with the redistribution, if
026: * any, must include the following acknowlegement:
027: * "This product includes software developed by the
028: * Apache Software Foundation (http://www.apache.org/)."
029: * Alternately, this acknowlegement may appear in the software itself,
030: * if and wherever such third-party acknowlegements normally appear.
031: *
032: * 4. The names "The Jakarta Project", "Commons", and "Apache Software
033: * Foundation" must not be used to endorse or promote products derived
034: * from this software without prior written permission. For written
035: * permission, please contact apache@apache.org.
036: *
037: * 5. Products derived from this software may not be called "Apache"
038: * nor may "Apache" appear in their names without prior written
039: * permission of the Apache Group.
040: *
041: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
042: * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
043: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
044: * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
045: * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
046: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
047: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
048: * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
049: * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
050: * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
051: * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
052: * SUCH DAMAGE.
053: * ====================================================================
054: *
055: * This software consists of voluntary contributions made by many
056: * individuals on behalf of the Apache Software Foundation. For more
057: * information on the Apache Software Foundation, please see
058: * <http://www.apache.org/>.
059: *
060: * $Id: CompilableTag.java,v 1.5 2002/05/17 15:18:12 jstrachan Exp $
061: */
062: package org.apache.commons.sql.model;
063:
064: import java.util.Iterator;
065: import java.util.ArrayList;
066: import java.util.List;
067:
068: public class Column {
069: private String name;
070: private boolean primaryKey = false;
071: private boolean required = false;
072: private boolean autoIncrement = false;
073: private int typeCode;
074: private String type;
075: private int size = 0;
076: private String defaultValue = null;
077: private int scale = 0;
078: private int precisionRadix = 10;
079: private int ordinalPosition = 0;
080:
081: public Column() {
082: }
083:
084: public Column(String name, int typeCode, int size,
085: boolean required, boolean primaryKey,
086: boolean autoIncrement, String defaultValue) {
087: this .name = name;
088: this .typeCode = typeCode;
089: this .type = TypeMap.getJdbcTypeName(typeCode);
090: this .size = size;
091: this .required = required;
092: this .primaryKey = primaryKey;
093: this .autoIncrement = autoIncrement;
094: this .defaultValue = defaultValue;
095: }
096:
097: public Column(String name, String type, int size, boolean required,
098: boolean primaryKey, boolean autoIncrement,
099: String defaultValue) {
100: this (name, TypeMap.getJdbcTypeCode(type), size, required,
101: primaryKey, autoIncrement, defaultValue);
102: }
103:
104: public Column(String name, int typeCode, int size,
105: boolean required, boolean primaryKey,
106: boolean autoIncrement, String defaultValue, int scale) {
107: this .name = name;
108: this .typeCode = typeCode;
109: this .type = TypeMap.getJdbcTypeName(typeCode);
110: this .size = size;
111: this .required = required;
112: this .primaryKey = primaryKey;
113: this .autoIncrement = autoIncrement;
114: this .defaultValue = defaultValue;
115: this .scale = scale;
116: }
117:
118: public String toString() {
119: return super .toString() + "[name=" + name + ";type=" + type
120: + "]";
121: }
122:
123: public String getName() {
124: return name;
125: }
126:
127: public void setName(String name) {
128: this .name = name;
129: }
130:
131: public boolean isPrimaryKey() {
132: return primaryKey;
133: }
134:
135: public void setPrimaryKey(boolean primaryKey) {
136: this .primaryKey = primaryKey;
137: }
138:
139: public boolean isRequired() {
140: return required;
141: }
142:
143: public void setRequired(boolean required) {
144: this .required = required;
145: }
146:
147: public boolean isAutoIncrement() {
148: return autoIncrement;
149: }
150:
151: public void setAutoIncrement(boolean autoIncrement) {
152: this .autoIncrement = autoIncrement;
153: }
154:
155: public int getTypeCode() {
156: return typeCode;
157: }
158:
159: public void setTypeCode(int typeCode) {
160: this .typeCode = typeCode;
161: this .type = TypeMap.getJdbcTypeName(typeCode);
162: }
163:
164: public String getType() {
165: return type;
166: }
167:
168: /**
169: * Set this columns type by name
170: */
171: public void setType(String type) {
172: this .type = type;
173: this .typeCode = TypeMap.getJdbcTypeCode(type);
174: }
175:
176: public int getSize() {
177: return size;
178: }
179:
180: public void setSize(int size) {
181: this .size = size;
182: }
183:
184: public int getScale() {
185: return this .scale;
186: }
187:
188: public void setScale(int scale) {
189: this .scale = scale;
190: }
191:
192: public String getDefaultValue() {
193: return defaultValue;
194: }
195:
196: public void setDefaultValue(String defaultValue) {
197: this .defaultValue = defaultValue;
198: }
199:
200: public int getPrecisionRadix() {
201: return this .precisionRadix;
202: }
203:
204: public void setPrecisionRadix(int precisionRadix) {
205: this .precisionRadix = precisionRadix;
206: }
207:
208: public int getOrdinalPosition() {
209: return this .ordinalPosition;
210: }
211:
212: public void setOrdinalPosition(int ordinalPosition) {
213: this.ordinalPosition = ordinalPosition;
214: }
215:
216: }
|