com.sas.dataselectors.filters
Interface FilterObjectFactoryInterface

All Known Implementing Classes:
AdvancedBusinessModelFilterObjectFactory, AdvancedBusinessQueryFilterObjectFactory, BaseAdvancedFilterObjectFactory, BaseFilterObjectFactory, BusinessQueryFilterObjectFactory, InformationMapFilterObjectFactory

public interface FilterObjectFactoryInterface

The FilterObjectFactoryInterface defines the primary interface between native objects and the filter specific objects the filter model works with. All methods included in this class are in some way involved with converting objects back and forth between the filter model and a native model.


Method Summary
 boolean clearFilterCondition(com.sas.iquery.metadata.business.FilterItem filterItem)
          Clears the properties of the given filter item.
 boolean enforceBooleanPrecedence()
          Returns TRUE if boolean precedence rules must be enforced when building logical filter trees.
 FilterConditionInterface findMatchingConditionObject(FilterItemInterface filterItem, java.lang.Object conditionObject, boolean isNegated)
          Returns the FilterConditionInterface instance that represents the specified condition object.
 FilterItemInterface findMatchingFilterItem(FilterItemListInterface fili, java.lang.Object itemObject)
          Returns the FilterItemInterface instance from the given list that represents the specified item object.
 java.util.List getFilterableItems(boolean includeBaseModels, java.util.Map filterItemLookup)
           
 java.util.Locale getLocale()
          Returns the locale currently in use.
 int getMaxOutputObservations()
          Returns the current maximum number of output observations returned when gathering a list of possible values to select from when creating a filter expression.
 com.sas.iquery.metadata.business.CompoundFilter newCompoundFilter()
          Creates and returns a new CompoundFilter instance from the active BusinessModel.
 com.sas.iquery.metadata.business.step.CompoundStep newCompoundStep()
          Creates and returns a new CompoundStep instance for use in the OLAP step model.
 com.sas.iquery.metadata.business.FilterItem newFilterItem()
          Creates and returns a new FilterItem instance from the active BusinessModel.
 com.sas.iquery.metadata.business.step.StepInterface newFilterStep(FilterLogicTestNodeInterface testNode)
          Creates and returns a new StepInterface instance for use in the OLAP step model.
 FilterLogicTestNodeInterface newTestNode(com.sas.iquery.metadata.business.DataItem dataItem, FilterItemListInterface filterItemList)
          Creates and returns a new FilterLogicTestNodeInterface instance based on the properties from the supplied objects.
 FilterLogicTestNodeInterface newTestNode(com.sas.iquery.metadata.business.DataItem dataItem, com.sas.iquery.metadata.business.step.StepInterface filterObject, FilterItemListInterface filterItemList)
          Creates and returns a new FilterLogicTestNodeInterface instance based on the properties from the supplied objects.
 FilterLogicTestNodeInterface newTestNode(com.sas.iquery.metadata.business.FilterItem filter, FilterItemListInterface filterItemList)
          Creates and returns a new FilterLogicTestNodeInterface instance based on the data from the given filter object and FilterItemListInterface object.
 FilterLogicTestNodeInterface newTestNode(java.lang.String name, java.lang.String desc, com.sas.iquery.metadata.expr.FunctionCall call, FilterItemListInterface filterItemList)
           
 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)
           
 FilterLogicTestNodeInterface newTestNode(java.lang.String name, java.lang.String desc, com.sas.iquery.metadata.expr.relational.SimpleConditionalExpression_Between betweenExpr, FilterItemListInterface filterItemList)
           
 FilterLogicTestNodeInterface newTestNode(java.lang.String name, java.lang.String desc, com.sas.iquery.metadata.expr.relational.SimpleConditionalExpression_Comparison compExpr, FilterItemListInterface filterItemList)
           
 FilterLogicTestNodeInterface newTestNode(java.lang.String name, java.lang.String desc, com.sas.iquery.metadata.expr.relational.SimpleConditionalExpression_In inExpr, FilterItemListInterface filterItemList)
           
 FilterLogicTestNodeInterface newTestNode(java.lang.String name, java.lang.String desc, com.sas.iquery.metadata.expr.relational.SimpleConditionalExpression_TestForNull nullExpr, FilterItemListInterface filterItemList)
           
 void removeFilterItem(java.lang.Object filterItem)
          Remove the specified filter item from the business model.
 void setLocale(java.util.Locale locale)
          Sets the locale used when deriving any locale specific labels or text resources.
 void setMaxOutputObservations(int max)
          Sets the current maximum number of output observations to be returned when gathering a list of possible values to select from when creating a filter expression.
 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 with the specified properties.
 boolean updateCompoundStep(com.sas.iquery.metadata.business.step.CompoundStep filterItem, com.sas.iquery.metadata.business.step.StepInterface left, com.sas.iquery.metadata.business.step.StepInterface right, com.sas.iquery.metadata.expr.ConditionalRelationType relationType, boolean isNegated)
          Updates the given CompoundStep with the specified properties.
 boolean updateSimpleFilterFromTestNode(com.sas.iquery.metadata.business.FilterItem filterItem, FilterLogicTestNodeInterface testNode)
          Saves the testNode data to the filter and then makes sure the filter is in the business model.
 boolean updateSimpleFilterFromTestNode(java.lang.Object filterItemObject, FilterLogicTestNodeInterface testNode)
          Save the test node data to the filter item.
 

