rs.sol.soloist.server.guiconfiguration.nonvisualcompoments
Class GUICollectionFilter

java.lang.Object
  extended by rs.sol.soloist.server.uml.commonimplementation.runtime._ClassifierInstance
      extended by rs.sol.soloist.server.uml.commonimplementation.runtime._ClassInstance
          extended by rs.sol.soloist.server.javaimpl.runtime.SOLoistClassInstance
              extended by rs.sol.soloist.server.builtindomains.common.ObjectOfClass
                  extended by rs.sol.soloist.server.guiconfiguration.construction.GUIComponent
                      extended by rs.sol.soloist.server.guiconfiguration.nonvisualcompoments.GUINonVisualComponent
                          extended by rs.sol.soloist.server.guiconfiguration.nonvisualcompoments.GUICollectionFilter
All Implemented Interfaces:
IElementPresentationProvider, IUpdatable, rs.sol.soloist.server.uml.concepts.IElement, IClassifierInstance, IClassInstance, IRTElement

public class GUICollectionFilter
extends GUINonVisualComponent

An invisible widget that filters values from the collection. A collection of values can either be on input input pin (ipInput() method) of this widget, or if setPrpertyFQName(String) method is called during widget construction, the collection is obtained after fetching objects linked to the first object on this widget's input pin over the property specified in that method.

For each object from the collection, the filtering is done by comparing values set by setValues(List) method with object's slot values for properties specified by setFilterByProperties(String...) method.

Those objects that satisfy filetering conditions are provided on output output pin (opOutput() method).

Author:
SOL Expert Group

Nested Class Summary
static class GUICollectionFilter.FQPropertyNames
          Deprecated. Not for public use.
static class GUICollectionFilter.PROPERTIES
          Deprecated. Not for public use.
 
Field Summary
static IClass CLASSIFIER
          UML class reference
 IAttributeValue<Text> filterByProperties
          Deprecated. Not for public use.
 IAttributeValue<FilteringLogic> filteringLogic
          Deprecated. Not for public use.
static java.lang.String FQ_TYPE_NAME
          Fully qualified UML class name
 IAttributeValue<Text> input
          Deprecated. Not for public use.
 IAttributeValue<Text> output
          Deprecated. Not for public use.
 IAttributeValue<Text> propertyFQName
          Deprecated. Not for public use.
 IAttributeValue<Text> refresh
          Deprecated. Not for public use.
 IAssociationEndInstance<rs.sol.soloist.server.builtindomains.common.ClassifierInstanceDescriptor> values
          Deprecated. Not for public use.
 
Fields inherited from class rs.sol.soloist.server.guiconfiguration.construction.GUIComponent
addStyle, context, description, enabled, init, inputBindings, layoutData, logger, name, outputBindings, ownerTable, parent, removeStyle, show, showInParent, styleName, tooltip, visible
 
Constructor Summary
GUICollectionFilter()
           
 
Method Summary
 void addValue(IClassifierInstance instance)
          Adds the value used for filtering.
 void clearValues()
          Clears all values used for filtering.
 void constructor()
          The domain-specific constructor of the Classifier.
static GUICollectionFilter create(GUIContainerComponent parent)
          Returns new GUICollectionFilter and assigns it to its parent widget.
static GUICollectionFilter create(GUIContainerComponent parent, java.lang.String[] filterByProperties)
          Returns new GUICollectionFilter, configures it with the given properties, and assigns it to its parent widget.
 java.lang.String[] getFilterByProperties()
          Returns the property names used for filtering.
 FilteringLogic getFilteringLogic()
          Returns the filtering logic used by this widget.
 java.lang.String getPropertyFQName()
          Returns the property name used for navigating the corresponding slot.
 java.util.List<IClassifierInstance> getValues()
          Returns the values used for filtering.
 java.lang.Object handle(rs.sol.soloist.client.common.requests.Request request)
          Handles single request from the client (browser) and returns an appropriate response.
 ISlot<?> ipInput()
          Returns the input input pin; when event occurs, this widget will filter the collection of elements and provide the result on the output output pin (opOutput() method).
 ISlot<?> ipRefresh()
          Returns the refresh input pin; when event occurs, this widget will re-filter the collection of elements and provide the result on the output output pin (opOutput() method).
 ISlot<?> opOutput()
          Returns the output output pin; when event occurs on either input input pin (ipInput() method) or refresh input pin (ipRefresh() method) this widget will filter the collection of elements and provide the result on this pin.
 void removeValue(IClassifierInstance instance)
          Removes the value used for filtering.
 void setFilterByProperties(java.lang.String... values)
          Sets the property names to be used for filtering.
 void setFilteringLogic(FilteringLogic logic)
          Sets the filtering logic used by this widget.
 void setPrpertyFQName(java.lang.String fqName)
          Sets the property name used for navigating the corresponding slot.
 void setValues(java.util.List<IClassifierInstance> instances)
          Sets the values used for filtering.
 void validate()
          Validates a configuration settings of this widget.
 
