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.core
Class Columnset

    java.lang.Object
      edu.udo.cs.miningmart.m4.core.M4Object
          edu.udo.cs.miningmart.m4.core.M4Data
              edu.udo.cs.miningmart.m4.core.Columnset

All Implemented Interfaces:
  Columnset, M4Data, M4Object, M4Table, XmlInfo, java.io.Serializable, java.lang.Comparable

    public class Columnset

extends M4Data
implements XmlInfo, Columnset

This class represents an M4 Columnset.

Version:
  $Id: Columnset.java,v 1.20 2006/09/27 15:00:00 euler Exp $
Author:
  Martin Scholz
See Also:
  Serialized Form

Field Summary
`static java.lang.String` | `ATTRIB_CS_CONCEPT_ID` Name of the attribute holding the ID reference to the Columnsets' Concept
`static java.lang.String` | `ATTRIB_CS_ID` DB level: Name of the attribute holding `Columnset`'s IDs
`static java.lang.String` | `ATTRIB_CS_MSBRANCH` Name of the attribute with the `Columnset`s' multi-step information
`static java.lang.String` | `ATTRIB_CS_NAME` Name of the attribute holding the `Columnset`'s names in the relational database
`static java.lang.String` | `ATTRIB_CS_SCHEMA` DB level: Name of the attribute holding the `Columnset`'s database schemas
`static java.lang.String` | `ATTRIB_CS_SQL` Name of the attribute with the `Columnset`s' SQL definition
`static java.lang.String` | `ATTRIB_CS_TYPE` Name of the attribute holding the type (View or Table) of the `Columnset`s
`static java.lang.String` | `M4_TABLE_NAME` Name of the M4 table representing `Columnsets`
`static M4Info` | `m4Info` Cache for getM4Info()
`static int` | `MAX_SQLDEF_LENGTH` The attribute COLUMNSET_T.CS_SQL has a limited length

Fields inherited from class edu.udo.cs.miningmart.m4.core.M4Data
`myDocumentation`

Fields inherited from class edu.udo.cs.miningmart.m4.core.M4Object
`myId, myName`

Fields inherited from interface edu.udo.cs.miningmart.m4.utils.XmlInfo
`M4_XML_VERSION, TAG_COLLECTION, TAG_DOUBLE, TAG_INTEGER, TAG_LONG, TAG_M4_ID, TAG_SHORT, TAG_STRING, TAG_XML_ID`

Fields inherited from interface edu.udo.cs.miningmart.m4.Columnset
`CS_TYPE_TABLE, CS_TYPE_VIEW, THRESHOLD_FOR_SAMPLING, TYPE_MATERIALIZED_VIEW, TYPE_SNAPSHOT, TYPE_TABLE, TYPE_VIEW`

Fields inherited from interface edu.udo.cs.miningmart.m4.utils.M4Table
`NOT_NULL`

Constructor Summary
`Columnset(DB m4Db)`

