com.sas.dataselectors.filters
Class BaseAdvancedFilterObjectFactory

com.sas.dataselectors.filters.BaseAdvancedFilterObjectFactory
All Implemented Interfaces:
FilterObjectFactoryInterface
Direct Known Subclasses:
AdvancedBusinessModelFilterObjectFactory, AdvancedBusinessQueryFilterObjectFactory

public class BaseAdvancedFilterObjectFactory

This class provides additional support and new behaviors for the filter adapters used by the advanced filter selector dialogs. OLAP support is the primary addition from the BaseFilterObjectFactory, but there are changes and additions throughout much of the model.


Field Summary
protected  com.sas.iquery.metadata.business.BusinessQuery _businessQuery
          The BusinessQuery datasource for this object factory if one was provided.
 FilterConditionInterface ALT_CONTAINS
           
 FilterConditionInterface ALT_LIKE
           
 FilterConditionInterface ALT_NOT_CONTAINS
           
 FilterConditionInterface ALT_NOT_LIKE
           
 FilterConditionInterface CONTAINS
          The "contains" filter condition.
 FilterConditionInterface DOES_NOT_CONTAIN
          The "does not contain" filter condition.
 FilterConditionInterface IS_BETWEEN_TIME
           
 FilterConditionInterface IS_IN_LIST_OR_EQUAL_TO
          The "is equal to" filter condition for items that doubles for 'is in'.
 FilterConditionInterface IS_NOT_IN_LIST_OR_EQUAL_TO
          The "is not equal to" filter condition for items that doubles for 'is not in'.
 FilterConditionInterface LAST_N_PERIODS
           
 FilterConditionInterface LIKE
          The "is like" filter condition.
 FilterConditionInterface MONTH_TO_DATE
           
 FilterConditionInterface NEXT_N_PERIODS
           
 FilterConditionInterface OLAP_EQUAL_TO
          The "is equal to" filter condition for OLAP DataItems.
 FilterConditionInterface OLAP_IS_NOT_EQUAL_TO
          The "is not equal to" filter condition for OLAP DataItems.
 FilterConditionInterface OLAP_RELATIVE_TIME
           
protected  OLAPTimeBasedFilterAdapter olapTimeBasedFilterAdapter
           
static java.lang.String RB_KEY
          The property key for factory specific properties.
static java.lang.String RB_KEY2
          The property key for filter condition properties.
 FilterConditionInterface YEAR_TO_DATE
           
 
Fields inherited from class com.sas.dataselectors.filters.BaseFilterObjectFactory
_baseModel, _businessModel, _dataService, _scope, CODE_BLOCK, DEFAULT_GOVERNING_LIMIT, DEFAULT_SCOPE, environment, IS_AFTER, IS_AFTER_OR_EQUAL, IS_BEFORE, IS_BEFORE_OR_EQUAL, IS_BETWEEN, IS_EQUALS, IS_GREATER_THAN, IS_GREATER_THAN_OR_EQUAL, IS_IN_LIST, IS_LESS_THAN, IS_LESS_THAN_OR_EQUAL, IS_NOT_BETWEEN, IS_NOT_EQUALS, IS_NOT_IN_LIST, IS_NOT_NULL, IS_NULL
 
Constructor Summary
BaseAdvancedFilterObjectFactory(com.sas.iquery.metadata.business.BusinessQuery businessQuery, FilterBaseModelData baseModel, com.sas.iquery.metadata.expr.ResourceScope scope)
          Creates a new factory from the given BusinessQuery using the specified resource scope.
BaseAdvancedFilterObjectFactory(FilterBaseModelData baseModel)
          Creates a new factory from the given BusinessModel.
BaseAdvancedFilterObjectFactory(FilterBaseModelData baseModel, com.sas.iquery.metadata.expr.ResourceScope scope)
          Creates a new factory from the given BusinessModel using the specified resource scope.
 
Method Summary
 FilterItemInterface convertToFilterableItem(com.sas.iquery.metadata.physical.Column columnItem, java.lang.String itemName, com.sas.iquery.metadata.business.DataItem dataItem, FilterQualifierListInterface qualifiers)
          Converts the given column to a FilterItemInterface for use throughout the filter model.
 FilterItemInterface convertToFilterableItem(com.sas.iquery.metadata.business.DataItem dataItem, FilterQualifierListInterface qualifiers)
          Creates a new FilterItemInterface object from the specified properties.
 FilterItemInterface convertToFilterableItem(com.sas.iquery.metadata.expr.StringExpression stringExpression, java.lang.String itemName, com.sas.iquery.metadata.business.DataItem dataItem, FilterQualifierListInterface qualifiers)
          Creates a new FilterItemInterface object from the specified properties.
 FilterItemInterface convertToFilterItem(java.lang.Object item, com.sas.iquery.metadata.business.DataItem dataItem, FilterItemListInterface filterItemList)
           
 FilterItemInterface findMatchingFilterItem(FilterItemListInterface fili, java.lang.Object itemObject)
          This method attempts to locate and return the filter item that matches the search value from the native filter model.
 FilterValuesInterface getActualFilterValues(com.sas.iquery.metadata.business.DataItem item)
          Returns the list of actual values for the given DataItem.
 FilterItemInterface getCharacterQualifiedItem()
           
static FilterConditionInterface getConditionFromRB(java.lang.String key, java.lang.Object nativeObject, boolean isNegated)
          Creates and returns a new filter condition instance from the given properties and those found in the resource bundle with the specified key.
static FilterConditionInterface getConditionFromRB(java.lang.String key, java.lang.Object nativeObject, boolean isNegated, boolean promptsAllowed)
          Creates and returns a new filter condition instance from the given properties and those found in the resource bundle with the specified key.
static FilterConditionInterface getConditionFromRB(java.lang.String key, java.lang.Object nativeObject, boolean isNegated, boolean promptsAllowed, boolean isValueListAllowed, boolean isUserValueAllowed, java.util.Locale locale)
          Creates and returns a new filter condition instance from the given properties and those found in the resource bundle with the specified key.
static FilterConditionInterface getConditionFromRB(java.lang.String key, java.lang.Object nativeObject, boolean isNegated, boolean promptsAllowed, java.util.Locale locale)
          Creates and returns a new filter condition instance from the given properties and those found in the resource bundle with the specified key.
static FilterConditionInterface getConditionFromRB(java.lang.String key, java.lang.Object nativeObject, boolean isNegated, java.util.Locale locale)
          Creates and returns a new filter condition instance from the given properties and those found in the resource bundle with the specified key.
 FilterConditionListInterface getConditionList(com.sas.iquery.metadata.business.DataItem item)
          Returns the list of conditions appropriate for the given DataItem.
 java.lang.Object[] getDefaultOLAPMeasureConditions()
          Returns the condition list for filter items that are for OLAP members that are measures.
 java.lang.Object[] getDefaultOLAPNonMeasureConditions()
          Returns the condition list for filter items that are for non-measure OLAP members.
 java.util.List getEligibleFilterItems(boolean includeBaseModels)
          Compiles a list of items from the BusinessModel that can potentially become filter items.
 java.util.List getFilterableItems(boolean includeBaseModels, java.util.Map filterItemLookup)
          Constructs and returns the list of filterable items from the current model.
 java.util.List getMembersForOLAPItem(com.sas.iquery.metadata.business.DataItem item)
          Gathers and returns a list of members for the given DataItem.
 java.util.List getMembersForOLAPItem(com.sas.iquery.metadata.business.DataItem item, int step)
          Gathers and returns a list of members for the given DataItem.
 FilterItemInterface getNumericQualifiedItem()
           
 FilterConditionListInterface getOLAPConditions(com.sas.iquery.metadata.business.DataItem item)
          Returns the condition list appropriate for the given OLAP DataItem.
 java.lang.Object[] getOLAPTimeBasedConditions()
          Returns the condition list for filter items that are for non-measure time-based OLAP members.
 OLAPTimeBasedFilterAdapterInterface getOLAPTimeBasedFilterAdapter()
          Provides the single instance of the OLAP relative time-based filter adapter for use by the relative-time filter condition.
 FilterItemInterface getQualifiedItem(com.sas.iquery.metadata.business.DataItem dataItem, FilterItemInterface filterItem, FilterQualifierListInterface qualifiers)
          Returns the FilterItemInterface that defines the filter properties used when the parent object is being qualified.
 FilterQualifierListInterface getQualifiers(java.util.List itemList)
          Creates and returns a filter qualifier list for the given list of objects.
 FilterConditionInterface[] getRelationalCharacterConditions(boolean forcedFormatting)
          Returns the condition list for relational filter items that are for character data.
 FilterConditionInterface[] getRelationalConditions(boolean forcedFormatting)
          Returns a FilterConditionListInterface instance containing the list of all conditions to be used for relational DataItem based filters.
 FilterConditionListInterface getRelationalConditions(com.sas.iquery.metadata.expr.ExpressionInterface expression, boolean forcedFormatting)
          Returns the condition list appropriate for the given expression assuming it is for relational data.
 FilterConditionInterface[] getRelationalNumericConditions(boolean forcedFormatting)
          Returns the condition list for relational filter items that are for numeric data.
 FilterConditionInterface[] getRelationalTimeBasedConditions()
          Returns the condition list for relational filter items that are for date and timestamp data.
 FilterConditionInterface[] getRelationalTimeConditions()
          Returns the condition list for relational filter items that are for time data only (not date or timestamp).
 com.sas.iquery.metadata.expr.ConditionalExpression newConditionalExpression(FilterLogicTestNodeInterface testNode)
          Constructs and returns a new ConditionalExpression instance from the given test node.
 com.sas.iquery.metadata.expr.ExpressionInterface newConditionalFunctionExpression(com.sas.iquery.metadata.expr.ExpressionInterface item, int exprType, com.sas.iquery.metadata.serverprop.FunctionNameID functionName, boolean functionNegated, java.util.List valueObjects)
          Creates an expression based on a given FunctionNameID where that function has arguments that take the item to be operated on first and any comparisons or options following.
 com.sas.iquery.metadata.expr.ExpressionInterface newConditionalFunctionExpression(com.sas.iquery.metadata.serverprop.Function function, java.util.List functionArgs, boolean functionNegated)
          Creates an expression based on a given FunctionNameID
 com.sas.iquery.metadata.expr.ExpressionInterface newFilterExpression(FilterLogicTestNodeInterface testNode)
          Constructs and returns a new expression from the supplied test node.
 com.sas.iquery.metadata.expr.ExpressionInterface newRelationalFilterExpression(FilterLogicTestNodeInterface testNode, java.lang.Object itemObject, int exprType, java.lang.Object conditionObject, boolean conditionNegated, java.util.List valueObjects)
          Constructs and returns a new expression in the native filter model from the specified properties.
 FilterLogicTestNodeInterface newTestNode(com.sas.iquery.metadata.business.DataItem dataItem, com.sas.iquery.metadata.business.step.StepInterface filterObject, FilterItemListInterface filterItemList)
          Creates a new test node from the given OLAP Step model filter.
 FilterLogicTestNodeInterface newTestNode(java.lang.String name, java.lang.String desc, java.lang.Object item, java.util.List qualifiers, java.lang.Object conditionObject, boolean isNegated, java.util.List values, FilterItemListInterface filterItemList)
          Creates and returns a new test node from the given properties.
 FilterLogicTestNodeInterface newTestNode(java.lang.String name, java.lang.String desc, java.lang.Object item, java.lang.Object conditionObject, boolean isNegated, java.util.List values, FilterItemListInterface filterItemList)
          Creates and returns a new test node from the given properties.
 FilterLogicTestNodeInterface newTestNode(java.lang.String name, java.lang.String desc, com.sas.iquery.metadata.expr.olap.TimeFilterExpression filterExpression, FilterItemListInterface filterItemList)
          Creates and returns a new test node from the given properties.
 FilterLogicTestNodeInterface newTestNode(java.lang.String name, java.lang.String desc, com.sas.iquery.metadata.expr.olap.TimeRangeFilterExpression filterExpression, FilterItemListInterface filterItemList)
          Creates and returns a new test node from the given properties.
 void setLocale(java.util.Locale locale)
          Sets the locale to be used when creating/retrieving text that will be visible to a user.
 boolean updateCompoundFilter(com.sas.iquery.metadata.business.FilterItem filterItem, com.sas.iquery.metadata.business.FilterItem left, com.sas.iquery.metadata.business.FilterItem right, com.sas.iquery.metadata.expr.ConditionalRelationType relationType, boolean isNegated)
          Updates the given CompoundFilter object from the specified parameters.
 boolean updateSimpleFilterFromTestNode(com.sas.iquery.metadata.business.FilterItem filterItem, FilterLogicTestNodeInterface testNode)
          Save the testNode data to the filter and then make sure the filter is in the business model.
 
Methods inherited from class com.sas.dataselectors.filters.BaseFilterObjectFactory
addFilterItem, clearFilterCondition, convertToFilterableItem, convertToFilterableItem, convertToFilterableItem, convertToFilterableItem, convertToFilterableItem, convertToFilterableItem, convertToFilterableItem, convertToFilterableItem, createExpressionFromNative, createExpressionFromNative, createFilterItemFromNative, createFilterQualifierFromNative, createFilterQualifierListFromNativeList, createFilterValueFromNative, createFilterValueFromNative, createFilterValueFromNative, createFilterValueFromNative, createFilterValueList, createFilterValueListFromNativeList, createJavaDateFromSASDate, createJavaDateFromSASDateTime, createJavaDateFromSASTime, createStringExpressionList, createStringExpressionList, createValueItem, createValueItemFromUniqueMemberID, enforceBooleanPrecedence, findMatchingConditionObject, findMatchingConditionObject, findMatchingConditionObject, findMatchingFilterQualifier, findMatchingFilterValue, formatFunctionCall, getAdjustedFilterItemType, getAlternateConditions, getComparisonOperator, getDataItem, getDataItems, getDataServiceValues, getDateOrNullFromNative, getEnvironment, getExpressionListFromTestNodeValues, getFilterItemSASFormatText, getFilterStep, getItemType, getLevelProperties, getLevelProperties, getLevelProperties, getLocale, getMaxOutputObservations, getMemberListFromTestNodeQualifiers, getMetadataInterface, getOLAPMeasureConditionList, getOLAPMemberConditionList, getRelationalConditions, getRelationalConditions, getServerProperties, getStringExpressionListFromTestNodeValues, initDataService, isOLAP, isTimeDimension, newCompoundConditionalExpression, newCompoundFilter, newCompoundStep, newConstantExpression, newCoumpoundFilter, newFilterDataValue, newFilterDataValue, newFilterItem, newFilterStep, newFilterValue, newStringExpression, newStringExpression, newTestNode, newTestNode, newTestNode, newTestNode, newTestNode, newTestNode, newTestNode, newTestNode, newTestNode, newTestNode, newTestNode, newTestNode, releaseResources, removeFilterItem, setEnvironment, setFilterBaseModelData, setFilterItemProperties, setFilterItemProperties, setMaxOutputObservations, updateCompoundConditionalFilter, updateCompoundStep, updateSimpleFilter, updateSimpleFilterFromTestNode, updateSimpleFilterFromTestNode, wrapValueListDates
 

