Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## edu.udo.cs.miningmart.m4
Interface Columnset

All Superinterfaces:
  M4Data, M4Object

All Known Implementing Classes:
  Columnset

public interface Columnset
extends M4Data

Version:
  $Id: Columnset.java,v 1.6 2006/04/11 14:10:12 euler Exp $
Author:
  Timm Euler, Daniel Hakenjos

Field Summary
`static java.lang.String` | `CS_TYPE_TABLE` DB level: String constant used in the DB to indicate that this columnset is a table
`static java.lang.String` | `CS_TYPE_VIEW` DB level: String constant used in the DB to indicate that this columnset is a view
`static java.lang.String` | `TYPE_MATERIALIZED_VIEW`
`static java.lang.String` | `TYPE_SNAPSHOT`
`static java.lang.String` | `TYPE_TABLE`
`static java.lang.String` | `TYPE_VIEW`

Method Summary
`void` | `addColumn(Column c)` Add a column to this columnset's columns.
`void` | `addMultiStepBranch(java.lang.String branch)`
`void` | `addMultiStepBranchInfo(java.lang.String oldDef, java.lang.String attribute, java.lang.String value)` Adds an attribute-value pair to the MultiStepBranch field if the attribute isn't already present there.
`void` | `clearStatistics()` If data changes in the database, e.g. a DB Concept is edited, then this method allows to delete the deprecated statistics objects without running a garbage collection.
`Columnset` | `copy(Concept newConcept)`
`Column` | `createColumn(java.lang.String name, java.lang.String datatype)` Creates a Column that will be connected to this ColumnSet.
`void` | `createColumnsFromDbObject(java.lang.String nameOfTableOrView)` Creates an M4 Column for every column of the table or view with the given name, and connects it to this Columnset.
`ForeignKey` | `createForeignKeyWhereThisIsFkCs(java.lang.String name)` Creates a ForeignKey.
`PrimaryKey` | `createPrimaryKey(java.lang.String name)` Creates a PrimaryKey.
`Column` | `getColumn(int index)` Get a specific column.
`Column` | `getColumn(java.lang.String columnName)`
`java.util.Collection` | `getColumns()`
`java.lang.String` | `getCompleteSQLQuery()` This method returns a complete SQL query, which can be used to get the data as represented by this `Columnset`.
`java.lang.String` | `getCompleteSQLQuery(java.lang.String rowNumName)` This method returns a complete SQL query, which can be used to get the data as represented by this `Columnset`.
`java.util.Collection` | `getForeignKeysWhereThisIsFkCs()` Active getter for the `Key` objects referencing to this `Columnset` as their forein key.
`ForeignKey` | `getForeignKeyWhereThisIsFkCs(java.lang.String keyName)`
`java.lang.String` | `getMsbInfoWithoutAttrib(java.lang.String attributeName)`
`java.lang.String` | `getMSBranchSelectionValue(java.lang.String attributeName)` Scans the MultiStepBranch information of the `Columnset` for attributeName=Value; and returns the corresponding value, `null` otherwise.
`java.lang.String` | `getMultiStepBranch()`
`PrimaryKey` | `getPrimaryKey()`
`Relation` | `getRelation()` Returns the Relation in which this Columnset realizes the cross table, if there is such a Relation.
`java.lang.String` | `getSchema()`
`java.lang.String` | `getSchemaPlusName()`
`java.lang.String` | `getSQLDefinition()`
`java.util.Collection` | `getStatistics()` Active getter for the `ColumnsetStatistics` of this `Columnset`.
`int` | `getStatisticsAll()` Getter method.
`int` | `getStatisticsNominal()` Getter method.
`int` | `getStatisticsOrdinal()` Getter method.
`int` | `getStatisticsTime()` Getter method.
`Concept` | `getTheConcept()`
`java.lang.String` | `getType()`
`boolean` | `hasColumn(Column col)`
`java.lang.String` | `readOrComputeCount()` Reads, or computes and inserts into the statistics table, the number of rows of this ColumnSet and returns it as a string.
`void` | `removeAllColumns()`
`void` | `removeAllForeignKeys()` Removes all ForeignKeys from this ColumnSet.
`boolean` | `removeColumn(Column column)` Remove a column from this Columnsets's columns.
`void` | `removeForeignKeyWhereThisIsFkCs(java.lang.String name)` Removes the specified ForeignKey for this ColumnSet.
`void` | `removePrimaryKey()` Removes the specified PrimaryKey for this ColumnSet.
`void` | `setColumn(int index, Column c)` Set a specific column.
`void` | `setColumns(java.util.Collection theColumns)` Set all columns of this columnset.
`void` | `setMultiStepBranch(java.lang.String branchDefinition)` Set the information about the multistep branch.
`void` | `setPrimaryKey(PrimaryKey primaryKey)`
`void` | `setRelation(Relation newRelation)` Sets the connection to a Relation.
`void` | `setSchema(java.lang.String s)` Set the database schema where the table or view that this columnset refers to lives.
`void` | `setSQLDefinition(java.lang.String sqlDefinition)` Set the sql definition.
`void` | `setStatistics(java.util.Collection theStats)` Setter method.
`void` | `setStatisticsAll(int sa)` Setter method.
`void` | `setStatisticsNominal(int sn)` Setter method.
`void` | `setStatisticsOrdinal(int so)` Setter method.
`void` | `setStatisticsTime(int st)` Setter method.
`void` | `setTheConcept(Concept c)` Set this columnset's concept.
`void` | `setType(java.lang.String t)` Set the type of this columnset (table or view).
`void` | `updateStatistics()` Executes several SQL procedure queries to calculate statistical information for the given columnset on demand.

