All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.clickzetta.platform.schema.ColumnSchemaInterface Maven / Gradle / Ivy

There is a newer version: 2.0.0
Show newest version
package com.clickzetta.platform.schema;

import com.clickzetta.platform.common.ColumnSchema;
import com.clickzetta.platform.common.ColumnTypeAttributes;
import com.clickzetta.platform.common.Type;

public interface ColumnSchemaInterface {

  /**
   * Get the column's Type
   * @return the type
   */
   Type getType();

  /**
   * Get the column's name
   * @return A string representation of the name
   */
   String getName();

  /**
   * Answers if the column part of the key
   * @return true if the column is part of the key, else false
   */
   boolean isKey();

  /**
   * Answers if the column can be set to null
   * @return true if it can be set to null, else false
   */
   boolean isNullable();

  /**
   * The Java object representation of the default value that's read
   * @return the default read value
   */
   Object getDefaultValue();

  /**
   * Gets the desired block size for this column.
   * If no block size has been explicitly specified for this column,
   * returns 0 to indicate that the server-side default will be used.
   *
   * @return the block size, in bytes, or 0 if none has been configured.
   */
   int getDesiredBlockSize();

  /**
   * Return the encoding of this column, or null if it is not known.
   */
   ColumnSchema.Encoding getEncoding();

  /**
   * Return the compression algorithm of this column, or null if it is not known.
   */
   ColumnSchema.CompressionAlgorithm getCompressionAlgorithm();

  /**
   * Return the column type attributes for the column, or null if it is not known.
   */
   ColumnTypeAttributes getTypeAttributes();

  /**
   * The size of this type in bytes on the wire.
   * @return A size
   */
   int getTypeSize();

  /**
   * Return the comment for the column. An empty string means there is no comment.
   */
   String getComment();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy