ca.sqlpower.architect.olap
Class MondrianModel.ExpressionView

java.lang.Object
  extended by ca.sqlpower.architect.olap.OLAPObject
      extended by ca.sqlpower.architect.olap.MondrianModel.Expression
          extended by ca.sqlpower.architect.olap.MondrianModel.ExpressionView
Direct Known Subclasses:
MondrianModel.CaptionExpression, MondrianModel.KeyExpression, MondrianModel.MeasureExpression, MondrianModel.NameExpression, MondrianModel.OrdinalExpression, MondrianModel.ParentExpression
Enclosing class:
MondrianModel

public abstract static class MondrianModel.ExpressionView
extends MondrianModel.Expression

A collection of SQL expressions, one per dialect.


Field Summary
 
Fields inherited from class ca.sqlpower.architect.olap.OLAPObject
pcs
 
Constructor Summary
MondrianModel.ExpressionView()
          Creates a new ExpressionView with all attributes set to their defaults.
MondrianModel.ExpressionView(MondrianModel.ExpressionView original)
          Creates a new ExpressionView with all attributes copied from the given ExpressionView.
 
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.
 void addExpression(int pos, MondrianModel.SQL newChild)
          Adds the given child object at the specified position, firing an OLAPChildEvent.
 void addExpression(MondrianModel.SQL newChild)
          Adds the given child object at the end of the child list, firing an OLAPChildEvent.
 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.util.List<OLAPObject> getChildren()
          Returns a read-only unified list of all children of this OLAPObject.
 java.util.List<MondrianModel.SQL> getExpressions()
           
 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.
 MondrianModel.SQL removeExpression(int pos)
          Removes the child object at the given position, firing an OLAPChildEvent.
 boolean removeExpression(MondrianModel.SQL removeChild)
          Removes the given child object, firing an OLAPChildEvent if the child was found.
 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.ExpressionView

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


MondrianModel.ExpressionView

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

Method Detail

addExpression

public void addExpression(int pos,
                          MondrianModel.SQL newChild)
Adds the given child object at the specified position, firing an OLAPChildEvent.


addExpression

public void addExpression(MondrianModel.SQL newChild)
Adds the given child object at the end of the child list, firing an OLAPChildEvent.


removeExpression

public boolean removeExpression(MondrianModel.SQL removeChild)
Removes the given child object, firing an OLAPChildEvent if the child was found.

Returns:
true if the item was removed (because it was in the list); false if the item was not removed.

removeExpression

public MondrianModel.SQL removeExpression(int pos)
Removes the child object at the given position, firing an OLAPChildEvent.

Returns:
The item that was removed.

getExpressions

public java.util.List<MondrianModel.SQL> getExpressions()

toString

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

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.

Overrides:
getChildren in class MondrianModel.Expression

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.

Overrides:
allowsChildren in class MondrianModel.Expression

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 MondrianModel.Expression
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 MondrianModel.Expression
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 MondrianModel.Expression
Parameters:
child - The child to remove.


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