Field Detail

_businessQuery

protected com.sas.iquery.metadata.business.BusinessQuery _businessQuery
The BusinessQuery datasource for this object factory if one was provided.


olapTimeBasedFilterAdapter

protected OLAPTimeBasedFilterAdapter olapTimeBasedFilterAdapter

RB_KEY

public static final java.lang.String RB_KEY
The property key for factory specific properties.

See Also:
Constant Field Values

RB_KEY2

public static final java.lang.String RB_KEY2
The property key for filter condition properties.

See Also:
Constant Field Values

OLAP_EQUAL_TO

public FilterConditionInterface OLAP_EQUAL_TO
The "is equal to" filter condition for OLAP DataItems.


OLAP_IS_NOT_EQUAL_TO

public FilterConditionInterface OLAP_IS_NOT_EQUAL_TO
The "is not equal to" filter condition for OLAP DataItems.


IS_IN_LIST_OR_EQUAL_TO

public FilterConditionInterface IS_IN_LIST_OR_EQUAL_TO
The "is equal to" filter condition for items that doubles for 'is in'.


IS_NOT_IN_LIST_OR_EQUAL_TO

public FilterConditionInterface IS_NOT_IN_LIST_OR_EQUAL_TO
The "is not equal to" filter condition for items that doubles for 'is not in'.


CONTAINS

public FilterConditionInterface CONTAINS
The "contains" filter condition.


DOES_NOT_CONTAIN

public FilterConditionInterface DOES_NOT_CONTAIN
The "does not contain" filter condition.


LIKE

public FilterConditionInterface LIKE
The "is like" filter condition.


ALT_CONTAINS

public FilterConditionInterface ALT_CONTAINS

ALT_NOT_CONTAINS

public FilterConditionInterface ALT_NOT_CONTAINS

ALT_LIKE

public FilterConditionInterface ALT_LIKE

ALT_NOT_LIKE

public FilterConditionInterface ALT_NOT_LIKE

OLAP_RELATIVE_TIME

public FilterConditionInterface OLAP_RELATIVE_TIME

IS_BETWEEN_TIME

public FilterConditionInterface IS_BETWEEN_TIME

YEAR_TO_DATE

public FilterConditionInterface YEAR_TO_DATE

MONTH_TO_DATE

public FilterConditionInterface MONTH_TO_DATE

LAST_N_PERIODS

public FilterConditionInterface LAST_N_PERIODS

NEXT_N_PERIODS

public FilterConditionInterface NEXT_N_PERIODS
Constructor Detail

BaseAdvancedFilterObjectFactory

public BaseAdvancedFilterObjectFactory(FilterBaseModelData baseModel)
Creates a new factory from the given BusinessModel.

Parameters:
baseModel - the BusinessModel (in a wrapper) this factory will refer to

BaseAdvancedFilterObjectFactory

public BaseAdvancedFilterObjectFactory(FilterBaseModelData baseModel,
                                       com.sas.iquery.metadata.expr.ResourceScope scope)
Creates a new factory from the given BusinessModel using the specified resource scope.

Parameters:
businessModel - the BusinessModel this factory will refer to
scope - the resource scope this factory should work in

BaseAdvancedFilterObjectFactory

public BaseAdvancedFilterObjectFactory(com.sas.iquery.metadata.business.BusinessQuery businessQuery,
                                       FilterBaseModelData baseModel,
                                       com.sas.iquery.metadata.expr.ResourceScope scope)
Creates a new factory from the given BusinessQuery using the specified resource scope. The BusinessModel is derived from the BusinessQuery.

Parameters:
businessQuery - the BusinessQuery this factory will refer to
scope - the resource scope this factory should work in
Method Detail

getEligibleFilterItems

public java.util.List getEligibleFilterItems(boolean includeBaseModels)
Compiles a list of items from the BusinessModel that can potentially become filter items.

Parameters:
includeBaseModels - boolean flag to specify whether to search models the BusinessModel is based on
Returns:
the list of potential filter items

getQualifiers