Method Summary
`void` | `addColumn(Column c)` Add a column to this columnset's columns.
`void` | `addForeignKey(ForeignKey fk)` Additional method not in the PSN interface.
`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)` Make a copy of this ColumnSet that is attached to the given Concept.
`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.
`void` | `deleteSoon()` Overwrites the superclass method because the columns of this columnset must be deleted, too.
`Column` | `getColumn(int index)` Get a specific column.
`Column` | `getColumn(java.lang.String name)`
`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` | `getConnectableColumns()` This method returns a collection of Column objects, which represent the columns of the database table or view that is represented by this Columnset.
`java.util.Collection` | `getDependentObjects()` This method is part of the XML-serialization and needs to be implemented by all `M4Data` sub-classes that need to be serialized.
`java.util.Collection` | `getForeignKeysWhereThisIsFkCs()` Active getter for the `Key` objects referencing to this `Columnset` as their foreign key.
`java.util.Collection` | `getForeignKeysWhereThisIsPkCs()` Active getter for the `Key` objects referencing to this `Columnset` as their primary key.
`ForeignKey` | `getForeignKeyWhereThisIsFkCs(java.lang.String name)`
`java.lang.String` | `getIdAttributeName()`
`M4Info` | `getM4Info()`
`java.lang.String` | `getM4TableName()`
`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()`
`protected java.util.Collection` | `getObjectsInNamespace(java.lang.Class typeOfObjects)` This method returns the objects of the specified type that form a namespace in the scope of this M4Data object.
`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`.
`long` | `getStatisticsAll()` Active getter method.
`int` | `getStatisticsNominal()` Getter method.
`int` | `getStatisticsOrdinal()` Getter method.
`int` | `getStatisticsTime()` Getter method.
`Concept` | `getTheConcept()`
`java.lang.String` | `getType()`
`M4Info` | `getXmlInfo()`
`boolean` | `hasColumn(Column col)`
`void` | `primitiveSetConcept(Concept concept)` Primitive setter, do not use.
`void` | `primitiveSetPrimaryKey(PrimaryKey primKey)`
`void` | `print()` Print the information about this Columnset
`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.
`protected void` | `removeAllM4References()` This method needs to be implemented by all `M4Data` objects.
`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` | `setName(java.lang.String name)` Do not use spaces in Columnset names, because these names are also used at the DB level.
`void` | `setPrimaryKey(PrimaryKey primKey)`
`void` | `setRelation(Relation newRelation)` Sets the connection to a Relation.
`void` | `setRelationPrimitive(Relation r)` Primitive setter.
`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(long 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).
`boolean` | `statisticsExist()` Checks if any statistics for this columnset have been computed.
`void` | `updateStatistics()` Executes several SQL procedure queries to calculate statistical information for the given columnset on demand.
`void` | `updateStatisticsBasedOnSample(long sampleSize)` Similar to `updateStatistics`, but it uses a sample of the data of this Columnset to determine the statistics.

Methods inherited from class edu.udo.cs.miningmart.m4.core.M4Data
`deleteLocal, exportLocal, genericGetter, genericSetter, getDocumentation, getObjectsReferencingMe, getObjectsReferencingMe, getObjectTag, getUniqueName, getValidName, getValidName, getXmlIdTag, getXmlVersion, hasDeleteStatus, importLocal, isDirty, isWaitingForDelete, primitiveGetDocObject, primitiveSetDocObject, readFromDb, readFromDbLocal, removeDocObject, removeFromDb, removeSetFromDb, setDirty, setDocumentation, setId, storeLocal, updateObjectsFromTable`

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

Methods inherited from class java.lang.Object
`clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface edu.udo.cs.miningmart.m4.utils.XmlInfo
`doPrint, doPrint, exportLocal, genericGetter, genericSetter, getObjectTag, getXmlIdTag, getXmlVersion, importLocal`

Methods inherited from interface edu.udo.cs.miningmart.m4.M4Data
`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, putM4ObjectToCache, replaceSpacesInName, setId, setNotNew`

Field Detail

### M4_TABLE_NAME

    public static final java.lang.String M4_TABLE_NAME

  Name of the M4 table representing `Columnsets`

  See Also:
    Constant Field Values

### ATTRIB_CS_ID

    public static final java.lang.String ATTRIB_CS_ID

  DB level: Name of the attribute holding `Columnset`'s IDs

  See Also:
    Constant Field Values

### ATTRIB_CS_SCHEMA

    public static final java.lang.String ATTRIB_CS_SCHEMA

  DB level: Name of the attribute holding the `Columnset`'s database schemas

  See Also:
    Constant Field Values

### ATTRIB_CS_NAME

    public static final java.lang.String ATTRIB_CS_NAME

  Name of the attribute holding the `Columnset`'s names in the relational database

  See Also:
    Constant Field Values

### ATTRIB_CS_TYPE

    public static final java.lang.String ATTRIB_CS_TYPE

  Name of the attribute holding the type (View or Table) of the `Columnset`s

  See Also:
    Constant Field Values

### ATTRIB_CS_CONCEPT_ID

    public static final java.lang.String ATTRIB_CS_CONCEPT_ID

  Name of the attribute holding the ID reference to the Columnsets' Concept

  See Also:
    Constant Field Values

### ATTRIB_CS_MSBRANCH

    public static final java.lang.String ATTRIB_CS_MSBRANCH

  Name of the attribute with the `Columnset`s' multi-step information

  See Also:
    Constant Field Values

### ATTRIB_CS_SQL

    public static final java.lang.String ATTRIB_CS_SQL

  Name of the attribute with the `Columnset`s' SQL definition

  See Also:
    Constant Field Values