Method Detail

newFilterItem

com.sas.iquery.metadata.business.FilterItem newFilterItem()
Creates and returns a new FilterItem instance from the active BusinessModel. The new FilterItem is not added to BusinessModel. The 'hidden' flag on the new FilterItem is set to TRUE before the object is returned.

Returns:
the new FilterItem instance

newCompoundFilter

com.sas.iquery.metadata.business.CompoundFilter newCompoundFilter()
Creates and returns a new CompoundFilter instance from the active BusinessModel. The new CompoundFilter is not added to BusinessModel. The 'hidden' flag on the new CompoundFilter is set to TRUE before the object is returned.

Returns:
the new CompoundFilter instance

newFilterStep

com.sas.iquery.metadata.business.step.StepInterface newFilterStep(FilterLogicTestNodeInterface testNode)
Creates and returns a new StepInterface instance for use in the OLAP step model. The type of object returned is based on the properties of the given test node. If qualifiers are present in the test node, a DataItemDataBasedFilter object is returned, otherwise a DataItemMemberFilter object is returned. The new instance is not added to the model. The action type on the new StepInterface instance is set to StepFilterInterface.INITIAL_ACTION_TYPE.

Parameters:
testNode - the test node used to determine the type of object to return
Returns:
the new StepInterface instance or null if the testNode parameter was null

newCompoundStep

com.sas.iquery.metadata.business.step.CompoundStep newCompoundStep()
Creates and returns a new CompoundStep instance for use in the OLAP step model. The new instance is not added to the model.

Returns:
the new CompoundStep instance

removeFilterItem

void removeFilterItem(java.lang.Object filterItem)
Remove the specified filter item from the business model.

Parameters:
filterItem - the filter item to remove from the active BusinessModel

clearFilterCondition

boolean clearFilterCondition(com.sas.iquery.metadata.business.FilterItem filterItem)
Clears the properties of the given filter item.

Parameters:
filterItem - the filter item to clear
Returns:
TRUE if no problems were encountered, FALSE otherwise

updateSimpleFilterFromTestNode

boolean updateSimpleFilterFromTestNode(java.lang.Object filterItemObject,
                                       FilterLogicTestNodeInterface testNode)
Save the test node data to the filter item. This method simply determines what type of filter object is being dealt with and calls the appropriate method to actually update the filter item.

Parameters:
filterItemObject - the target filter object to be updated
testNode - the source test node to draw the data from
Returns:
TRUE if no problems were encountered, FALSE otherwise

updateSimpleFilterFromTestNode

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

Parameters:
filterItem - the target filter object to be updated
testNode - the source test node to draw the data from
Returns:
TRUE if no problems were encountered, FALSE otherwise

updateCompoundFilter

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 with the specified properties.

Parameters:
filterItem - the CompoundFilter to update
left - the left child filter
right - the right child filter
relationType - the logical boolean relationship between the left and right children
isNegated - TRUE if the logical value of this implied grouping should be negated when evaluated
Returns:
TRUE if no problems were encountered, FALSE otherwise

updateCompoundStep

boolean updateCompoundStep(com.sas.iquery.metadata.business.step.CompoundStep filterItem,
                           com.sas.iquery.metadata.business.step.StepInterface left,
                           com.sas.iquery.metadata.business.step.StepInterface right,
                           com.sas.iquery.metadata.expr.ConditionalRelationType relationType,
                           boolean isNegated)
Updates the given CompoundStep with the specified properties.

Parameters:
filterItem - the CompoundFilter to update
left - the left child filter
right - the right child filter
relationType - the logical boolean relationship between the left and right children
isNegated - TRUE if the logical value of this implied grouping should be negated when evaluated
Returns:
TRUE if no problems were encountered, FALSE otherwise

findMatchingFilterItem

FilterItemInterface findMatchingFilterItem(FilterItemListInterface fili,
                                           java.lang.Object itemObject)
Returns the FilterItemInterface instance from the given list that represents the specified item object. If no item matches, then null is returned.

Parameters:
fili - the list of FilterItemInterface objects to search through
itemObject - the source item to find a match for
Returns:
the matching FilterItemInterface instance or null if no match was made

