Class: OpenWFE::FilterDefinitionExpression
- Inherits:
-
FlowExpression
- Object
- ObjectWithMeta
- FlowExpression
- OpenWFE::FilterDefinitionExpression
- Defined in:
- lib/openwfe/expressions/fe_filter_definition.rb
Overview
This expression binds a filter definition into a variable.
class TestFilter48a0 < ProcessDefinition
sequence do
set :field => "readable", :value => "bible"
set :field => "writable", :value => "sand"
set :field => "randw", :value => "notebook"
set :field => "hidden", :value => "playboy"
alice
filter :name => "filter0" do
sequence do
bob
charly
end
end
doug
end
filter_definition :name => "filter0" do
field :regex => "readable", :permissions => "r"
field :regex => "writable", :permissions => "w"
field :regex => "randw", :permissions => "rw"
field :regex => "hidden", :permissions => ""
end
end
In that example, the filter definition is done for filter ‘filter0’.
A filter definition accepts 4 attributes :
-
‘name’ - simply naming the filter, the filter is then bound as a variable. This is the only mandatory attribute.
-
‘closed’ - by default, set to ‘false’. A closed filter will not allow modifications to unspecified fields.
-
‘add’ - by default, set to ‘true’. When true, this filter accepts adding new fields to the filtered workitem.
-
‘remove’ - by default, set to ‘true’. When true, this filter accepts removing fields to the filtered workitem.
Inside of the process definition, fields are identified via regular expressions (‘regex’), a ‘permissions’ string is then expected with four possible values “rw”, “w”, “r” and “”.
Instance Attribute Summary
Attributes inherited from FlowExpression
#apply_time, #attributes, #children, #environment_id, #fei, #parent_id, #raw_representation
Attributes included from Contextual
Instance Method Summary collapse
-
#apply(workitem) ⇒ Object
Will build the filter and bind it as a variable.
Methods inherited from FlowExpression
#cancel, #clean_children, #delete_variable, #dup_environment, #fetch_environment, #fetch_text_content, #get_binding, #get_environment, #get_parent, #get_root_environment, #has_attribute, #initialize, is_definition, is_definition?, #lookup_attribute, #lookup_attributes, #lookup_boolean_attribute, #lookup_comma_list_attribute, #lookup_downcase_attribute, #lookup_ref, #lookup_string_attribute, #lookup_sym_attribute, #lookup_value, #lookup_variable, #lookup_vf_attribute, names, #new_environment, new_exp, #owns_its_environment?, #paused?, #remove_child, #reply, #reply_to_parent, #set_variable, #store_itself, #synchronize, #to_s, #to_yaml_properties
Methods included from Contextual
#get_work_directory, #init_service, #lookup
Methods included from Logging
#ldebug, #ldebug_callstack, #lerror, #lfatal, #linfo, #llog, #lunknown, #lwarn
Methods included from OwfeServiceLocator
#get_engine, #get_error_journal, #get_expool, #get_expression_map, #get_expression_pool, #get_expression_storage, #get_expression_storages, #get_journal, #get_participant_map, #get_scheduler, #get_wfid_generator
Methods inherited from ObjectWithMeta
#class_def, meta_def, meta_eval, metaclass
Constructor Details
This class inherits a constructor from OpenWFE::FlowExpression
Instance Method Details
#apply(workitem) ⇒ Object
Will build the filter and bind it as a variable.
103 104 105 106 107 108 109 110 111 112 |
# File 'lib/openwfe/expressions/fe_filter_definition.rb', line 103 def apply (workitem) filter = build_filter workitem filter_name = lookup_attribute :name, workitem set_variable filter_name, filter \ if filter_name and filter reply_to_parent workitem end |