Methods inherited from interface edu.udo.cs.miningmart.m4.M4Data
`deleteSoon, getDocumentation, getValidName, isDirty, isWaitingForDelete, setDocumentation`

Methods inherited from interface edu.udo.cs.miningmart.m4.M4Object
`doPrint, doPrint, equals, executeBusinessSingleValueSqlRead, executeBusinessSingleValueSqlReadL, executeBusinessSqlRead, executeBusinessSqlWrite, executeM4SingleValueSqlRead, executeM4SingleValueSqlReadL, executeM4SqlRead, executeM4SqlWrite, getCasePrintObject, getId, getM4Db, getM4ObjectFromCache, getName, getNextM4SequenceValue, isNew, load, print, putM4ObjectToCache, replaceSpacesInName, setId, setName`

Field Detail

### CS_TYPE_TABLE

    public static final java.lang.String CS_TYPE_TABLE

  DB level: String constant used in the DB to indicate that this columnset is a table

  See Also:
    Constant Field Values

### CS_TYPE_VIEW

    public static final java.lang.String CS_TYPE_VIEW

  DB level: String constant used in the DB to indicate that this columnset is a view

  See Also:
    Constant Field Values

### TYPE_TABLE

    public static final java.lang.String TYPE_TABLE

See Also:
  Constant Field Values

### TYPE_VIEW

    public static final java.lang.String TYPE_VIEW

See Also:
  Constant Field Values

### TYPE_SNAPSHOT

    public static final java.lang.String TYPE_SNAPSHOT

See Also:
  Constant Field Values

### TYPE_MATERIALIZED_VIEW

    public static final java.lang.String TYPE_MATERIALIZED_VIEW

See Also:
  Constant Field Values

Method Detail

### setTheConcept

    public void setTheConcept(Concept c)
                       throws M4Exception

  Set this columnset's concept.

  Parameters:
    `c` - the Concept this ColumnSet belongs to
  Throws:
    `M4Exception`

### getTheConcept

    public Concept getTheConcept()

  Returns:
    the Concept this ColumnSet belongs to

### setSchema

    public void setSchema(java.lang.String s)

  Set the database schema where the table or view that this columnset refers to lives.

  Parameters:
    `s` - the schema name

### getSchema

    public java.lang.String getSchema()

  Returns:
    the name of the database schema where the table or view that this columnset refers to lives

### getSchemaPlusName

    public java.lang.String getSchemaPlusName()

  Returns:
    The name only, or "schema"."name" if the "schema" is known.

### setType

    public void setType(java.lang.String t)
                 throws M4Exception

  Set the type of this columnset (table or view). Use one of the public constants of this class, either CS_TYPE_TABLE or CS_TYPE_VIEW.

  Parameters:
    `t` - A String constant, either Columnset.CS_TYPE_TABLE or Columnset.CS_TYPE_VIEW
  Throws:
    `M4Exception`

