com.sas.dataselectors.filters
Interface FilterItemInterface

All Known Implementing Classes:
DefaultFilterItem, OLAPFilterItem

public interface FilterItemInterface

This is an INPUT interface that defines the item in the FilterListInterface list and contains lists of supported conditionals and values The label is displayed to the user for selection but when this item is selected for creating a filter, only the object returned by getItem() is stored in the SelectionLogicNode result. This also supports a list of 'subitems' for an item. If getSubitemIsRequired() returns true the dialog will enforce the picking of at lease one of the subitems. (At this time, the subitems are not evaluated for over-riding the active condition and values lists, this is a possible future enhancement)


Field Summary
static long ITEMTYPE_ALPHANUMERIC
           
static long ITEMTYPE_BITSTRING
           
static long ITEMTYPE_BOOLEAN
           
static long ITEMTYPE_CURRENCY
           
static long ITEMTYPE_DATE
           
static long ITEMTYPE_DATETIME
           
static long ITEMTYPE_INTERVAL_DT
           
static long ITEMTYPE_INTERVAL_YM
           
static long ITEMTYPE_NUMERIC
           
static long ITEMTYPE_TIME
           
static long ITEMTYPE_UNKNOWN
          Helper types to intuit a useful prompt editor
 
Method Summary
 java.lang.Object createUserValue(java.lang.String valueTyped)
          Returns a new object that the Client will understand as a user typed value This should throw an IllegalArgument exception if the valueTyped is NOT valid for this Item.
 FilterValuesInterface getActualValues()
          Gets an interface that can be used to incrementally retrieve and iterate just the actual values to be used for equivelance tests in the filter.
 FilterConditionListInterface getConditionList()
          Gets an interface to the list of conditional operators supported for this item.
 java.lang.Object getItem()
          This object is defined by the adaptor implementor and will be returned as part of the completed filter data structure.
 java.lang.String getItemLabel()
          This is the label to display to the user for the item object when it is being used to build a filter.
 long getItemType()
          A type value that is used to determine value checking when user typed values allowed.
 FilterValuesInterface getPossibleValues()
          Gets an interface that can be used to incrementally retrieve and iterate all the possible values to be used for equivelance tests in the filter.
 FilterItemInterface getQualifiedItem(java.util.List qualifiers)
          When an item is qualified, it's value lists, conditions and user values allowed may change.
 FilterQualifierListInterface getQualifierList()
          If this item allows or requires additional items to be selected to refine the selection then return them here.
 FilterItemListInterface getSubitemList()
          This is provided if the items are actually to be represented by a tree rather than a linear list The Item returned by the selection logic interface will actually be the subitem selected.
 java.text.Format getUserValueFormatter()
          Returns the Format object used to parse the typed string into an object returned by createUserValue(); If null returned, then the object from createUserValue was created by "new String( value )" where value is the String object passed into the method.
 boolean isQualifierRequired()
          If this item is not sufficient to define the filter, then it may be neccessary to 'add definition' to the item.
 boolean isSubitemRequired()
          If this item is not sufficient to define the filter, then it may be neccessary to 'drill down' to the item.
 boolean isUserValueAllowed()
          Returns TRUE is users are allowed to type in their own values in addition to any values from the Actual or Possible Values Interfaces;
 

Field Detail

ITEMTYPE_UNKNOWN

static final long ITEMTYPE_UNKNOWN
Helper types to intuit a useful prompt editor

See Also:
Constant Field Values

ITEMTYPE_BITSTRING

static final long ITEMTYPE_BITSTRING
See Also:
Constant Field Values

ITEMTYPE_NUMERIC

static final long ITEMTYPE_NUMERIC
See Also:
Constant Field Values

ITEMTYPE_ALPHANUMERIC

static final long ITEMTYPE_ALPHANUMERIC
See Also:
Constant Field Values

ITEMTYPE_DATE

static final long ITEMTYPE_DATE
See Also:
Constant Field Values

ITEMTYPE_TIME

static final long ITEMTYPE_TIME
See Also:
Constant Field Values

ITEMTYPE_DATETIME

