![JAR search and dependency download from the Maven repository](/logo.png)
com.github.jinahya.sql.database.metadata.bind.Column Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of database-metadata-bind Show documentation
Show all versions of database-metadata-bind Show documentation
bindings for java.sql.DatabaseMetaData
/*
* Copyright 2013 Jin Kwon .
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.github.jinahya.sql.database.metadata.bind;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.CompareToBuilder;
/**
* An entity class for binding information from
* {@link java.sql.DatabaseMetaData#getColumns(java.lang.String, java.lang.String, java.lang.String, java.lang.String) DatabaseMetaData.getColumns}.
*
* @author Jin Kwon <jinahya_at_gmail.com>
*/
@XmlRootElement
@XmlType(
propOrder = {
"columnName", "dataType", "typeName", "columnSize", "bufferLength",
"decimalDigits", "numPrecRadix", "nullable", "remarks", "columnDef",
"sqlDataType", "sqlDatetimeSub", "charOctetLength", "ordinalPosition",
"isNullable", "scopeCatalog", "scopeSchema", "scopeTable",
"sourceDataType", "isAutoincrement", "isGeneratedcolumn",
// ---------------------------------------------------------------------
"columnPrivileges"
}
)
public class Column extends AbstractChild implements Comparable {
// by TABLE_CAT,TABLE_SCHEM, TABLE_NAME, and ORDINAL_POSITION.
@Override
public int compareTo(final Column o) {
return new CompareToBuilder()
.append(tableCat, o.getTableCat())
.append(tableSchem, o.getTableSchem())
.append(tableName, o.getTableName())
.append(ordinalPosition, o.getOrdinalPosition())
.build();
}
@Override
public String toString() {
return super.toString() + "{"
+ "tableCat=" + tableCat
+ ", tableSchem=" + tableSchem
+ ", tableName=" + tableName
+ ", columnName=" + columnName
+ ", dataType=" + dataType
+ ", typeName=" + typeName
+ ", columnSize=" + columnSize
+ ", bufferLength=" + bufferLength
+ ", decimalDigits=" + decimalDigits
+ ", numPrecRadix=" + numPrecRadix
+ ", nullable=" + nullable
+ ", remarks=" + remarks
+ ", columnDef=" + columnDef
+ ", sqlDataType=" + sqlDataType
+ ", sqlDatetimeSub=" + sqlDatetimeSub
+ ", charOctetLength=" + charOctetLength
+ ", ordinalPosition=" + ordinalPosition
+ ", isNullable=" + isNullable
+ ", scopeCatalog=" + scopeCatalog
+ ", scopeSchema=" + scopeSchema
+ ", scopeTable=" + scopeTable
+ ", sourceDataType=" + sourceDataType
+ ", isAutoincrement=" + isAutoincrement
+ ", isGeneratedcolumn=" + isGeneratedcolumn
+ "}";
}
// ---------------------------------------------------------------- tableCat
public String getTableCat() {
return tableCat;
}
public void setTableCat(final String tableCat) {
this.tableCat = tableCat;
}
// -------------------------------------------------------------- tableSchem
public String getTableSchem() {
return tableSchem;
}
public void setTableSchem(final String tableSchem) {
this.tableSchem = tableSchem;
}
// --------------------------------------------------------------- tableName
public String getTableName() {
return tableName;
}
public void setTableName(final String tableName) {
this.tableName = tableName;
}
// -------------------------------------------------------------- columnName
public String getColumnName() {
return columnName;
}
public void setColumnName(final String columnName) {
this.columnName = columnName;
}
// ---------------------------------------------------------------- dataType
public int getDataType() {
return dataType;
}
public void setDataType(final int dataType) {
this.dataType = dataType;
}
// ---------------------------------------------------------------- typeName
public String getTypeName() {
return typeName;
}
public void setTypeName(final String typeName) {
this.typeName = typeName;
}
// -------------------------------------------------------------- columnSize
public int getColumnSize() {
return columnSize;
}
public void setColumnSize(int columnSize) {
this.columnSize = columnSize;
}
// ------------------------------------------------------------ bufferLength
public Integer getBufferLength() {
return bufferLength;
}
public void setBufferLength(final Integer bufferLength) {
this.bufferLength = bufferLength;
}
// ----------------------------------------------------------- decimalDigits
public Integer getDecimalDigits() {
return decimalDigits;
}
public void setDecimalDigits(final Integer decimalDigits) {
this.decimalDigits = decimalDigits;
}
// ------------------------------------------------------------ numPrecRadix
public int getNumPrecRadix() {
return numPrecRadix;
}
public void setNumPrecRadix(final int numPrecRadix) {
this.numPrecRadix = numPrecRadix;
}
// ---------------------------------------------------------------- nullable
public int getNullable() {
return nullable;
}
public void setNullable(final int nullable) {
this.nullable = nullable;
}
// ----------------------------------------------------------------- remarks
public String getRemarks() {
return remarks;
}
public void setRemarks(final String remarks) {
this.remarks = remarks;
}
// --------------------------------------------------------------- columnDef
public String getColumnDef() {
return columnDef;
}
public void setColumnDef(final String columnDef) {
this.columnDef = columnDef;
}
// ------------------------------------------------------------- sqlDataType
public Integer getSqlDataType() {
return sqlDataType;
}
public void setSqlDataType(final Integer sqlDataType) {
this.sqlDataType = sqlDataType;
}
// ---------------------------------------------------------- sqlDatetimeSub
public Integer getSqlDatetimeSub() {
return sqlDatetimeSub;
}
public void setSqlDatetimeSub(final Integer sqlDatetimeSub) {
this.sqlDatetimeSub = sqlDatetimeSub;
}
// --------------------------------------------------------- charOctetLength
public int getCharOctetLength() {
return charOctetLength;
}
public void setCharOctetLength(final int charOctetLength) {
this.charOctetLength = charOctetLength;
}
// --------------------------------------------------------- ordinalPosition
public int getOrdinalPosition() {
return ordinalPosition;
}
public void setOrdinalPosition(final int ordinalPosition) {
this.ordinalPosition = ordinalPosition;
}
// -------------------------------------------------------------- isNullable
public String getIsNullable() {
return isNullable;
}
public void setIsNullable(final String isNullable) {
this.isNullable = isNullable;
}
// ------------------------------------------------------------ scopeCatalog
public String getScopeCatalog() {
return scopeCatalog;
}
public void setScopeCatalog(final String scopeCatalog) {
this.scopeCatalog = scopeCatalog;
}
// ------------------------------------------------------------- scopeSchema
public String getScopeSchema() {
return scopeSchema;
}
public void setScopeSchema(final String scopeSchema) {
this.scopeSchema = scopeSchema;
}
// -------------------------------------------------------------- scopeTable
public String getScopeTable() {
return scopeTable;
}
public void setScopeTable(final String scopeTable) {
this.scopeTable = scopeTable;
}
// ---------------------------------------------------------- sourceDataType
public Short getSourceDataType() {
return sourceDataType;
}
public void setSourceDataType(final Short sourceDataType) {
this.sourceDataType = sourceDataType;
}
// --------------------------------------------------------- isAutoincrement
public String getIsAutoincrement() {
return isAutoincrement;
}
public void setIsAutoincrement(final String isAutoincrement) {
this.isAutoincrement = isAutoincrement;
}
// ------------------------------------------------------- isGeneratedcolumn
public String getIsGeneratedcolumn() {
return isGeneratedcolumn;
}
public void setIsGeneratedcolumn(final String isGeneratedcolumn) {
this.isGeneratedcolumn = isGeneratedcolumn;
}
// ------------------------------------------------------------------- table
// just for class diagram
private Table getTable() {
return getParent();
}
// public void setTable(final Table table) {
//
// setParent(table);
// }
//
//
// Column table(final Table table) {
//
// setTable(table);
//
// return this;
// }
// -------------------------------------------------------- columnPrivileges
public List getColumnPrivileges() {
if (columnPrivileges == null) {
columnPrivileges = new ArrayList();
}
return columnPrivileges;
}
public void setColumnPrivileges(List columnPrivileges) {
this.columnPrivileges = columnPrivileges;
}
// -------------------------------------------------------------------------
@Label("TABLE_CAT")
@NillableBySpecification
@XmlAttribute
private String tableCat;
@Label("TABLE_SCHEM")
@NillableBySpecification
@XmlAttribute
private String tableSchem;
@Label("TABLE_NAME")
@XmlAttribute
private String tableName;
@Label("COLUMN_NAME")
@XmlElement(required = true)
private String columnName;
@Label("DATA_TYPE")
@XmlElement(required = true)
private int dataType;
@Label("TYPE_NAME")
@XmlElement(required = true)
private String typeName;
@Label("COLUMN_SIZE")
@XmlElement(required = true)
private int columnSize;
@Label("BUFFER_LENGTH")
@Unused
@XmlElement(nillable = true, required = true)
private Integer bufferLength;
@Label("DECIMAL_DIGITS")
@NillableBySpecification
@XmlElement(required = true)
private Integer decimalDigits;
@Label("NUM_PREC_RADIX")
@XmlElement(required = true)
private int numPrecRadix;
@Label("NULLABLE")
@XmlElement(required = true)
private int nullable;
@Label("REMARKS")
@NillableBySpecification
@XmlElement(nillable = true, required = true)
private String remarks;
@Label("COLUMN_DEF")
@NillableBySpecification
@XmlElement(nillable = true, required = true)
private String columnDef;
@Label("SQL_DATA_TYPE")
@Unused
@XmlElement(nillable = true, required = true)
private Integer sqlDataType;
@Label("SQL_DATETIME_SUB")
@Unused
@XmlElement(nillable = true, required = true)
private Integer sqlDatetimeSub;
@Label("CHAR_OCTET_LENGTH")
@XmlElement(required = true)
private int charOctetLength;
@Label("ORDINAL_POSITION")
@XmlElement(required = true)
private int ordinalPosition;
@Label("IS_NULLABLE")
@XmlElement(required = true)
private String isNullable;
@Label("SCOPE_CATALOG")
@NillableBySpecification
@XmlElement(nillable = true, required = true)
private String scopeCatalog;
@Label("SCOPE_SCHEMA")
@NillableBySpecification
@XmlElement(nillable = true, required = true)
private String scopeSchema;
@Label("SCOPE_TABLE")
@NillableBySpecification
@XmlElement(nillable = true, required = true)
private String scopeTable;
@Label("SOURCE_DATA_TYPE")
@NillableBySpecification
@XmlElement(nillable = true, required = true)
private Short sourceDataType;
@Label("IS_AUTOINCREMENT")
@XmlElement(required = true)
private String isAutoincrement;
@Label("IS_GENERATEDCOLUMN")
@XmlElement(required = true)
private String isGeneratedcolumn;
@Invocation(
name = "getColumnPrivileges",
types = {String.class, String.class, String.class, String.class},
argsarr = {
@InvocationArgs({
":tableCat", ":tableSchem", ":tableName", ":columnName"
})
}
)
@XmlElementRef
private List columnPrivileges;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy