ca.sqlpower.architect.olap
Class MondrianModel.Closure

java.lang.Object
  extended by ca.sqlpower.architect.olap.OLAPObject
      extended by ca.sqlpower.architect.olap.MondrianModel.Closure
Enclosing class:
MondrianModel

public static class MondrianModel.Closure
extends OLAPObject

Specifies the transitive closure of a parent-child hierarchy. Optional, but recommended for better performance. The closure is provided as a set of (parent/child) pairs: since it is the transitive closure these are actually (ancestor/descendant) pairs.


Field Summary
 
Fields inherited from class ca.sqlpower.architect.olap.OLAPObject
pcs
 
Constructor Summary
MondrianModel.Closure()
          Creates a new Closure with all attributes set to their defaults.
MondrianModel.Closure(MondrianModel.Closure original)
          Creates a new Closure with all attributes copied from the given Closure.
 
Method Summary
 void addChild(int index, OLAPObject child)
          Adds the given child or sets the appropriate property on this OLAPObject, allowing the overall target index to be specified.
 void addChild(OLAPObject child)
          Adds the given child or sets the appropriate property on this OLAPObject, if this type of OLAPObject has the applicable addXXX() or setXXX() method for the given object's type.
 boolean allowsChildren()
          Returns true if this type of OLAPObject can ever return a non-empty list from OLAPObject.getChildren(), and false if getChildren() is always empty.
 java.lang.String getChildColumn()
           
 java.util.List<OLAPObject> getChildren()
          Returns a read-only unified list of all children of this OLAPObject.
 java.lang.String getParentColumn()
           
 MondrianModel.Table getTable()
           
 boolean removeChild(OLAPObject child)
          Removes the given child on this OLAPObject if this type of OLAPObject has the applicable removeXXX() or setXXX(null) method for the given object's type.
 void setChildColumn(java.lang.String newval)
           
 void setParentColumn(java.lang.String newval)
           
 void setTable(MondrianModel.Table newval)
           
 java.lang.String toString()
           
 
Methods inherited from class ca.sqlpower.architect.olap.OLAPObject
addChildListener, addCompoundEditListener, addPropertyChangeListener, endCompoundEdit, fireChildAdded, fireChildRemoved, getName, getParent, removeChildListener, removeCompoundEditListener, removePropertyChangeListener, startCompoundEdit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MondrianModel.Closure

public MondrianModel.Closure()
Creates a new Closure with all attributes set to their defaults.


MondrianModel.Closure

public MondrianModel.Closure(MondrianModel.Closure original)
Creates a new Closure with all attributes copied from the given Closure.

Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getParentColumn

public java.lang.String getParentColumn()

setParentColumn

public void setParentColumn(java.lang.String newval)

getChildColumn

public java.lang.String getChildColumn()

setChildColumn

public void setChildColumn(java.lang.String newval)

getTable

public MondrianModel.Table getTable()

setTable

public void setTable(MondrianModel.Table newval)

getChildren

public java.util.List<OLAPObject> getChildren()
Description copied from class: OLAPObject
Returns a read-only unified list of all children of this OLAPObject. If this object doesn't have any children, returns an empty list.

Specified by:
getChildren in class OLAPObject

allowsChildren

public boolean allowsChildren()
Description copied from class: OLAPObject
Returns true if this type of OLAPObject can ever return a non-empty list from OLAPObject.getChildren(), and false if getChildren() is always empty.

Specified by:
allowsChildren in class OLAPObject

addChild

public void addChild(OLAPObject child)
Description copied from class: OLAPObject
Adds the given child or sets the appropriate property on this OLAPObject, if this type of OLAPObject has the applicable addXXX() or setXXX() method for the given object's type.

This method in the abstract base class always throws the IllegalArgumentException because no children or properties are defined at this level.

This method isn't compile-time type safe, so it is recommended not to use it on "by-hand" usage of this API. This method is used during XML parsing, which can't be made compile-time type safe anyway.

Overrides:
addChild in class OLAPObject
Parameters:
child - The child to add.

addChild

public void addChild(int index,
                     OLAPObject child)
Description copied from class: OLAPObject
Adds the given child or sets the appropriate property on this OLAPObject, allowing the overall target index to be specified.

This method in the abstract base class always throws IllegalArgumentException because no children or properties are defined at this level.

This method isn't compile-time type safe, so it is recommended not to use it on "by-hand" usage of this API. This method is used for undo and redo, which can't be compile-time type safe anyway.

Overrides:
addChild in class OLAPObject
Parameters:
index - The overall index (same index as would be in OLAPObject.getChildren()) at which to add the child.
child - The child to add.

removeChild

public boolean removeChild(OLAPObject child)
Description copied from class: OLAPObject
Removes the given child on this OLAPObject if this type of OLAPObject has the applicable removeXXX() or setXXX(null) method for the given object's type.

This method in the abstract base class always throws the IllegalArgumentException because no children or properties are defined at this level.

Overrides:
removeChild in class OLAPObject
Parameters:
child - The child to remove.


Copyright © 2003-2007 SQL Power Group Inc. www.sqlpower.ca