edu.udo.cs.miningmart.m4.core
Class MultiColumnFeature

java.lang.Object
  extended byedu.udo.cs.miningmart.m4.core.M4Object
      extended byedu.udo.cs.miningmart.m4.core.M4Data
          extended byedu.udo.cs.miningmart.m4.core.GraphicalM4Object
              extended byedu.udo.cs.miningmart.m4.core.ParameterObject
                  extended byedu.udo.cs.miningmart.m4.core.Feature
                      extended byedu.udo.cs.miningmart.m4.core.MultiColumnFeature
All Implemented Interfaces:
java.lang.Comparable, Feature, GraphicalM4Object, M4Data, M4Object, M4Table, MultiColumnFeature, ParameterObject, java.io.Serializable, XmlInfo

public class MultiColumnFeature
extends Feature
implements XmlInfo, MultiColumnFeature

This class represents an M4 MultiColumnFeature.

Version:
$Id: MultiColumnFeature.java,v 1.3 2006/04/11 14:10:14 euler Exp $
Author:
Timm Euler
See Also:
Serialized Form

Field Summary
static java.lang.String ATTRIB_MCF_CONCEPT
          DB level: The attribute storing the MCFs' concept IDs.
static java.lang.String ATTRIB_MCF_ID
          DB level: The attribute storing the MCF IDs.
static java.lang.String ATTRIB_MCF_NAME
          DB level: The attribute storing the MCF IDs.
static java.lang.String M4_TABLE_NAME
          The M4 table name storing concept information.
static M4Info m4Info
          Cache for getM4Info()
 
Fields inherited from class edu.udo.cs.miningmart.m4.core.GraphicalM4Object
graph2coord
 
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.utils.M4Table
NOT_NULL
 
Constructor Summary
MultiColumnFeature(DB m4Db)
           
 
Method Summary
 void addBaseAttribute(BaseAttribute ba)
           
 MultiColumnFeature copy()
          Copy this MultiColumnFeature.
 Feature copy(Concept newConcept)
          Create a copy of this MultiColumnFeature and connect it to the given Concept.
 BaseAttribute getBaseAttributeByName(java.lang.String name)
           
 java.util.Collection getBaseAttributes()
          Getter method.
 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.lang.String getIdAttributeName()
           
 M4Info getM4Info()
           
 java.lang.String getM4TableName()
           
 M4Info getXmlInfo()
           
 boolean hasBaseAttribute(BaseAttribute ba)
           
 boolean isDeselected()
           
 boolean isRelationallyValid()
          This method returns information about the relational validity of the object.
 void primitiveSetConcept(Concept c)
          Primitive setter, do not use.
 void print()
          Method to print data about this M4Object.
protected  void removeAllM4References()
          This method needs to be implemented by all M4Data objects.
 boolean removeBaseAttribute(BaseAttribute ba)
           
 void removeLinkToColumns()
          Removes the link between this feature and all of its columns.
 void setBaseAttributes(java.util.Collection theAttribs)
          Setter method.
 
Methods inherited from class edu.udo.cs.miningmart.m4.core.Feature
correspondsTo, getConcept, getObjectsInNamespace, getParameterWhereThisIsOutputFeature, hasCoordinates, primitiveSetConcept, setConcept
 
Methods inherited from class edu.udo.cs.miningmart.m4.core.ParameterObject
addParameterReference, getParameterReferences, removeParameterReference
 
Methods inherited from class edu.udo.cs.miningmart.m4.core.GraphicalM4Object
deleteLocal, deleteSoon, getCoordinates, getPoint, primitiveSetCoordinates, setCoordinatesDirty, setName, setPoint, storeLocal
 
Methods inherited from class edu.udo.cs.miningmart.m4.core.M4Data
exportLocal, genericGetter, genericSetter, getDocumentation, getObjectsReferencingMe, getObjectsReferencingMe, getObjectTag, getValidName, getXmlIdTag, getXmlVersion, hasDeleteStatus, importLocal, isDirty, isWaitingForDelete, primitiveGetDocObject, primitiveSetDocObject, readFromDb, readFromDbLocal, removeDocObject, removeFromDb, removeSetFromDb, setDirty, setDocumentation, setId, 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
 
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.Feature
correspondsTo, getConcept, getParameterWhereThisIsOutputFeature, setConcept
 
Methods inherited from interface edu.udo.cs.miningmart.m4.ParameterObject
addParameterReference, getParameterReferences, removeParameterReference
 
Methods inherited from interface edu.udo.cs.miningmart.m4.GraphicalM4Object
getPoint, setPoint
 
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, putM4ObjectToCache, replaceSpacesInName, setId, setName
 