public FilterQualifierListInterface getQualifiers(java.util.List itemList)
Creates and returns a filter qualifier list for the given list of objects.

Overrides:
getQualifiers in class BaseFilterObjectFactory
Parameters:
items - the list of items being converted
Returns:
the list of filter qualifiers representing the given list of objects

getFilterableItems

public java.util.List getFilterableItems(boolean includeBaseModels,
                                         java.util.Map filterItemLookup)
Constructs and returns the list of filterable items from the current model.

Specified by:
getFilterableItems in interface FilterObjectFactoryInterface
Overrides:
getFilterableItems in class BaseFilterObjectFactory
Parameters:
includeBaseModels - FALSE when the current model is a DataSelection, TRUE otherwise
filterItemLookup - a Map of FilterItems already created
Returns:
the list of all filterable items

convertToFilterableItem

public FilterItemInterface convertToFilterableItem(com.sas.iquery.metadata.expr.StringExpression stringExpression,
                                                   java.lang.String itemName,
                                                   com.sas.iquery.metadata.business.DataItem dataItem,
                                                   FilterQualifierListInterface qualifiers)
Creates a new FilterItemInterface object from the specified properties.

Overrides:
convertToFilterableItem in class BaseFilterObjectFactory
Parameters:
stringExpression - the expression for this item (ignored here)
itemName - the label for the new instance
dataItem - the DataItem object this instance should represent
qualifiers - the list of qualifiers that can be applied to this item - may be null
Returns:
the new filter item representing the given expression and properties

convertToFilterableItem

public FilterItemInterface convertToFilterableItem(com.sas.iquery.metadata.business.DataItem dataItem,
                                                   FilterQualifierListInterface qualifiers)
Creates a new FilterItemInterface object from the specified properties.

Parameters:
dataItem - the DataItem object this instance should represent
qualifiers - the list of qualifiers that can be applied to this item - may be null
Returns:
the new filter item representing the given DataItem and qualifiers

convertToFilterableItem

public FilterItemInterface convertToFilterableItem(com.sas.iquery.metadata.physical.Column columnItem,
                                                   java.lang.String itemName,
                                                   com.sas.iquery.metadata.business.DataItem dataItem,
                                                   FilterQualifierListInterface qualifiers)
Converts the given column to a FilterItemInterface for use throughout the filter model.

Overrides:
convertToFilterableItem in class BaseFilterObjectFactory
Parameters:
columnItem - the Column to convert
itemName - to assign the filter item
dataItem - the DataItem this filter is based on
qualifiers - the qualifiers for this filter item
Returns:
the filter item representing the expression

getQualifiedItem

public FilterItemInterface getQualifiedItem(com.sas.iquery.metadata.business.DataItem dataItem,
                                            FilterItemInterface filterItem,
                                            FilterQualifierListInterface qualifiers)
Returns the FilterItemInterface that defines the filter properties used when the parent object is being qualified.

Parameters:
dataItem - the DataItem this object should represent
filterItem - the parent FilterItemInterface
qualifiers - the list of qualifiers that can be applied to the parent filter object

getCharacterQualifiedItem

public FilterItemInterface getCharacterQualifiedItem()

getNumericQualifiedItem

public FilterItemInterface getNumericQualifiedItem()

getActualFilterValues

public FilterValuesInterface getActualFilterValues(com.sas.iquery.metadata.business.DataItem item)
Returns the list of actual values for the given DataItem.

Parameters:
item - the data item to process
Returns:
List the list of possible values

getMembersForOLAPItem

public java.util.List getMembersForOLAPItem(com.sas.iquery.metadata.business.DataItem item)
Gathers and returns a list of members for the given DataItem. The list is gathered via IQ data services using the base step in the DataItem.

Parameters:
item - the DataItem to get members for
Returns:
the list of members for the given item at the base step

getMembersForOLAPItem

public java.util.List getMembersForOLAPItem(com.sas.iquery.metadata.business.DataItem item,
                                            int step)
Gathers and returns a list of members for the given DataItem. The list is gathered via IQ data services using the specified step in the DataItem.

Parameters:
item - the DataItem to get members for
step - the index of the step to use when gathering members
Returns:
the list of members for the given item

newRelationalFilterExpression

public com.sas.iquery.metadata.expr.ExpressionInterface newRelationalFilterExpression(FilterLogicTestNodeInterface testNode,
                                                                                      java.lang.Object itemObject,
                                                                                      int exprType,
                                                                                      java.lang.Object conditionObject,
                                                                                      boolean conditionNegated,
                                                                                      java.util.List valueObjects)
Constructs and returns a new expression in the native filter model from the specified properties.

Parameters:
testNode - the filter model test node to process
itemObject - the filter item object
exprType - the type to assign the new expression
conditionObject - the native condition object
conditionNegated - TRUE if the expression's condition should be negated
valueObjects - the preprocessed list of test values for the expression
Returns:
the expression that represents the test node and other specified properties

newConditionalFunctionExpression