### MAX_SQLDEF_LENGTH

    public static final int MAX_SQLDEF_LENGTH

  The attribute COLUMNSET_T.CS_SQL has a limited length

  See Also:
    Constant Field Values

### m4Info

    public static M4Info m4Info

  Cache for getM4Info()

Constructor Detail

### Columnset

    public Columnset(DB m4Db)

See Also:
  `edu.udo.cs.miningmart.m4.core.M4Data#Constructor`

Method Detail

### getM4TableName

    public java.lang.String getM4TableName()

  Specified by:
    `getM4TableName` in interface `M4Table`
  See Also:
    `M4Table.getM4TableName()`

### getIdAttributeName

    public java.lang.String getIdAttributeName()

  Specified by:
    `getIdAttributeName` in interface `M4Table`
  See Also:
    `M4Table.getIdAttributeName()`

### getM4Info

    public M4Info getM4Info()

  Specified by:
    `getM4Info` in interface `M4Table`
  See Also:
    `M4Table.getM4Info()`

### getXmlInfo

    public M4Info getXmlInfo()

  Specified by:
    `getXmlInfo` in interface `XmlInfo`
  Returns:
    a `M4Info` object with the information of all XML fields of `this` object.
  See Also:
    `XmlInfo.getXmlInfo()`

### print

    public void print()

  Print the information about this Columnset

  Specified by:
    `print` in interface `M4Object`
  Specified by:
    `print` in class `M4Object`

### getObjectsInNamespace

    protected java.util.Collection getObjectsInNamespace(java.lang.Class typeOfObjects)
                                                  throws M4Exception

  Description copied from class: `M4Data`
  This method returns the objects of the specified type that form a namespace in the scope of this M4Data object. For example, a Concept's namespace for the type BaseAttribute is the Collection of all BaseAttributes for this Concept. Many M4Data objects never have a namespace, they return `null`. If a namespace could exist but doesn't, an empty Collection is returned.

  Specified by:
    `getObjectsInNamespace` in class `M4Data`
  Parameters:
    `typeOfObjects` - the type of objects that form the namespace
  Returns:
    a Collection of objects of type `typeOfObjects`, or `null`.
  Throws:
    `M4Exception`
  See Also:
    `M4Data.getObjectsInNamespace(Class)`

### setName

    public void setName(java.lang.String name)

  Do not use spaces in Columnset names, because these names are also used at the DB level.

  Specified by:
    `setName` in interface `M4Object`
  Overrides:
    `setName` in class `M4Data`
  Parameters:
    `name` - the new name to be set
  See Also:
    `M4Object.setName(String)`

### setTheConcept

    public void setTheConcept(Concept c)
                       throws M4Exception

  Set this columnset's concept.

  Specified by:
    `setTheConcept` in interface `Columnset`
  Parameters:
    `c` - the Concept this ColumnSet belongs to
  Throws:
    `M4Exception`

### getTheConcept

    public Concept getTheConcept()

  Specified by:
    `getTheConcept` in interface `Columnset`
  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.

  Specified by:
    `setSchema` in interface `Columnset`
  Parameters:
    `s` - the schema name

### getSchema

    public java.lang.String getSchema()

  Specified by:
    `getSchema` in interface `Columnset`
  Returns:
    the name of the database schema where the table or view that this columnset refers to lives

### getSchemaPlusName

    public java.lang.String getSchemaPlusName()

  Specified by:
    `getSchemaPlusName` in interface `Columnset`
  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.

  Specified by:
    `setType` in interface `Columnset`
  Parameters:
    `t` - A String constant, either Columnset.CS_TYPE_TABLE or Columnset.CS_TYPE_VIEW
  Throws:
    `M4Exception`

### getType

    public java.lang.String getType()

  Specified by:
    `getType` in interface `Columnset`
  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.

  Specified by:
    `setSQLDefinition` in interface `Columnset`
  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()

  Specified by:
    `getSQLDefinition` in interface `Columnset`
  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.

  Specified by:
    `getCompleteSQLQuery` in interface `Columnset`
  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

  Specified by:
    `getCompleteSQLQuery` in interface `Columnset`
  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.

  Specified by:
    `setMultiStepBranch` in interface `Columnset`
  Parameters:
    `branchDefinition` - The new branch information

