Class: OpenWFE::ExpExpression

Inherits:
RawExpression show all
Defined in:
lib/openwfe/expressions/fe_misc.rb

Overview

Some kind of limited ‘eval’ expression.

Here is an usage example :

class ExampleDef < OpenWFE::ProcessDefinition

    sequence do

        exp :name => "p0"
        exp :name => "sub0"

        exp :name => "sequence" do
            p0
            sub0
        end

        set :var => "a", :value => { "ref" => "p0" }
        exp :name => "participant", :variable_attributes => "a"
    end

    process_definition :name => "sub0" do
        _print "sub0"
    end
end

This example is a bit static, but the point is that the ‘exp’ is extracting the real expression name (or participant or subprocess name) from its ‘name’ attribute.

The ‘eval’ expression is about evaluating a complete process definition branch, ‘exp’ is only about one node in the process definition.

Instance Attribute Summary

Attributes inherited from FlowExpression

#apply_time, #attributes, #children, #environment_id, #fei, #parent_id, #raw_representation

Attributes included from Contextual

#application_context

Instance Method Summary collapse

Methods inherited from RawExpression

#check_parameters, #definition_name, #expression_class, #instantiate_real_expression, #is_definition?, #load_attributes, new_raw

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

– def initialize (fei, parent_id, env_id, app_context, att)

#
# this responds to the FlowExpression constructor...
super fei, parent_id, env_id, app_context, nil
    #
    # but this triggers the RawExpression constructor :)
@attributes = att
    #
    # as this is not done by the RawExpression constructor

end ++



279
280
281
282
283
284
# File 'lib/openwfe/expressions/fe_misc.rb', line 279

def apply (workitem)

    @applied_workitem = workitem

    super
end