/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.metadata.runtime; /** * ColumnRecord * * @since 8.0 */ public interface ColumnRecord extends MetadataRecord { /** * Check if the column is selectable * @return true if the column is selectable elese false */ boolean isSelectable(); /** * Check if the column is updatable * @return true if the column is updatable else false */ boolean isUpdatable(); /** * Check if the column is nullable * @return nulltype of the column */ int getNullType(); /** * Check if the column is autoincrementable * @return true if the column is autoincrementable else false */ boolean isAutoIncrementable(); /** * Check if the column is casesensitive * @return true if the column is casesensitive else false */ boolean isCaseSensitive(); /** * Check if the column is signed type. * @return true if the column is of a fixed length */ boolean isSigned(); /** * Check if the column is a currency type * @return true if the column is of a fixed length */ boolean isCurrency(); /** * Check if the column is of a fixed length * @return true if the column is of a fixed length */ boolean isFixedLength(); /** * Check if the column represents a column on a virtual group * that is mapped to a procedure's input parameter that is a * transformation source. In this sense, the virtual column * is an input parameter to the tranformation. * @return true if the column is a tranformation input parameter */ boolean isTranformationInputParameter(); /** * Check if the column is searcheable in a LIKE clause * @return true if the column is searcheable in a LIKE clause */ int getSearchType(); /** * Get the default value of the column * @return column's default value */ String getDefaultValue(); /** * Get the minimum value of the column * @return column's minimum value */ Object getMinValue(); /** * Get the maximum value of the column * @return column's maximum value */ Object getMaxValue(); /** * Get the format of the column * @return column's format */ String getFormat(); /** * Get the column's length * @return length of the column */ int getLength(); /** * Get the column's length * @return length of the column */ int getScale(); /** * Get the runtime type name of the column * @return column's runtime type */ String getRuntimeType(); /** * Get the native type name of the column * @return column's native type */ String getNativeType(); /** * Get the UUID of the datatype associated with the column * @return the UUID of the datatype */ String getDatatypeUUID(); /** * Get the precision of the column * @return column's precision */ int getPrecision(); /** * Get the position of the column within its parent * @return column's position */ int getPosition(); /** * Get the charOctetLength of the column * @return column's char octet length */ int getCharOctetLength(); /** * Get the column's radix * @return the column's radix */ int getRadix(); /** * Get the number of distinct values this column has in the table. * @return distinct values for the column * @since 4.3 */ int getDistinctValues(); /** * Get the number of null values this column has in the table. * @return null values for the column * @since 4.3 */ int getNullValues(); }