### getMultiStepBranch

    public java.lang.String getMultiStepBranch()

  Specified by:
    `getMultiStepBranch` in interface `Columnset`
  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.

  Specified by:
    `addMultiStepBranchInfo` in interface `Columnset`
  Parameters:
    `oldDef` - The multistep branch information so far
    `attribute` - The attribute
    `the` - value for the attribute
  Throws:
    `M4Exception`

### addMultiStepBranch

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

  Specified by:
    `addMultiStepBranch` in interface `Columnset`
  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.

  Specified by:
    `setColumns` in interface `Columnset`
  Parameters:
    `theColumns` - Collection of the new set of column objects
  Throws:
    `M4Exception`

### setStatistics

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

  Description copied from interface: `Columnset`
  Setter method.

  Specified by:
    `setStatistics` in interface `Columnset`
  Throws:
    `M4Exception`

### hasColumn

    public boolean hasColumn(Column col)
                      throws M4Exception

  Specified by:
    `hasColumn` in interface `Columnset`
  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

  Specified by:
    `getColumns` in interface `Columnset`
  Returns:
    all columns of this columnset in an array
  Throws:
    `M4Exception`

### getConnectableColumns

    public java.util.Collection getConnectableColumns()
                                               throws M4Exception

  This method returns a collection of Column objects, which represent the columns of the database table or view that is represented by this Columnset. It may thus happen that not all of the returned Columns have a BaseAttribute, but all can be connected to one.

  Specified by:
    `getConnectableColumns` in interface `Columnset`
  Returns:
    a Collection of Column objects representing the columns of the underlying database table or view
  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!

  Specified by:
    `setColumn` in interface `Columnset`
  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.

  Specified by:
    `getColumn` in interface `Columnset`
  Parameters:
    `index` - number of the Column
  Returns:
    Column at this index
  Throws:
    `M4Exception`

### getColumn

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

  Specified by:
    `getColumn` in interface `Columnset`
  Throws:
    `M4Exception`
  See Also:
    `ColumnSet#getColumn(String)`

### getForeignKeysWhereThisIsFkCs

    public java.util.Collection getForeignKeysWhereThisIsFkCs()
                                                       throws M4Exception

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

  Specified by:
    `getForeignKeysWhereThisIsFkCs` in interface `Columnset`
  Returns:
    a `Collection` of `Key` objects
  Throws:
    `M4Exception`