public com.sas.iquery.metadata.expr.ExpressionInterface newConditionalFunctionExpression(com.sas.iquery.metadata.expr.ExpressionInterface item,
                                                                                         int exprType,
                                                                                         com.sas.iquery.metadata.serverprop.FunctionNameID functionName,
                                                                                         boolean functionNegated,
                                                                                         java.util.List valueObjects)
Creates an expression based on a given FunctionNameID where that function has arguments that take the item to be operated on first and any comparisons or options following. Example:
x BETWEEN 1 AND 3
y CONTAINS "Foo"
z LIKE "xx?"

Parameters:
item - the item object to be parm 1 in the function
exprType - Expression Type (@see com.sas.iquery.metadata.expr.ExpressionTypes)
functionName - Function that returns a boolean type and takes the item as parm 1 (@see com.sas.iquery.metadata.serverprop.FunctionNameID)
conditionNegated - TRUE if the expression's condition should be negated
valueObjects - the preprocessed list of test values for the expression
Returns:
the expression that represents the completed function

newConditionalFunctionExpression

public com.sas.iquery.metadata.expr.ExpressionInterface newConditionalFunctionExpression(com.sas.iquery.metadata.serverprop.Function function,
                                                                                         java.util.List functionArgs,
                                                                                         boolean functionNegated)
Creates an expression based on a given FunctionNameID

Parameters:
function - Function that returns a boolean type (@see com.sas.iquery.metadata.serverprop.Function)
functionArgs - The list of all arguments to the funtion in the proper order
conditionNegated - TRUE if the expression's condition should be negated
Returns:
the expression that represents the completed function

newConditionalExpression

public com.sas.iquery.metadata.expr.ConditionalExpression newConditionalExpression(FilterLogicTestNodeInterface testNode)
Constructs and returns a new ConditionalExpression instance from the given test node.

Overrides:
newConditionalExpression in class BaseFilterObjectFactory
Parameters:
testNode - the test node to process
Returns:
the new conditional expression that represents the test node in the native filter model

newFilterExpression

public com.sas.iquery.metadata.expr.ExpressionInterface newFilterExpression(FilterLogicTestNodeInterface testNode)
Constructs and returns a new expression from the supplied test node.

Parameters:
testNode - the test node to process
Returns:
the expression that represents the test node in the native filter model

updateSimpleFilterFromTestNode

public boolean updateSimpleFilterFromTestNode(com.sas.iquery.metadata.business.FilterItem filterItem,
                                              FilterLogicTestNodeInterface testNode)
Save the testNode data to the filter and then make sure the filter is in the business model.

Specified by:
updateSimpleFilterFromTestNode in interface FilterObjectFactoryInterface
Overrides:
updateSimpleFilterFromTestNode in class BaseFilterObjectFactory
Parameters:
filterItem - the filter item to modify (may be null)
testNode - the test node to process
Returns:
TRUE if everything succeeds, FALSE otherwise

updateCompoundFilter

public boolean updateCompoundFilter(com.sas.iquery.metadata.business.FilterItem filterItem,
                                    com.sas.iquery.metadata.business.FilterItem left,
                                    com.sas.iquery.metadata.business.FilterItem right,
                                    com.sas.iquery.metadata.expr.ConditionalRelationType relationType,
                                    boolean isNegated)
Updates the given CompoundFilter object from the specified parameters.

Specified by:
updateCompoundFilter in interface FilterObjectFactoryInterface
Overrides:
updateCompoundFilter in class BaseFilterObjectFactory
Parameters:
filterItem - the compound filter to update
left - the left child to apply to the filter item
right - the right child to apply to the filter item
relationType - the logical relationship between the filter's children
isNegated - the negation status to assign to the filter item
Returns:
TRUE if the update was successful, FALSE otherwise

getConditionList

public FilterConditionListInterface getConditionList(com.sas.iquery.metadata.business.DataItem item)
Returns the list of conditions appropriate for the given DataItem.

Parameters:
item - the DataItem to examine
Returns:
the list of conditions for the given item

getRelationalConditions

public FilterConditionListInterface getRelationalConditions(com.sas.iquery.metadata.expr.ExpressionInterface expression,
                                                            boolean forcedFormatting)
Returns the condition list appropriate for the given expression assuming it is for relational data.

Overrides:
getRelationalConditions in class BaseFilterObjectFactory
Parameters:
expression - the expression to examine
forcedFormatting - flag to specify if forced formatting should be considered while constructing the condition list
Returns:
the condition list appropriate for the given expression

getRelationalConditions

public FilterConditionInterface[] getRelationalConditions(boolean forcedFormatting)
Returns a FilterConditionListInterface instance containing the list of all conditions to be used for relational DataItem based filters.

Overrides:
getRelationalConditions in class BaseFilterObjectFactory
Returns:
the list of conditions for relational filter items

getRelationalCharacterConditions