### getType

    public java.lang.String getType()

  Returns:
    A String constant, either Columnset.CS_TYPE_TABLE or Columnset.CS_TYPE_VIEW

### setSQLDefinition

    public void setSQLDefinition(java.lang.String sqlDefinition)

  Set the sql definition.

  Parameters:
    `sqlDefinition` - the new definition A value of `null` indicates that there is no explicit SQL definition, but that the name of the table or view is its defintion at the same time. If the sqlDefinition is `null` then the method `getSQLDefinition()` will return `getSchemaPlusName()`.

### getSQLDefinition

    public java.lang.String getSQLDefinition()

  Returns:
    the sql definition of this columnset, if not set explicitly then `getSchemaPlusName()`. Never returns `null`.

### getCompleteSQLQuery

    public java.lang.String getCompleteSQLQuery()
                                         throws M4Exception

  This method returns a complete SQL query, which can be used to get the data as represented by this `Columnset`. In contrast to the method `getSQLDefinition()` this method does also include virtual columns, which are sometimes not visible at the level of the Columnset's SQL definition.

  Returns:
    an SQL string like SELECT <SQLDefinition of Column1> <Name of Column1> , ... <SQLDefinition of Columnn> <Name of Columnn> FROM <SQLDefintion of the Columnset>
  Throws:
    `M4Exception`

### getCompleteSQLQuery

    public java.lang.String getCompleteSQLQuery(java.lang.String rowNumName)
                                         throws M4Exception

  This method returns a complete SQL query, which can be used to get the data as represented by this `Columnset`. The difference to the same method without the additional parameter is, that this method allows to specify a target attribute name for the internal Oracle attribute ROWNUM

  Parameters:
    `rowNumName` - the target attribute name of the ROWNUM attribute
  Returns:
    an SQL string like SELECT ROWNUM AS <rowNumName>, <SQLDefinition of Column1> <Name of Column1> , ... <SQLDefinition of Columnn> <Name of Columnn> FROM <SQLDefintion of the Columnset>
  Throws:
    `M4Exception`
  See Also:
    `Columnset.getCompleteSQLQuery`

### setMultiStepBranch

    public void setMultiStepBranch(java.lang.String branchDefinition)

  Set the information about the multistep branch.

  Parameters:
    `branchDefinition` - The new branch information

### getMultiStepBranch

    public java.lang.String getMultiStepBranch()

  Returns:
    the information about the multistep branch.

### addMultiStepBranchInfo

    public void addMultiStepBranchInfo(java.lang.String oldDef,
                                       java.lang.String attribute,
                                       java.lang.String value)
                                throws M4Exception

  Adds an attribute-value pair to the MultiStepBranch field if the attribute isn't already present there.

  Parameters:
    `oldDef` - The multistep branch information so far
    `attribute` - The attribute
  Throws:
    `M4Exception`

### addMultiStepBranch

    public void addMultiStepBranch(java.lang.String branch)
                            throws M4Exception

  Parameters:
    `branch` - A complete field `CS_MSBRANCH` as found in table COLUMNSET_T. It is added to the `CS_MSBRANCH` of `this` object via `addMultiStepBranchInfo`.
  Throws:
    `M4Exception`

### setColumns

    public void setColumns(java.util.Collection theColumns)
                    throws M4Exception

  Set all columns of this columnset.

  Parameters:
    `theColumns` - Collection of the new set of column objects
  Throws:
    `M4Exception`

### hasColumn

    public boolean hasColumn(Column col)
                      throws M4Exception

  Parameters:
    `col` - a `Column`
  Returns:
    `true` if a column with the same ID is already linked to this `Columnset`
  Throws:
    `M4Exception`

### getColumns

    public java.util.Collection getColumns()
                                    throws M4Exception

  Returns:
    all columns of this columnset in an array
  Throws:
    `M4Exception`

### setColumn

    public void setColumn(int index,
                          Column c)
                   throws M4Exception

  Set a specific column. This method is to be used with care! At several occasions it is assumed, that each Column is entered just once in a Collection and entering `null` values might also be problematic!

  Parameters:
    `index` - number of the Column
    `c` - Column to be set
  Throws:
    `M4Exception`