Methods inherited from class rs.sol.soloist.server.guiconfiguration.nonvisualcompoments.GUINonVisualComponent
setCellAlignment, setCellSize, setCellStyle, setCenter, setDirectionAndSize, setLeftRightWidth, setRowColumn, setRowColumn, setSize, setTopBottomHeight, setXY
 
Methods inherited from class rs.sol.soloist.server.guiconfiguration.construction.GUIComponent
addStyleNames, addValueToSlot, clearSlot, clone, createInfo, createInfoAlreadyValidated, destructor, fillElementInfo, getApplication, getCommands, getCommands, getCommonOwner, getContext, getDescription, getDescrString, getDragIcon, getEnabled, getFeature, getFeature, getInputBindings, getInputPin, getInputPins, getLabelString, getLargeIcon, getLayoutData, getName, getNameString, getOutputPin, getOutputPins, getOwner, getParts, getSetting, getSmallIcon, getStyle, getSubnodes, getTooltip, getTooltipString, getTypeString, getVisible, ipAddStyle, ipEnabled, ipInit, ipRemoveStyle, ipShow, ipShowInParent, ipVisible, isInputPin, isOutputPin, putFeatureInfo, readElement, readElements, readSlot, readSlotAsInfo, readSubnodes, removeValueFromSlot, setContext, setDescription, setEnabled, setLayoutData, setName, setSlot, setSlot, setStyle, setTooltip, setVisible, toTranslateDescriptors, translatePinName, updateInfo, validateParts, validateParts
 
Methods inherited from class rs.sol.soloist.server.javaimpl.runtime.SOLoistClassInstance
destroy, equals, getAssociationEndInstance, getAssociationEndInstances, getAttributeValue, getAttributeValues, getMyClass, getMyID, getSlot, getSlot, getSlots, getUMLClass, hashCode, isMarkedAsDeleted, toString
 
Methods inherited from class rs.sol.soloist.server.uml.commonimplementation.runtime._ClassInstance
accept, accept, exists, getAssociationEndInstance, getAssociationEndInstance, getAssociationEndInstance, getClassifier, hasIdentity, isClassInstance, isDataTypeInstance, isEqualTo, makeClone, markAsDeleted
 
Methods inherited from class rs.sol.soloist.server.uml.commonimplementation.runtime._ClassifierInstance
conformsTo, copySlots, copySlots, getAttributeValue, getAttributeValue, getAttributeValue, getClassifierFQName, getClassifierUQName, getFirstCommonGeneralizer, getFirstCommonGeneralizerFQName, getFirstCommonGeneralizerUQName, getMElement, getSlot, getSlot, isDirectInstanceOf, isDirectInstanceOf, isInstanceOf, isInstanceOf, isKindOf, isModelElement, isRTElement
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface rs.sol.soloist.server.uml.concepts.runtime.IClassifierInstance
conformsTo, copySlots, copySlots, getAttributeValue, getAttributeValue, getClassifierFQName, getClassifierUQName, getFirstCommonGeneralizer, getFirstCommonGeneralizerFQName, getFirstCommonGeneralizerUQName, getSlot, getSlot, isDirectInstanceOf, isDirectInstanceOf, isInstanceOf, isInstanceOf
 
Methods inherited from interface rs.sol.soloist.server.uml.concepts.runtime.IRTElement
getMElement
 
Methods inherited from interface rs.sol.soloist.server.uml.concepts.IElement
isKindOf, isModelElement, isRTElement
 

Field Detail

input

@Deprecated
public final IAttributeValue<Text> input
Deprecated. Not for public use.

output

@Deprecated
public final IAttributeValue<Text> output
Deprecated. Not for public use.

refresh

@Deprecated
public final IAttributeValue<Text> refresh
Deprecated. Not for public use.

propertyFQName

@Deprecated
public final IAttributeValue<Text> propertyFQName
Deprecated. Not for public use.

filterByProperties

@Deprecated
public final IAttributeValue<Text> filterByProperties
Deprecated. Not for public use.

filteringLogic