public FilterConditionInterface[] getRelationalCharacterConditions(boolean forcedFormatting)
Returns the condition list for relational filter items that are for character data.

Overrides:
getRelationalCharacterConditions in class BaseFilterObjectFactory
Returns:
the condition list for alphanumeric relational filter items

getRelationalNumericConditions

public FilterConditionInterface[] getRelationalNumericConditions(boolean forcedFormatting)
Returns the condition list for relational filter items that are for numeric data.

Overrides:
getRelationalNumericConditions in class BaseFilterObjectFactory
Returns:
the condition list for numeric relational filter items

getRelationalTimeConditions

public FilterConditionInterface[] getRelationalTimeConditions()
Returns the condition list for relational filter items that are for time data only (not date or timestamp).

Returns:
the condition list for numeric relational filter items

getRelationalTimeBasedConditions

public FilterConditionInterface[] getRelationalTimeBasedConditions()
Returns the condition list for relational filter items that are for date and timestamp data.

Returns:
the condition list for numeric relational filter items

getDefaultOLAPNonMeasureConditions

public java.lang.Object[] getDefaultOLAPNonMeasureConditions()
Returns the condition list for filter items that are for non-measure OLAP members.

Returns:
the condition list for non-measure OLAP items

getOLAPTimeBasedConditions

public java.lang.Object[] getOLAPTimeBasedConditions()
Returns the condition list for filter items that are for non-measure time-based OLAP members.

Returns:
the condition list for non-measure time-based OLAP items

getDefaultOLAPMeasureConditions

public java.lang.Object[] getDefaultOLAPMeasureConditions()
Returns the condition list for filter items that are for OLAP members that are measures.

Returns:
the condition list for OLAP measure items

getOLAPConditions

public FilterConditionListInterface getOLAPConditions(com.sas.iquery.metadata.business.DataItem item)
Returns the condition list appropriate for the given OLAP DataItem.

Parameters:
item - the DataItem to examine
Returns:
the condition list appropriate for the given item

newTestNode

public FilterLogicTestNodeInterface newTestNode(java.lang.String name,
                                                java.lang.String desc,
                                                java.lang.Object item,
                                                java.lang.Object conditionObject,
                                                boolean isNegated,
                                                java.util.List values,
                                                FilterItemListInterface filterItemList)
Creates and returns a new test node from the given properties.

Specified by:
newTestNode in interface FilterObjectFactoryInterface
Overrides:
newTestNode in class BaseFilterObjectFactory
Parameters:
name - a label for the test node
desc - a description for the test node
item - the selected filter item
conditionObject - the selected condition
isNegated - flag for setting negation on the test node
values - any selected value(s)
filterItemList - the list of known filter items
Returns:
the new test node

convertToFilterItem

public FilterItemInterface convertToFilterItem(java.lang.Object item,
                                               com.sas.iquery.metadata.business.DataItem dataItem,
                                               FilterItemListInterface filterItemList)
Overrides:
convertToFilterItem in class BaseFilterObjectFactory
Parameters:
item - the item to convert
dataItem - an optional DataItem associated w/ the item to convert
filterItemList - the existing list of FilterItemInterface objects
Returns:
the new FilterItemInterface object for the given item or null if none was created

findMatchingFilterItem

public FilterItemInterface findMatchingFilterItem(FilterItemListInterface fili,
                                                  java.lang.Object itemObject)
This method attempts to locate and return the filter item that matches the search value from the native filter model.

Specified by:
findMatchingFilterItem in interface FilterObjectFactoryInterface
Overrides:
findMatchingFilterItem in class BaseFilterObjectFactory
Parameters:
fili - the list of filter items to search
itemObject - the search value from the native model
Returns:
the filter item that represents the object from the native model or null if none applied

newTestNode

public FilterLogicTestNodeInterface newTestNode(java.lang.String name,
                                                java.lang.String desc,
                                                java.lang.Object item,
                                                java.util.List qualifiers,
                                                java.lang.Object conditionObject,
                                                boolean isNegated,
                                                java.util.List values,
                                                FilterItemListInterface filterItemList)
Creates and returns a new test node from the given properties.

Overrides:
newTestNode in class BaseFilterObjectFactory
Parameters:
name - a label for the test node
desc - a description for the test node
item - the selected filter item
qualifiers - the selected list of qualifiers
conditionObject - the selected condition
isNegated - flag for setting negation on the test node
values - any selected value(s)
filterItemList - the list of known filter items
Returns:
the new test node

newTestNode

public FilterLogicTestNodeInterface newTestNode(com.sas.iquery.metadata.business.DataItem dataItem,
                                                com.sas.iquery.metadata.business.step.StepInterface filterObject,
                                                FilterItemListInterface filterItemList)
Creates a new test node from the given OLAP Step model filter.