### getColumn

    public Column getColumn(int index)
                     throws M4Exception

  Get a specific column.

  Parameters:
    `index` - number of the Column
  Returns:
    Column at this index
  Throws:
    `M4Exception`

### getForeignKeysWhereThisIsFkCs

    public java.util.Collection getForeignKeysWhereThisIsFkCs()
                                                       throws M4Exception

  Active getter for the `Key` objects referencing to this `Columnset` as their forein key.

  Returns:
    a `Collection` of `Key` objects
  Throws:
    `M4Exception`

### getStatistics

    public java.util.Collection getStatistics()
                                       throws M4Exception

  Active getter for the `ColumnsetStatistics` of this `Columnset`.

  Returns:
    a `Collection` of `ColumnsetStatistics` objects, never `null`.
  Throws:
    `M4Exception`

### setStatistics

    public void setStatistics(java.util.Collection theStats)
                       throws M4Exception

  Setter method.

  Throws:
    `M4Exception`

### setStatisticsAll

    public void setStatisticsAll(int sa)
                          throws M4Exception

  Setter method.

  Parameters:
    `sa` - the new value
  Throws:
    `M4Exception`

### getStatisticsAll

    public int getStatisticsAll()
                         throws M4Exception

  Getter method.

  Returns:
    the value
  Throws:
    `M4Exception`

### setStatisticsNominal

    public void setStatisticsNominal(int sn)
                              throws M4Exception

  Setter method.

  Parameters:
    `sn` - the new value
  Throws:
    `M4Exception`

### getStatisticsNominal

    public int getStatisticsNominal()
                             throws M4Exception

  Getter method.

  Returns:
    the value
  Throws:
    `M4Exception`

### setStatisticsOrdinal

    public void setStatisticsOrdinal(int so)
                              throws M4Exception

  Setter method.

  Parameters:
    `so` - the new value
  Throws:
    `M4Exception`

### getStatisticsOrdinal

    public int getStatisticsOrdinal()
                             throws M4Exception

  Getter method.

  Returns:
    the value
  Throws:
    `M4Exception`

### setStatisticsTime

    public void setStatisticsTime(int st)
                           throws M4Exception

  Setter method.

  Parameters:
    `st` - the new value
  Throws:
    `M4Exception`

### getStatisticsTime

    public int getStatisticsTime()
                          throws M4Exception

  Getter method.

  Returns:
    the value
  Throws:
    `M4Exception`

### addColumn

    public void addColumn(Column c)
                   throws M4Exception

  Add a column to this columnset's columns.

  Parameters:
    `c` - the additional column
  Throws:
    `M4Exception`

### removeColumn

    public boolean removeColumn(Column column)
                         throws M4Exception

  Remove a column from this Columnsets's columns.

  Returns:
    `true` if removing succeeded
  Throws:
    `M4Exception`

### removeAllColumns

    public void removeAllColumns()
                          throws M4Exception

  Throws:
    `M4Exception`

### getMSBranchSelectionValue

    public java.lang.String getMSBranchSelectionValue(java.lang.String attributeName)
                                               throws M4Exception

  Scans the MultiStepBranch information of the `Columnset` for attributeName=Value; and returns the corresponding value, `null` otherwise. The attribute name is compared in a case insensitive way and it is assumed that exactly the format above is used. Each attribute value pair needs to be terminated by a ';', no whitespaces in between! If this assumption does not hold parsing might throw an exception.

  Parameters:
    `attributeName` - The name of the `BaseAttribute` or pseudo-attribute (e.g. (Random)) for which the value should be read from the `CS_MSBRANCH` field.
  Returns:
    the value, if found, `null` otherwise.
  Throws:
    `M4Exception`

### getMsbInfoWithoutAttrib

    public java.lang.String getMsbInfoWithoutAttrib(java.lang.String attributeName)
                                             throws M4Exception

  Returns:
    the MultiStepBranch-`String` omitting the equation for the given attribute. If the attribute does not occur, the complete `String` is returned. Note that an attribute is expected to occur at most once in the MultiStepBranch-`String`, because multiple occurences are redundant or result in an empty `Columnset`.
  Throws:
    `M4Exception,` - if the attributeName occurs in the `String`, but the substring is not properly ended by the character ';'.
    `M4Exception`