Field Detail

M4_TABLE_NAME

public static final java.lang.String M4_TABLE_NAME
The M4 table name storing concept information.

See Also:
Constant Field Values

ATTRIB_MCF_ID

public static final java.lang.String ATTRIB_MCF_ID
DB level: The attribute storing the MCF IDs.

See Also:
Constant Field Values

ATTRIB_MCF_NAME

public static final java.lang.String ATTRIB_MCF_NAME
DB level: The attribute storing the MCF IDs.

See Also:
Constant Field Values

ATTRIB_MCF_CONCEPT

public static final java.lang.String ATTRIB_MCF_CONCEPT
DB level: The attribute storing the MCFs' concept IDs.

See Also:
Constant Field Values

m4Info

public static M4Info m4Info
Cache for getM4Info()

Constructor Detail

MultiColumnFeature

public MultiColumnFeature(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()
Description copied from interface: M4Object
Method to print data about this M4Object.

Specified by:
print in interface M4Object
Overrides:
print in class GraphicalM4Object
See Also:
Parameter.print()

getBaseAttributes

public java.util.Collection getBaseAttributes()
                                       throws M4Exception
Getter method.

Specified by:
getBaseAttributes in interface MultiColumnFeature
Returns:
all BaseAttributes that are bundled in this MCF.
Throws:
M4Exception

setBaseAttributes

public void setBaseAttributes(java.util.Collection theAttribs)
                       throws M4Exception
Setter method.

Specified by:
setBaseAttributes in interface MultiColumnFeature
Throws:
M4Exception

hasBaseAttribute

public boolean hasBaseAttribute(BaseAttribute ba)
                         throws M4Exception
Specified by:
hasBaseAttribute in interface MultiColumnFeature
Parameters:
ba - a BaseAttribute
Returns:
true if a BaseAttribute with the same ID is already linked to this MultiColumnFeature
Throws:
M4Exception

addBaseAttribute

public void addBaseAttribute(BaseAttribute ba)
                      throws M4Exception
Specified by:
addBaseAttribute in interface MultiColumnFeature
Throws:
M4Exception

getBaseAttributeByName

public BaseAttribute getBaseAttributeByName(java.lang.String name)
                                     throws M4Exception
Specified by:
getBaseAttributeByName in interface MultiColumnFeature
Parameters:
name - the name
Returns:
the BaseAttribute with the given name if there is one (ignoring case); null otherwise
Throws:
M4Exception

removeBaseAttribute

public boolean removeBaseAttribute(BaseAttribute ba)
                            throws M4Exception
Specified by:
removeBaseAttribute in interface MultiColumnFeature
Throws:
M4Exception

removeLinkToColumns

public void removeLinkToColumns()
                         throws M4Exception
Description copied from interface: Feature
Removes the link between this feature and all of its columns. This is needed to disconnect the conceptual and relational level.

Specified by:
removeLinkToColumns in interface Feature
Throws:
M4Exception

copy

public MultiColumnFeature copy()
                        throws M4Exception
Copy this MultiColumnFeature.

Specified by:
copy in interface MultiColumnFeature
Returns:
A clone of this MCF with ID 0, because it does not exist in the DB yet.
Throws:
M4Exception

copy

public Feature copy(Concept newConcept)
             throws M4Exception
Create a copy of this MultiColumnFeature and connect it to the given Concept.

Specified by:
copy in interface Feature
Parameters:
newConcept - the concept to add the copy of this MultiColumnFeature to
Returns:
a copy of this MultiColumnFeature; the copy is connected to the given Concept
Throws:
M4Exception

isDeselected

public boolean isDeselected()
                     throws M4CompilerError
Specified by:
isDeselected in interface MultiColumnFeature
Specified by:
isDeselected in class Feature
Returns:
true iff this MultiColumnFeature has been "deselected" by a FeatureSelection operator or has not been connected by the user. A MultiColumnFeature is considered deselected, if one of its BaseAttributes has been deselected.
Throws:
M4CompilerError

primitiveSetConcept

public void primitiveSetConcept(Concept c)
Primitive setter, do not use.

Parameters:
c - the Concept to be set

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

Overrides:
removeAllM4References in class ParameterObject
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 ParameterObject
Throws:
M4Exception
See Also:
M4Data.getDependentObjects()

isRelationallyValid

public boolean isRelationallyValid()
                            throws M4Exception
This method returns information about the relational validity of the object. A MCF is valid if it has at least two BAs and all the BAs are valid, and if it has a concept.

Specified by:
isRelationallyValid in interface Feature
Throws:
M4Exception


Copyright © 2001-2005