Defining Viewer Filters on Selena Elements

To define a filter, either directly implement the Basis interface com.tssap.selena.model.extension.filter.IFilter, or use one of the two default implementations YesManFilter and NoManFilter.

 

As shown in the following class diagram, all filter types and all filter set definitions are derived from the Basis interface IFilter.

 

 

Filters

 

Package com.tssap.selena.model.extension.filter

 

IFilter

 

Basis interface for the definition of Model Viewer filters. This interface prescribes a set of methods that you can use to determine the general availability of different objects of the API element model (ProperertyMap, Propererty, ReferenceContainer, UniqueName). You can use further methods to check the availability of various navigation paths (availability of child entity, parent, reference relationships, …). In addition, you can use the method isInverted() to query whether a filter can be inverted.           

Whenever you wish to write your own filters, you can define a filter class that directly implements the IFilter interface. In this case, all the IFilter methods must be implemented. Therefore, we recommend instead that you use the two standard filters YesManFilter and NoManFilter.

 

 

 

YesManFilter

 

This class implements a standard filter that allows the entire content to pass through without restriction. All the availability methods of the IFilter interface return the true value in this standard implementation.

To write a new filter, you can define a filter class that directly inherits from YesManFilter.

 

NoManFilter

 

This class implements a standard filter that does not allow anything to pass through. All the availability methods of the IFilter interface return the value false in this standard implementation.

To write a new filter, you can define a filter class that directly inherits from NoManFilter.

 

 

 

Filter Sets

 

Package com.tssap.selena.model.extension.filter

 

IMutableFilterSet

 

Basis interface for the definition of filter sets that  can be built from existing filters. Using the methods addFilter() and addFilters(), you can add filters to a filter set  and, using  removeFilter(), removeFilters(),removeAllFilters(), you can remove from a set. Using the method setType(), you can specify the type of filter (OR, AND).