### readOrComputeCount

    public java.lang.String readOrComputeCount()
                                        throws M4Exception

  Reads, or computes and inserts into the statistics table, the number of rows of this ColumnSet and returns it as a string.

  Returns:
    the number of rows in the columnset as a String
  Throws:
    `M4Exception`

### updateStatistics

    public void updateStatistics()
                          throws M4Exception

  Executes several SQL procedure queries to calculate statistical information for the given columnset on demand. The result is written to the table CSSTATIST_T and the JAVA cache is updated. Statistics already available are not recomputed. Finally an update for the statistics of all the `Column`s of this `Columnset` is performed.

  Throws:
    `M4Exception`

### clearStatistics

    public void clearStatistics()
                         throws M4Exception

  If data changes in the database, e.g. a DB Concept is edited, then this method allows to delete the deprecated statistics objects without running a garbage collection.

  Throws:
    `M4Exception`

### getRelation

    public Relation getRelation()

  Returns the Relation in which this Columnset realizes the cross table, if there is such a Relation.

  Returns:
    Relation The Relation or `null`

### setRelation

    public void setRelation(Relation newRelation)
                     throws M4Exception

  Sets the connection to a Relation. This can be used if this Columnset realizes the cross table of a Relation.

  Parameters:
    `newRelation` - The Relation to set
  Throws:
    `M4Exception`

### createColumn

    public Column createColumn(java.lang.String name,
                               java.lang.String datatype)
                        throws M4Exception

  Creates a Column that will be connected to this ColumnSet. The name of the Column must be unique for this ColumnSet.

  Throws:
    `CreateException` - when an error occurs during creation of the object.
    `NameExistsException` - when the provided name already exists.
    `M4Exception`

### createColumnsFromDbObject

    public void createColumnsFromDbObject(java.lang.String nameOfTableOrView)
                                   throws M4Exception

  Creates an M4 Column for every column of the table or view with the given name, and connects it to this Columnset.

  Parameters:
    `nameOfTableOrView` - name of the table or view
  Throws:
    `M4Exception`

### getColumn

    public Column getColumn(java.lang.String columnName)
                     throws M4Exception

  Throws:
    `M4Exception`

### createForeignKeyWhereThisIsFkCs

    public ForeignKey createForeignKeyWhereThisIsFkCs(java.lang.String name)
                                               throws M4Exception

  Creates a ForeignKey. The name of the Key must be unique within the ColumnSet.

  Throws:
    `M4Exception`

### getForeignKeyWhereThisIsFkCs

    public ForeignKey getForeignKeyWhereThisIsFkCs(java.lang.String keyName)
                                            throws M4Exception

  Throws:
    `M4Exception`

### removeForeignKeyWhereThisIsFkCs

    public void removeForeignKeyWhereThisIsFkCs(java.lang.String name)
                                         throws M4Exception

  Removes the specified ForeignKey for this ColumnSet. It is also removed from the M4 Schema.

  Throws:
    `M4Exception`

### removeAllForeignKeys

    public void removeAllForeignKeys()
                              throws M4Exception

  Removes all ForeignKeys from this ColumnSet. They are removed from the M4 Schema.

  Throws:
    `M4Exception`

### createPrimaryKey

    public PrimaryKey createPrimaryKey(java.lang.String name)
                                throws M4Exception

  Creates a PrimaryKey. The name of the Key must be unique within the ColumnSet.

  Throws:
    `CreateException` - when an error occurs during creation of the object.
    `NameExistsException` - when the provided name already exists.
    `M4Exception`

### setPrimaryKey

    public void setPrimaryKey(PrimaryKey primaryKey)
                       throws M4Exception

  Throws:
    `M4Exception`

### removePrimaryKey

    public void removePrimaryKey()
                          throws M4Exception

  Removes the specified PrimaryKey for this ColumnSet. It is also removed from the M4 Schema.

  Throws:
    `M4Exception`

### copy

    public Columnset copy(Concept newConcept)
                   throws M4Exception

  Throws:
    `M4Exception`

### getPrimaryKey

    public PrimaryKey getPrimaryKey()
                             throws M4Exception

  Throws:
    `M4Exception`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2005