DSIMetadataRestrictionGenerator Class Reference

DSIMetadataRestrictionGenerator provides a method to create restrictions used by metadata source to give a smaller result set. More...

List of all members.

Public Member Functions

 DSIMetadataRestrictionGenerator (Simba::DSI::DSIMetadataRestrictions &out_restrictions, bool in_performFiltering)
 Constructor.
void PopulateDSIInputFilterMap (Simba::DSI::DSIMetadataTableID in_metadataTableID, const std::vector< Variant > &in_parameters, const std::vector< Simba::DSI::DSIMetadataFilter * > &in_filters)
 Populates the DSIMetadataRestrictions map based on the metadata filters.
void Visit (const Simba::DSI::DSIMetadataFilter *in_filter)
 Populates the DSIMetadataRestrictions map based on the in_filter.
void Visit (const Simba::DSI::VLMetadataFilter *in_filter)
 Populates the DSIMetadataRestrictions map based on the in_filter.
void Visit (const Simba::DSI::SmallIntMetadataFilter *in_filter)
 Populates the DSIMetadataRestrictions map based on the in_filter.
void Visit (const Simba::DSI::PVMetadataFilter *in_filter)
 Populates the DSIMetadataRestrictions map based on the in_filter.
void Visit (const Simba::DSI::OAMetadataFilter *in_filter)
 Populates the DSIMetadataRestrictions map based on the in_filter.
void Visit (const Simba::DSI::IDMetadataFilter *in_filter)
 Populates the DSIMetadataRestrictions map based on the in_filter.
 ~DSIMetadataRestrictionGenerator ()
 Destructor.

Detailed Description

DSIMetadataRestrictionGenerator provides a method to create restrictions used by metadata source to give a smaller result set.

Please see DSIMetadataSource for details on what the DSIMetadataRestrictions map represents. Special handling is done (in PopulateDSIInputFilterMap method) for some catalog functions, which is indicated by the DSIMetadataTableID enum.

DSIMetadataRestrictionGenerator implements the visitor pattern to find out the type of each filter in order to generate the appropriate restrictions for DSIMetadataSource.


Constructor & Destructor Documentation

DSIMetadataRestrictionGenerator ( Simba::DSI::DSIMetadataRestrictions out_restrictions,
bool  in_performFiltering 
)

Constructor.

Parameters:
out_restrictions Map of DSIOutputMetadataColumnTag to literal strings to be passed down to metadata source as suggested restrictions to cut down on the size of the raw table. This map will get filled in when PopulateDSIInputFilterMap() gets called.
in_performFiltering True if the SDK should filter the metadata source; false otherwise.

Destructor.


Member Function Documentation

void PopulateDSIInputFilterMap ( Simba::DSI::DSIMetadataTableID  in_metadataTableID,
const std::vector< Variant > &  in_parameters,
const std::vector< Simba::DSI::DSIMetadataFilter * > &  in_filters 
)

Populates the DSIMetadataRestrictions map based on the metadata filters.

MAINTENANCE NOTE: The DSIMetadataFilter*s in out_metadataFilters are NOT OWNed by this function. The caller of this function maintains ownership.

Parameters:
in_metadataTableID Identifier to create the appropriate metadata table
in_parameters Parameters of the catalog function that may need to be added to the list of restrictions
in_filters Vector of filters. (NOT OWN)
void Visit ( const Simba::DSI::DSIMetadataFilter in_filter  ) 

Populates the DSIMetadataRestrictions map based on the in_filter.

This implementation does nothing.

Parameters:
in_filter Filter. (NOT OWN)
void Visit ( const Simba::DSI::VLMetadataFilter in_filter  ) 

Populates the DSIMetadataRestrictions map based on the in_filter.

This implementation adds the in_filter's value list to the DSIMetadataRestrictions map as a string.

Parameters:
in_filter Filter. (NOT OWN)
void Visit ( const Simba::DSI::SmallIntMetadataFilter in_filter  ) 

Populates the DSIMetadataRestrictions map based on the in_filter.

This implementation adds the in_filter's small int value to the DSIMetadataRestrictions map as a string.

Parameters:
in_filter Filter. (NOT OWN)
void Visit ( const Simba::DSI::PVMetadataFilter in_filter  ) 

Populates the DSIMetadataRestrictions map based on the in_filter.

This implementation adds the in_filter's filter string to the DSIMetadataRestrictions map if there are no search patterns in the filter string.

Parameters:
in_filter Filter. (NOT OWN)
void Visit ( const Simba::DSI::OAMetadataFilter in_filter  ) 

Populates the DSIMetadataRestrictions map based on the in_filter.

This implementation adds the in_filter's filter string to the DSIMetadataRestrictions map.

Parameters:
in_filter Filter. (NOT OWN)
void Visit ( const Simba::DSI::IDMetadataFilter in_filter  ) 

Populates the DSIMetadataRestrictions map based on the in_filter.

This implementation adds the in_filter's filter string to the DSIMetadataRestrictions map.

Parameters:
in_filter Filter. (NOT OWN)

The documentation for this class was generated from the following file:

Generated on Wed May 17 14:21:15 2017 for SimbaEngine 10.1.3.1011 by simba