Specified by:
newTestNode in interface FilterObjectFactoryInterface
Overrides:
newTestNode in class BaseFilterObjectFactory
Parameters:
dataItem - the DataItem the step filter affects
filterObject - the step filter to examine
filterItemList - the list of previously created filter items
Returns:
the new test node encapsulating the OLAP step model filter

newTestNode

public FilterLogicTestNodeInterface newTestNode(java.lang.String name,
                                                java.lang.String desc,
                                                com.sas.iquery.metadata.expr.olap.TimeFilterExpression filterExpression,
                                                FilterItemListInterface filterItemList)
Creates and returns a new test node from the given properties.

Overrides:
newTestNode in class BaseFilterObjectFactory
Parameters:
name - a label for the test node
desc - a description for the test node
filterExpression - the filter expression to process
filterItemList - the list of known filter items
Returns:
the new test node

newTestNode

public FilterLogicTestNodeInterface newTestNode(java.lang.String name,
                                                java.lang.String desc,
                                                com.sas.iquery.metadata.expr.olap.TimeRangeFilterExpression filterExpression,
                                                FilterItemListInterface filterItemList)
Creates and returns a new test node from the given properties.

Overrides:
newTestNode in class BaseFilterObjectFactory
Parameters:
name - a label for the test node
desc - a description for the test node
filterExpression - the filter expression to process
filterItemList - the list of known filter items
Returns:
the new test node

getConditionFromRB

public static FilterConditionInterface getConditionFromRB(java.lang.String key,
                                                          java.lang.Object nativeObject,
                                                          boolean isNegated)
Creates and returns a new filter condition instance from the given properties and those found in the resource bundle with the specified key.

Parameters:
key - the resource key for the desired condition properties
nativeObject - the native object the condition will represent
isNegated - TRUE if the condition is the negation of another
Returns:
the new filter condition

getConditionFromRB

public static FilterConditionInterface getConditionFromRB(java.lang.String key,
                                                          java.lang.Object nativeObject,
                                                          boolean isNegated,
                                                          boolean promptsAllowed)
Creates and returns a new filter condition instance from the given properties and those found in the resource bundle with the specified key.

Parameters:
key - the resource key for the desired condition properties
nativeObject - the native object the condition will represent
isNegated - TRUE if the condition is the negation of another
promptsAllowed - TRUE if prompts should be allowed as values
Returns:
the new filter condition

getConditionFromRB

public static FilterConditionInterface getConditionFromRB(java.lang.String key,
                                                          java.lang.Object nativeObject,
                                                          boolean isNegated,
                                                          java.util.Locale locale)
Creates and returns a new filter condition instance from the given properties and those found in the resource bundle with the specified key.

Parameters:
key - the resource key for the desired condition properties
nativeObject - the native object the condition will represent
isNegated - TRUE if the condition is the negation of another
locale - the locale for which any labels should be retrieved
Returns:
the new filter condition

getConditionFromRB

public static FilterConditionInterface getConditionFromRB(java.lang.String key,
                                                          java.lang.Object nativeObject,
                                                          boolean isNegated,
                                                          boolean promptsAllowed,
                                                          java.util.Locale locale)
Creates and returns a new filter condition instance from the given properties and those found in the resource bundle with the specified key.

Parameters:
key - the resource key for the desired condition properties
nativeObject - the native object the condition will represent
isNegated - TRUE if the condition is the negation of another
promptsAllowed - TRUE if prompts should be allowed as values
locale - the locale for which any labels should be retrieved
Returns:
the new filter condition

getConditionFromRB

public static FilterConditionInterface getConditionFromRB(java.lang.String key,
                                                          java.lang.Object nativeObject,
                                                          boolean isNegated,
                                                          boolean promptsAllowed,
                                                          boolean isValueListAllowed,
                                                          boolean isUserValueAllowed,
                                                          java.util.Locale locale)
Creates and returns a new filter condition instance from the given properties and those found in the resource bundle with the specified key.

Parameters:
key - the resource key for the desired condition properties
nativeObject - the native object the condition will represent
isNegated - TRUE if the condition is the negation of another
promptsAllowed - TRUE if prompts should be allowed as values
isValueListAllowed - TRUE if a pick-list of values should be available
isUserValueAllowed - TRUE if the user should be allowed to enter custom values
locale - the locale for which any labels should be retrieved
Returns:
the new filter condition

setLocale

public void setLocale(java.util.Locale locale)
Sets the locale to be used when creating/retrieving text that will be visible to a user.

Specified by:
setLocale in interface FilterObjectFactoryInterface
Overrides:
setLocale in class BaseFilterObjectFactory
Parameters:
locale - the new locale

getOLAPTimeBasedFilterAdapter

public OLAPTimeBasedFilterAdapterInterface getOLAPTimeBasedFilterAdapter()
Provides the single instance of the OLAP relative time-based filter adapter for use by the relative-time filter condition.

Returns:
A singleton implementation of OLAPTimeBasedFilterAdapterInterface.



Copyright © 2009 SAS Institute Inc. All Rights Reserved.