### getForeignKeysWhereThisIsPkCs

    public java.util.Collection getForeignKeysWhereThisIsPkCs()
                                                       throws M4Exception

  Active getter for the `Key` objects referencing to this `Columnset` as their primary 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`.

  Specified by:
    `getStatistics` in interface `Columnset`
  Returns:
    a `Collection` of `ColumnsetStatistics` objects, never `null`.
  Throws:
    `M4Exception`

### setStatisticsAll

    public void setStatisticsAll(long sa)
                          throws M4Exception

  Setter method.

  Specified by:
    `setStatisticsAll` in interface `Columnset`
  Parameters:
    `sa` - the new value
  Throws:
    `M4Exception`

### getStatisticsAll

    public long getStatisticsAll()
                          throws M4Exception

  Active getter method.

  Specified by:
    `getStatisticsAll` in interface `Columnset`
  Returns:
    the value
  Throws:
    `M4Exception`

### setStatisticsNominal

    public void setStatisticsNominal(int sn)
                              throws M4Exception

  Setter method.

  Specified by:
    `setStatisticsNominal` in interface `Columnset`
  Parameters:
    `sn` - the new value
  Throws:
    `M4Exception`

### getStatisticsNominal

    public int getStatisticsNominal()
                             throws M4Exception

  Getter method.

  Specified by:
    `getStatisticsNominal` in interface `Columnset`
  Returns:
    the value
  Throws:
    `M4Exception`

### setStatisticsOrdinal

    public void setStatisticsOrdinal(int so)
                              throws M4Exception

  Setter method.

  Specified by:
    `setStatisticsOrdinal` in interface `Columnset`
  Parameters:
    `so` - the new value
  Throws:
    `M4Exception`

### getStatisticsOrdinal

    public int getStatisticsOrdinal()
                             throws M4Exception

  Getter method.

  Specified by:
    `getStatisticsOrdinal` in interface `Columnset`
  Returns:
    the value
  Throws:
    `M4Exception`

### setStatisticsTime

    public void setStatisticsTime(int st)
                           throws M4Exception

  Setter method.

  Specified by:
    `setStatisticsTime` in interface `Columnset`
  Parameters:
    `st` - the new value
  Throws:
    `M4Exception`

### getStatisticsTime

    public int getStatisticsTime()
                          throws M4Exception

  Getter method.

  Specified by:
    `getStatisticsTime` in interface `Columnset`
  Returns:
    the value
  Throws:
    `M4Exception`

### addColumn

    public void addColumn(Column c)
                   throws M4Exception

  Add a column to this columnset's columns.

  Specified by:
    `addColumn` in interface `Columnset`
  Parameters:
    `c` - the additional column
  Throws:
    `M4Exception`

### removeColumn

    public boolean removeColumn(Column column)
                         throws M4Exception

  Remove a column from this Columnsets's columns.

  Specified by:
    `removeColumn` in interface `Columnset`
  Parameters:
    `c` - The new column.
  Returns:
    `true` if removing succeeded
  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.

  Specified by:
    `getMSBranchSelectionValue` in interface `Columnset`
  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

  Specified by:
    `getMsbInfoWithoutAttrib` in interface `Columnset`
  Parameters:
    `attributename` - The name of a `BaseAttribute` or a pseudoattribute which potentially occurs in the MultiStepBranch information attached to the `Columnset`.
  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.

  Specified by:
    `readOrComputeCount` in interface `Columnset`
  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.

  Specified by:
    `updateStatistics` in interface `Columnset`
  Throws:
    `M4Exception`

### updateStatisticsBasedOnSample

    public void updateStatisticsBasedOnSample(long sampleSize)
                                       throws M4Exception

  Description copied from interface: `Columnset`
  Similar to `updateStatistics`, but it uses a sample of the data of this Columnset to determine the statistics. This is done to speed up the computation of statistics, if exact statistics are not needed.

  Specified by:
    `updateStatisticsBasedOnSample` in interface `Columnset`
  Parameters:
    `sampleSize` - the maximum size of the sample to be used
  Throws:
    `M4Exception`

### statisticsExist

    public boolean statisticsExist()
                            throws M4Exception

  Description copied from interface: `Columnset`
  Checks if any statistics for this columnset have been computed.

  Specified by:
    `statisticsExist` in interface `Columnset`
  Returns:
  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.

  Specified by:
    `clearStatistics` in interface `Columnset`
  Throws:
    `M4Exception`

### primitiveSetConcept

    public void primitiveSetConcept(Concept concept)

  Primitive setter, do not use.

  Parameters:
    `concept` - the `Concept` to be set

### deleteSoon

    public void deleteSoon()
                    throws M4Exception

  Overwrites the superclass method because the columns of this columnset must be deleted, too.

  Specified by:
    `deleteSoon` in interface `M4Data`
  Overrides:
    `deleteSoon` in class `M4Data`
  Throws:
    `M4Exception`

### getRelation

    public Relation getRelation()
                         throws M4Exception

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

  Specified by:
    `getRelation` in interface `Columnset`
  Returns:
    Relation The Relation or `null`
  Throws:
    `M4Exception`

### 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.

  Specified by:
    `setRelation` in interface `Columnset`
  Parameters:
    `newRelation` - The Relation to set
  Throws:
    `M4Exception`

### setRelationPrimitive

    public void setRelationPrimitive(Relation r)

  Primitive setter. Do not use!

### removeAllM4References

    protected void removeAllM4References()
                                  throws M4Exception

  Description copied from class: `M4Data`
  This method needs to be implemented by all `M4Data` objects. It has to remove all references to other `M4Object`s.

  Specified by:
    `removeAllM4References` in class `M4Data`
  Throws:
    `M4Exception`
  See Also:
    `M4Data.removeAllM4References()`

### getDependentObjects

    public java.util.Collection getDependentObjects()
                                             throws M4Exception

  Description copied from class: `M4Data`
  This method is part of the XML-serialization and needs to be implemented by all `M4Data` sub-classes that need to be serialized.

  Specified by:
    `getDependentObjects` in interface `XmlInfo`
  Overrides:
    `getDependentObjects` in class `M4Data`
  Returns:
    a `Collection` of all `M4Data` Java objects holding a foreign key reference to `this` object. This method must never return `null`.
  Throws:
    `M4Exception`
  See Also:
    `M4Data.getDependentObjects()`

### createColumn

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

  Description copied from interface: `Columnset`
  Creates a Column that will be connected to this ColumnSet. The name of the Column must be unique for this ColumnSet.

  Specified by:
    `createColumn` in interface `Columnset`
  Throws:
    `M4Exception`
  See Also:
    `ColumnSet#createColumn(String, String)`