@Deprecated
public final IAttributeValue<FilteringLogic> filteringLogic
Deprecated. Not for public use.

FQ_TYPE_NAME

public static final java.lang.String FQ_TYPE_NAME
Fully qualified UML class name

See Also:
Constant Field Values

CLASSIFIER

public static final IClass CLASSIFIER
UML class reference


values

@Deprecated
public final IAssociationEndInstance<rs.sol.soloist.server.builtindomains.common.ClassifierInstanceDescriptor> values
Deprecated. Not for public use.
Constructor Detail

GUICollectionFilter

public GUICollectionFilter()
Method Detail

constructor

public void constructor()
Description copied from interface: IClassifierInstance
The domain-specific constructor of the Classifier.

Specified by:
constructor in interface IClassifierInstance
Overrides:
constructor in class GUINonVisualComponent

create

public static GUICollectionFilter create(GUIContainerComponent parent)
Returns new GUICollectionFilter and assigns it to its parent widget.

Parameters:
parent - the parent GUIContainerComponent widget
Returns:
new GUICollectionFilter

create

public static GUICollectionFilter create(GUIContainerComponent parent,
                                         java.lang.String[] filterByProperties)
Returns new GUICollectionFilter, configures it with the given properties, and assigns it to its parent widget.

Parameters:
parent - the parent GUIContainerComponent widget
filterByProperties - the properties to be used for filtering
Returns:
new GUICollectionFilter

ipInput

public ISlot<?> ipInput()
Returns the input input pin; when event occurs, this widget will filter the collection of elements and provide the result on the output output pin (opOutput() method).

Returns:
the input input pin
See Also:
GUIComponentBinding

ipRefresh

public ISlot<?> ipRefresh()
Returns the refresh input pin; when event occurs, this widget will re-filter the collection of elements and provide the result on the output output pin (opOutput() method).

The content of the binding message accepted on this pin is of no importance. Only event is what matters.

Returns:
the refresh input pin
See Also:
GUIComponentBinding

opOutput

public ISlot<?> opOutput()
Returns the output output pin; when event occurs on either input input pin (ipInput() method) or refresh input pin (ipRefresh() method) this widget will filter the collection of elements and provide the result on this pin.

Returns:
the output output pin
See Also:
GUIComponentBinding

getFilterByProperties

public java.lang.String[] getFilterByProperties()
Returns the property names used for filtering.

Returns:
the property names used for filtering
See Also:
setFilterByProperties(String...)

setFilterByProperties

public void setFilterByProperties(java.lang.String... values)
Sets the property names to be used for filtering.

Parameters:
values - the property names to be used for filtering

getPropertyFQName

public java.lang.String getPropertyFQName()
Returns the property name used for navigating the corresponding slot.

Returns:
the property name used for navigating the corresponding slot
See Also:
setPrpertyFQName(String)

setPrpertyFQName

public void setPrpertyFQName(java.lang.String fqName)
Sets the property name used for navigating the corresponding slot.

Parameters:
fqName - property name used for navigating the corresponding slot

getFilteringLogic

public FilteringLogic getFilteringLogic()
Returns the filtering logic used by this widget.

Returns:
the filtering logic used by this widget
See Also:
setFilteringLogic(FilteringLogic)

setFilteringLogic

public void setFilteringLogic(FilteringLogic logic)
Sets the filtering logic used by this widget.

Parameters:
logic - the filtering logic used by this widget

getValues

public java.util.List<IClassifierInstance> getValues()
Returns the values used for filtering.

Returns:
the values used for filtering

setValues

public void setValues(java.util.List<IClassifierInstance> instances)
Sets the values used for filtering.

Parameters:
instances - the values used for filtering

addValue

public void addValue(IClassifierInstance instance)
Adds the value used for filtering.

Parameters:
instance - the value to be added

removeValue

public void removeValue(IClassifierInstance instance)
Removes the value used for filtering.

Parameters:
instance - the value to be removed

clearValues

public void clearValues()
Clears all values used for filtering.


validate

public void validate()
Description copied from class: GUIComponent
Validates a configuration settings of this widget.

Overrides:
validate in class GUIComponent

handle

public java.lang.Object handle(rs.sol.soloist.client.common.requests.Request request)
Description copied from class: GUIComponent
Handles single request from the client (browser) and returns an appropriate response. It is meant to be overriden in sub-classes.

Overrides:
handle in class GUIComponent
Parameters:
request - a Request from client deserialized and ready to be handeled
Returns:
an Object representing the server's response to a request