com.tonbeller.jpivot.navigator.hierarchy
Class HierarchyItem

java.lang.Object
  extended by com.tonbeller.jpivot.navigator.hierarchy.HierarchyItem
All Implemented Interfaces:
com.tonbeller.wcf.catedit.Item, com.tonbeller.wcf.controller.RequestListener, java.lang.Comparable

public class HierarchyItem
extends java.lang.Object
implements com.tonbeller.wcf.catedit.Item, com.tonbeller.wcf.controller.RequestListener, java.lang.Comparable

Wraps a hierarchy for HierarchyNavigator. Contains two selections, one multiple selection for axis view and another one, single selection for slicer view. If the item is moved around between axis and slicer category it does not forget its selection.

Author:
av

Constructor Summary
HierarchyItem(AbstractCategory category, Hierarchy hierarchy)
           
 
Method Summary
 int compareTo(java.lang.Object arg)
          lexical compare for GUI lists
 java.util.List getAxisSelection()
          Returns the axisSelection.
 AbstractCategory getCategory()
           
 java.util.Collection getDeleted()
          the collection of members that shall be deleted from the query.
 Dimension getDimension()
          returns the Dimension of this HierarchyItem
 java.lang.Object getExpression()
           
 Hierarchy getHierarchy()
          Returns the current hierarchy.
 java.lang.String getId()
           
 java.lang.String getLabel()
           
 java.util.List getSlicerSelection()
          Returns the slicerSelection.
 boolean isAxisSelectionDirty()
          Returns the axisSelectionDirty.
 boolean isClickable()
           
 boolean isMovable()
           
 boolean isSlicerSelectionDirty()
          Returns the slicerSelectionDirty.
 void removeFromSelection(java.util.Set deleted)
          removes deleted members from the selections.
 void request(com.tonbeller.wcf.controller.RequestContext context)
          called when the user clicks on this item.
 void setAxisSelection(java.util.Collection selection)
          Sets the axisSelection.
 void setAxisSelectionDirty(boolean axisSelectionDirty)
          Sets the axisSelectionDirty.
 void setCategory(AbstractCategory category)
          this item has been moved from one category to another. e.g., this hierarchy has been moved from rows to filters.
 void setDeleted(java.util.Collection c)
          the collection of members that shall be deleted from the query.
 void setExpression(java.lang.Object object)
           
 void setSelection(java.util.Collection selection)
           
 void setSlicerSelection(java.util.Collection selection)
          Sets the slicerSelection.
 void setSlicerSelectionDirty(boolean slicerSelectionDirty)
          Sets the slicerSelectionDirty.
 java.lang.String validateSelection(java.util.Collection selection)
          validates the selection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HierarchyItem

public HierarchyItem(AbstractCategory category,
                     Hierarchy hierarchy)
Method Detail

getId

public java.lang.String getId()

setCategory

public void setCategory(AbstractCategory category)
this item has been moved from one category to another. e.g., this hierarchy has been moved from rows to filters.


getCategory

public AbstractCategory getCategory()

getHierarchy

public Hierarchy getHierarchy()
Returns the current hierarchy.

Returns:
Hierarchy

getDimension

public Dimension getDimension()
returns the Dimension of this HierarchyItem


getLabel

public java.lang.String getLabel()
Specified by:
getLabel in interface com.tonbeller.wcf.catedit.Item

request

public void request(com.tonbeller.wcf.controller.RequestContext context)
             throws java.lang.Exception
called when the user clicks on this item.

Specified by:
request in interface com.tonbeller.wcf.controller.RequestListener
Throws:
java.lang.Exception

getAxisSelection

public java.util.List getAxisSelection()
Returns the axisSelection.

Returns:
Set

getSlicerSelection

public java.util.List getSlicerSelection()
Returns the slicerSelection.

Returns:
Set

setAxisSelection

public void setAxisSelection(java.util.Collection selection)
Sets the axisSelection.

Parameters:
axisSelection - The axisSelection to set

setSlicerSelection

public void setSlicerSelection(java.util.Collection selection)
Sets the slicerSelection.

Parameters:
slicerSelection - The slicerSelection to set

isAxisSelectionDirty

public boolean isAxisSelectionDirty()
Returns the axisSelectionDirty.

Returns:
boolean

isSlicerSelectionDirty

public boolean isSlicerSelectionDirty()
Returns the slicerSelectionDirty.

Returns:
boolean

setAxisSelectionDirty

public void setAxisSelectionDirty(boolean axisSelectionDirty)
Sets the axisSelectionDirty.

Parameters:
axisSelectionDirty - The axisSelectionDirty to set

setSlicerSelectionDirty

public void setSlicerSelectionDirty(boolean slicerSelectionDirty)
Sets the slicerSelectionDirty.

Parameters:
slicerSelectionDirty - The slicerSelectionDirty to set

setSelection

public void setSelection(java.util.Collection selection)

validateSelection

public java.lang.String validateSelection(java.util.Collection selection)
validates the selection.

Parameters:
selection -
Returns:
null on success, error message on error

compareTo

public int compareTo(java.lang.Object arg)
lexical compare for GUI lists

Specified by:
compareTo in interface java.lang.Comparable

removeFromSelection

public void removeFromSelection(java.util.Set deleted)
removes deleted members from the selections.


getDeleted

public java.util.Collection getDeleted()
the collection of members that shall be deleted from the query. (i.e. remove calculated members)


setDeleted

public void setDeleted(java.util.Collection c)
the collection of members that shall be deleted from the query. (i.e. remove calculated members)


getExpression

public java.lang.Object getExpression()

setExpression

public void setExpression(java.lang.Object object)

isMovable

public boolean isMovable()
Specified by:
isMovable in interface com.tonbeller.wcf.catedit.Item

isClickable

public boolean isClickable()