Class AttributeRegExFilter
- java.lang.Object
-
- org.eclipse.jface.viewers.ViewerFilter
-
- net.ssehub.easy.producer.ui.productline_editor.configuration.AbstractConfigurationFilter
-
- net.ssehub.easy.producer.ui.productline_editor.configuration.AttributeRegExFilter
-
public class AttributeRegExFilter extends AbstractConfigurationFilter
Implements a simple attribute filter.- Author:
- Holger Eichelberger
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.regex.PatternattrPatternprivate java.util.regex.PatternvaluePattern
-
Constructor Summary
Constructors Constructor Description AttributeRegExFilter(java.lang.String attributeNameRegEx, java.lang.String valueRegEx, boolean showAllNestedElements)Creates an attribute filter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancheckVariable(GUIVariable variable)Determines whether a given variable should be shown inside the editor or not.-
Methods inherited from class net.ssehub.easy.producer.ui.productline_editor.configuration.AbstractConfigurationFilter
checkVariableRecursivley, select
-
-
-
-
Constructor Detail
-
AttributeRegExFilter
public AttributeRegExFilter(java.lang.String attributeNameRegEx, java.lang.String valueRegEx, boolean showAllNestedElements) throws java.util.regex.PatternSyntaxExceptionCreates an attribute filter.- Parameters:
attributeNameRegEx- a regular expression for matching attribute namesvalueRegEx- a regular expression for matching the textual representation of valuesshowAllNestedElements- whether nested elements of a shown variable will also be filtered- Throws:
java.util.regex.PatternSyntaxException- in case of an erroneous pattern syntax
-
-
Method Detail
-
checkVariable
protected boolean checkVariable(GUIVariable variable)
Description copied from class:AbstractConfigurationFilterDetermines whether a given variable should be shown inside the editor or not. Parents of variables which shall be shown should not be filtered. TheAbstractConfigurationFilterensures that.
This method must also ensure that nested elements of a shown variable are also displayed. Therefore, this method should also be written in a recursive manner to check nested elements of displayed variables. This should be done in the following way:
if(checkVariable(variable)) {
for(GUIVariable nestedVariable : variable.getNestedVars()) {
checkVariable(nestedVariable);
}
}- Specified by:
checkVariablein classAbstractConfigurationFilter- Parameters:
variable- The variable which should be tested whether it should be displayed inside the editor- Returns:
- true if the variable should be displayed, false otherwise.
-
-