### createColumnsFromDbObject

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

  Description copied from interface: `Columnset`
  Creates an M4 Column for every column of the table or view with the given name, and connects it to this Columnset.

  Specified by:
    `createColumnsFromDbObject` in interface `Columnset`
  Parameters:
    `nameOfTableOrView` - name of the table or view
  Throws:
    `M4Exception`

### copy

    public Columnset copy(Concept newConcept)
                   throws M4Exception

  Make a copy of this ColumnSet that is attached to the given Concept.

  Specified by:
    `copy` in interface `Columnset`
  Throws:
    `M4Exception`
  See Also:
    `ColumnSet#copy(Concept)`

### createForeignKeyWhereThisIsFkCs

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

  Description copied from interface: `Columnset`
  Creates a ForeignKey. The name of the Key must be unique within the ColumnSet.

  Specified by:
    `createForeignKeyWhereThisIsFkCs` in interface `Columnset`
  Throws:
    `M4Exception`
  See Also:
    `ColumnSet#createForeignKey(String)`

### getForeignKeyWhereThisIsFkCs

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

  Specified by:
    `getForeignKeyWhereThisIsFkCs` in interface `Columnset`
  Throws:
    `M4Exception`
  See Also:
    `ColumnSet#getForeignKey(String)`

### addForeignKey

    public void addForeignKey(ForeignKey fk)
                       throws M4Exception

  Additional method not in the PSN interface.

  Throws:
    `M4Exception`

### removeForeignKeyWhereThisIsFkCs

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

  Description copied from interface: `Columnset`
  Removes the specified ForeignKey for this ColumnSet. It is also removed from the M4 Schema.

  Specified by:
    `removeForeignKeyWhereThisIsFkCs` in interface `Columnset`
  Throws:
    `M4Exception`
  See Also:
    `ColumnSet#removeForeignKey(String)`

### removeAllForeignKeys

    public void removeAllForeignKeys()
                              throws M4Exception

  Description copied from interface: `Columnset`
  Removes all ForeignKeys from this ColumnSet. They are removed from the M4 Schema.

  Specified by:
    `removeAllForeignKeys` in interface `Columnset`
  Throws:
    `M4Exception`
  See Also:
    `ColumnSet#removeAllForeignKeys()`

### createPrimaryKey

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

  Description copied from interface: `Columnset`
  Creates a PrimaryKey. The name of the Key must be unique within the ColumnSet.

  Specified by:
    `createPrimaryKey` in interface `Columnset`
  Throws:
    `M4Exception`
  See Also:
    `ColumnSet#createPrimaryKey(String)`

### removeAllColumns

    public void removeAllColumns()
                          throws M4Exception

  Specified by:
    `removeAllColumns` in interface `Columnset`
  Throws:
    `M4Exception`

### getPrimaryKey

    public PrimaryKey getPrimaryKey()
                             throws M4Exception

  Specified by:
    `getPrimaryKey` in interface `Columnset`
  Throws:
    `M4Exception`
  See Also:
    `ColumnSet#getPrimaryKey()`

### primitiveSetPrimaryKey

    public void primitiveSetPrimaryKey(PrimaryKey primKey)

  See Also:
    `ColumnSet#setPrimaryKey(PrimaryKey)`

### setPrimaryKey

    public void setPrimaryKey(PrimaryKey primKey)
                       throws M4Exception

  Specified by:
    `setPrimaryKey` in interface `Columnset`
  Throws:
    `M4Exception`

### removePrimaryKey

    public void removePrimaryKey()
                          throws M4Exception

  Description copied from interface: `Columnset`
  Removes the specified PrimaryKey for this ColumnSet. It is also removed from the M4 Schema.

  Specified by:
    `removePrimaryKey` in interface `Columnset`
  Throws:
    `M4Exception`
  See Also:
    `ColumnSet#removePrimaryKey()`

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