static final long ITEMTYPE_DATETIME
See Also:
Constant Field Values

ITEMTYPE_INTERVAL_YM

static final long ITEMTYPE_INTERVAL_YM
See Also:
Constant Field Values

ITEMTYPE_INTERVAL_DT

static final long ITEMTYPE_INTERVAL_DT
See Also:
Constant Field Values

ITEMTYPE_BOOLEAN

static final long ITEMTYPE_BOOLEAN
See Also:
Constant Field Values

ITEMTYPE_CURRENCY

static final long ITEMTYPE_CURRENCY
See Also:
Constant Field Values
Method Detail

getItem

java.lang.Object getItem()
This object is defined by the adaptor implementor and will be returned as part of the completed filter data structure.

Returns:
Object

getItemLabel

java.lang.String getItemLabel()
This is the label to display to the user for the item object when it is being used to build a filter.

Returns:
String

getConditionList

FilterConditionListInterface getConditionList()
Gets an interface to the list of conditional operators supported for this item. Returns null if there are no conditionals supported by the item.

Returns:
ItemFilterConditionListInterface

getSubitemList

FilterItemListInterface getSubitemList()
This is provided if the items are actually to be represented by a tree rather than a linear list The Item returned by the selection logic interface will actually be the subitem selected. This should return null if there are NO subitems.

Returns:
FilterItemListInterface

isSubitemRequired

boolean isSubitemRequired()
If this item is not sufficient to define the filter, then it may be neccessary to 'drill down' to the item. Folders that cannot themselves be choosen as items should have this flag set YES. Returns TRUE if this Item MUST have a subitem picked.

Returns:
boolean

getQualifierList

FilterQualifierListInterface getQualifierList()
If this item allows or requires additional items to be selected to refine the selection then return them here. SubItems represent the ability to say that an item requires some additional item to be selected to distinguish the final selection. This should return null if there are NO qualifiers.

Returns:
FilterQualifierListInterface

isQualifierRequired

boolean isQualifierRequired()
If this item is not sufficient to define the filter, then it may be neccessary to 'add definition' to the item. This is primarily of use for the Measures type filter in MDX where that measure doesn't have a meaning in a vacuum and further information (the 'applies to') is needed. This could be used by other DBases that require additional information by changing the QualifierLabel and showing the appropriate labelling for the qualfier pick box. Returns TRUE if this Item MUST have a qualfier picked.

Returns:
boolean

getActualValues

FilterValuesInterface getActualValues()
Gets an interface that can be used to incrementally retrieve and iterate just the actual values to be used for equivelance tests in the filter. Returns null if iteration of actual values is NOT supported by the datasource.

Returns:
FilterValuesInterface

getPossibleValues

FilterValuesInterface getPossibleValues()
Gets an interface that can be used to incrementally retrieve and iterate all the possible values to be used for equivelance tests in the filter. Returns null if iteration of possible values is NOT supported by the datasource.

Returns:
FilterValuesInterface

isUserValueAllowed

boolean isUserValueAllowed()
Returns TRUE is users are allowed to type in their own values in addition to any values from the Actual or Possible Values Interfaces;

Returns:
boolean

getItemType

long getItemType()
A type value that is used to determine value checking when user typed values allowed.

Returns:
long

createUserValue

java.lang.Object createUserValue(java.lang.String valueTyped)
Returns a new object that the Client will understand as a user typed value This should throw an IllegalArgument exception if the valueTyped is NOT valid for this Item.

Returns:
Object

getUserValueFormatter

java.text.Format getUserValueFormatter()
Returns the Format object used to parse the typed string into an object returned by createUserValue(); If null returned, then the object from createUserValue was created by "new String( value )" where value is the String object passed into the method.


getQualifiedItem

FilterItemInterface getQualifiedItem(java.util.List qualifiers)
When an item is qualified, it's value lists, conditions and user values allowed may change. Return an item that reflects changes to those properties. This qualified item SHOULD NOT be stored in the filter logic. It may not exist in the real dictionary of items (ie its transient). The original item and qualifiers should be stored instead.




Copyright © 2009 SAS Institute Inc. All Rights Reserved.