findMatchingConditionObject

FilterConditionInterface findMatchingConditionObject(FilterItemInterface filterItem,
                                                     java.lang.Object conditionObject,
                                                     boolean isNegated)
Returns the FilterConditionInterface instance that represents the specified condition object. The list of FilterConditionInterfaces to search through is derived from the given FilterItemInterface. The negation flag is consulted to determine the best appropriate match. If no condition matches, then null is returned.

Parameters:
filterItem - the FilterItemInterface object to derive the search list from
conditionObject - the condition object to find a match for
isNegated - status of the condition negation flag necessary for a match
Returns:
the matching FilterConditionInterface instance of null if no match was made

newTestNode

FilterLogicTestNodeInterface newTestNode(com.sas.iquery.metadata.business.FilterItem filter,
                                         FilterItemListInterface filterItemList)
Creates and returns a new FilterLogicTestNodeInterface instance based on the data from the given filter object and FilterItemListInterface object.

Parameters:
filter - the filter object to create the test node from
filterItemList - the list to pull from when matching properties
Returns:
the new test node

newTestNode

FilterLogicTestNodeInterface newTestNode(com.sas.iquery.metadata.business.DataItem dataItem,
                                         com.sas.iquery.metadata.business.step.StepInterface filterObject,
                                         FilterItemListInterface filterItemList)
Creates and returns a new FilterLogicTestNodeInterface instance based on the properties from the supplied objects.

Parameters:
dataItem - the DataItem associated with the step used to create this test node
filterObject - the specific step to derive most of the new test node's values from
filterItemList - the list to pull from when matching properties
Returns:
the new test node

newTestNode

FilterLogicTestNodeInterface newTestNode(com.sas.iquery.metadata.business.DataItem dataItem,
                                         FilterItemListInterface filterItemList)
Creates and returns a new FilterLogicTestNodeInterface instance based on the properties from the supplied objects. The new test node derives most of its values from the current step in the OLAP step model for the given DataItem.

Parameters:
dataItem - the DataItem associated with the step used to create this test node
filterItemList - the list to pull from when matching properties
Returns:
the new test node

newTestNode

FilterLogicTestNodeInterface newTestNode(java.lang.String name,
                                         java.lang.String desc,
                                         com.sas.iquery.metadata.expr.relational.SimpleConditionalExpression_Comparison compExpr,
                                         FilterItemListInterface filterItemList)

newTestNode

FilterLogicTestNodeInterface newTestNode(java.lang.String name,
                                         java.lang.String desc,
                                         com.sas.iquery.metadata.expr.relational.SimpleConditionalExpression_In inExpr,
                                         FilterItemListInterface filterItemList)

newTestNode

FilterLogicTestNodeInterface newTestNode(java.lang.String name,
                                         java.lang.String desc,
                                         com.sas.iquery.metadata.expr.relational.SimpleConditionalExpression_Between betweenExpr,
                                         FilterItemListInterface filterItemList)

newTestNode

FilterLogicTestNodeInterface newTestNode(java.lang.String name,
                                         java.lang.String desc,
                                         com.sas.iquery.metadata.expr.relational.SimpleConditionalExpression_TestForNull nullExpr,
                                         FilterItemListInterface filterItemList)

newTestNode

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)

newTestNode

FilterLogicTestNodeInterface newTestNode(java.lang.String name,
                                         java.lang.String desc,
                                         com.sas.iquery.metadata.expr.FunctionCall call,
                                         FilterItemListInterface filterItemList)
Parameters:
name - the name to assign the test node
desc - the description to assign the test node
call - the FunctionCall object to examine
filterItemList - the list of filter items to draw from
Returns:
the new test node

getFilterableItems

java.util.List getFilterableItems(boolean includeBaseModels,
                                  java.util.Map filterItemLookup)

getMaxOutputObservations

int getMaxOutputObservations()
Returns the current maximum number of output observations returned when gathering a list of possible values to select from when creating a filter expression.

Returns:
the maximum number of output observations

setMaxOutputObservations

void setMaxOutputObservations(int max)
Sets the current maximum number of output observations to be returned when gathering a list of possible values to select from when creating a filter expression.

Parameters:
max - the new maximum number of output observations
See Also:
Governing

setLocale

void setLocale(java.util.Locale locale)
Sets the locale used when deriving any locale specific labels or text resources.

Parameters:
locale - the new locale

getLocale

java.util.Locale getLocale()
Returns the locale currently in use.

Returns:
the current locale

enforceBooleanPrecedence

boolean enforceBooleanPrecedence()
Returns TRUE if boolean precedence rules must be enforced when building logical filter trees.




Copyright © 2009 SAS Institute Inc. All Rights Reserved.