Class MActivity

    • Field Detail

      • MI_NOTFOUND

        protected static final MethodInfo MI_NOTFOUND
      • RETURNPARAM

        public static final java.lang.String RETURNPARAM
        Constant for the return parameter name.
        See Also:
        Constant Field Values
      • ISSERVICE

        public static final java.lang.String ISSERVICE
        Is service constant.
        See Also:
        Constant Field Values
      • ISSEQUENTIAL

        public static final java.lang.String ISSEQUENTIAL
        Constant for the sequential result execution mode .
        See Also:
        Constant Field Values
      • RESULTNAME

        public static final java.lang.String RESULTNAME
        Constant for the result param name.
        See Also:
        Constant Field Values
      • RESULTTYPE

        public static final java.lang.String RESULTTYPE
        Constant for the result param type (needed for distinguishing collection results from single values).
        See Also:
        Constant Field Values
      • lanedescription

        protected java.lang.String lanedescription
        The lane description.
      • outgoingsequenceedgesdescription

        protected java.lang.String outgoingsequenceedgesdescription
        The outgoing sequence edges description.
      • incomingsequenceedgesdescription

        protected java.lang.String incomingsequenceedgesdescription
        The incoming sequence edges description.
      • incomingmessagesdescriptions

        protected java.util.List<java.lang.Object> incomingmessagesdescriptions
        The incoming messages description.
      • outgoingmessagesdescriptions

        protected java.util.List<java.lang.Object> outgoingmessagesdescriptions
        The outgoing messages description.
      • outseqedges

        protected java.util.List<MSequenceEdge> outseqedges
        The outgoing sequence edges.
      • inseqedges

        protected java.util.List<MSequenceEdge> inseqedges
        The incoming sequence edges.
      • outmsgedges

        protected java.util.List<MMessagingEdge> outmsgedges
        The outgoing message edges.
      • inmsgedges

        protected java.util.List<MMessagingEdge> inmsgedges
        The incoming message edges.
      • outdataedges

        protected java.util.List<MDataEdge> outdataedges
        The outgoing data edges.
      • indataedges

        protected java.util.List<MDataEdge> indataedges
        The incoming data edges.
      • type

        protected java.lang.String type
        The type.
      • activitytype

        protected java.lang.String activitytype
        The activity type.
      • looping

        protected boolean looping
        The looping flag.
      • throwing

        protected boolean throwing
        The throwing flag.
      • eventhandlers

        protected java.util.List<MActivity> eventhandlers
        The event handlers.
      • pool

        protected MPool pool
        The pool.
      • lane

        protected MLane lane
        The lane (if any).
      • eventhandler

        protected boolean eventhandler
        The flag if this activity is an event handler.
      • parameters

        protected IndexMap<java.lang.String,​MParameter> parameters
        The parameters (name -> MParameter).
      • properties

        protected IndexMap<java.lang.String,​MProperty> properties
        The properties (name -> MProperty).
      • clazz

        protected ClassInfo clazz
        The class.
      • bodymethod

        protected volatile MethodInfo bodymethod
        The body method cached for speed.
      • cancelmethod

        protected volatile MethodInfo cancelmethod
        The body method cached for speed.
      • componentinjections

        protected volatile java.util.List<FieldInfo> componentinjections
        The component injection targets.
      • argumentinjections

        protected volatile java.util.Map<java.lang.String,​java.util.List<FieldInfo>> argumentinjections
        The argument injection targets.
      • resultinjections

        protected volatile java.util.Map<java.lang.String,​FieldInfo> resultinjections
        The result injection targets.
    • Constructor Detail

      • MActivity

        public MActivity()
    • Method Detail

      • getLaneDescription

        public java.lang.String getLaneDescription()
        Get the xml lane description.
        Returns:
        The lane description.
      • setLaneDescription

        public void setLaneDescription​(java.lang.String lanedescription)
        Set the xml lane description.
        Parameters:
        lanedescription - The lane description to set.
      • getOutgoingSequenceEdgesDescription

        public java.lang.String getOutgoingSequenceEdgesDescription()
        Get the xml outgoing sequence edges desription.
        Returns:
        The outgoing sequence edges description.
      • setOutgoingSequenceEdgesDescription

        public void setOutgoingSequenceEdgesDescription​(java.lang.String outgoingedges)
        Set the xml outgoing edges desription.
        Parameters:
        outgoingedges - The outgoing edges to set.
      • getIncomingSequenceEdgesDescription

        public java.lang.String getIncomingSequenceEdgesDescription()
        Get the xml incoming edges description.
        Returns:
        The incoming edges description.
      • setIncomingSequenceEdgesDescription

        public void setIncomingSequenceEdgesDescription​(java.lang.String incomingedges)
        Set the xml incoming edges description.
        Parameters:
        incomingedges - The incoming edges to set.
      • getOutgoingMessagesDescriptions

        public java.util.List<java.lang.Object> getOutgoingMessagesDescriptions()
        Get the xml outgoing messages descriptions.
        Returns:
        The outgoing messages descriptions.
      • addOutgoingMessageDescription

        public void addOutgoingMessageDescription​(java.lang.Object desc)
        Add an outgoing message description.
        Parameters:
        desc - The description.
      • removeOutgoingMessageDescription

        public void removeOutgoingMessageDescription​(java.lang.Object desc)
        Remove an outgoing message description.
        Parameters:
        desc - The description.
      • getIncomingMessagesDescriptions

        public java.util.List<java.lang.Object> getIncomingMessagesDescriptions()
        Get the incoming messages description.
        Returns:
        The incoming messages descriptions.
      • addIncomingMessageDescription

        public void addIncomingMessageDescription​(java.lang.Object desc)
        Add an incoming message description.
        Parameters:
        desc - The description.
      • removeIncomingMessageDescription

        public void removeIncomingMessageDescription​(java.lang.Object desc)
        Remove an incoming message description.
        Parameters:
        desc - The description.
      • getOutgoingSequenceEdges

        public java.util.List<MSequenceEdge> getOutgoingSequenceEdges()
        Get the outgoing sequence edges.
        Returns:
        The outgoing edges.
      • setOutgoingSequenceEdges

        public void setOutgoingSequenceEdges​(java.util.List<MSequenceEdge> outseqedges)
        Set the outgoing sequence edges.
        Parameters:
        outseqedges - The outgoing sequence edges.
      • addOutgoingSequenceEdge

        public void addOutgoingSequenceEdge​(MSequenceEdge edge)
        Add an outgoing edge.
        Parameters:
        edge - The edge.
      • removeOutgoingSequenceEdge

        public void removeOutgoingSequenceEdge​(MSequenceEdge edge)
        Remove an outgoing edge.
        Parameters:
        edge - The edge.
      • getIncomingSequenceEdges

        public java.util.List<MSequenceEdge> getIncomingSequenceEdges()
        Get the incoming edges.
        Returns:
        The incoming edges.
      • getIncomingSequenceEdges

        public void getIncomingSequenceEdges​(java.util.List<MSequenceEdge> inseqedges)
        Set the incoming edges.
        Parameters:
        inseqedges - The incoming edges.
      • addIncomingSequenceEdge

        public void addIncomingSequenceEdge​(MSequenceEdge edge)
        Add an incoming edge.
        Parameters:
        edge - The edge.
      • removeIncomingSequenceEdge

        public void removeIncomingSequenceEdge​(MSequenceEdge edge)
        Remove an incoming edge.
        Parameters:
        edge - The edge.
      • getOutgoingMessagingEdges

        public java.util.List<MMessagingEdge> getOutgoingMessagingEdges()
        Get the outgoing message edges.
        Returns:
        The outgoing message edges.
      • getOutgoingMessagingEdges

        public void getOutgoingMessagingEdges​(java.util.List<MMessagingEdge> outmsgedges)
        Set the outgoing message edges.
        Parameters:
        outmsgedges - The outgoing message edges.
      • addOutgoingMessagingEdge

        public void addOutgoingMessagingEdge​(MMessagingEdge edge)
        Add an outgoing message edge.
        Parameters:
        edge - The edge.
      • removeOutgoingMessagingEdge

        public void removeOutgoingMessagingEdge​(MMessagingEdge edge)
        Remove an outgoing message edge.
        Parameters:
        edge - The edge.
      • getIncomingMessagingEdges

        public java.util.List<MMessagingEdge> getIncomingMessagingEdges()
        Get the incoming message edges.
        Returns:
        the incoming message edges.
      • setIncomingMessagingEdges

        public void setIncomingMessagingEdges​(java.util.List<MMessagingEdge> inmsgedges)
        Set the incoming message edges.
        Parameters:
        inmsgedges - The incoming message edges.
      • addIncomingMessagingEdge

        public void addIncomingMessagingEdge​(MMessagingEdge edge)
        Add an incoming message edge.
        Parameters:
        edge - The edge.
      • removeIncomingMessagingEdge

        public void removeIncomingMessagingEdge​(MMessagingEdge edge)
        Remove an incoming message edge.
        Parameters:
        edge - The edge.
      • addOutgoingDataEdge

        public void addOutgoingDataEdge​(MDataEdge edge)
        Add an outgoing edge.
        Parameters:
        edge - The edge.
      • removeOutgoingDataEdge

        public void removeOutgoingDataEdge​(MDataEdge edge)
        Remove an outgoing edge.
        Parameters:
        edge - The edge.
      • addIncomingDataEdge

        public void addIncomingDataEdge​(MDataEdge edge)
        Add an incoming edge.
        Parameters:
        edge - The edge.
      • removeIncomingDataEdge

        public void removeIncomingDataEdge​(MDataEdge edge)
        Remove an outgoing edge.
        Parameters:
        edge - The edge.
      • getIncomingDataEdges

        public java.util.List<MDataEdge> getIncomingDataEdges()
        Get the incoming data edges.
        Returns:
        the incoming data edges.
      • setIncomingDataEdges

        public void setIncomingDataEdges​(java.util.List<MDataEdge> indataedges)
        Set the incoming data edges.
        Parameters:
        indataedges - The incoming data edges.
      • getOutgoingDataEdges

        public java.util.List<MDataEdge> getOutgoingDataEdges()
        Get the outgoing data edges.
        Returns:
        the outgoing data edges.
      • setOutgoingDataEdges

        public void setOutgoingDataEdges​(java.util.List<MDataEdge> outdataedges)
        Set the outgoing data edges.
        Parameters:
        outdataedges - The outgoing data edges.
      • getType

        public java.lang.String getType()
        Get the type.
        Returns:
        The type.
      • setType

        public void setType​(java.lang.String type)
        Set the type.
        Parameters:
        type - The type to set.
      • getActivityType

        public java.lang.String getActivityType()
        Get the activity type.
        Returns:
        The activity type.
      • setActivityType

        public void setActivityType​(java.lang.String activitytype)
        Set the activity type.
        Parameters:
        activitytype - The activity type to set.
      • isLooping

        public boolean isLooping()
        Test if the activity is looping.
        Returns:
        True, if looping.
      • setLooping

        public void setLooping​(boolean looping)
        Set the looping state.
        Parameters:
        looping - The looping state to set.
      • isThrowing

        public boolean isThrowing()
        Test if the activity is throwing.
        Returns:
        True, if throwing.
      • setThrowing

        public void setThrowing​(boolean throwing)
        Set the throwing state.
        Parameters:
        throwing - The throwing state to set.
      • getEventHandlers

        public java.util.List<MActivity> getEventHandlers()
        Get the event handlers.
        Returns:
        The event handlers.
      • addEventHandler

        public void addEventHandler​(MActivity eventhandler)
        Add an event handler.
        Parameters:
        eventhandler - The event handler.
      • removeEventHandler

        public void removeEventHandler​(MActivity eventhandler)
        Remove an event handler.
        Parameters:
        eventhandler - The event handler.
      • getParameters

        public IndexMap<java.lang.String,​MParameter> getParameters()
        Get the parameters.
        Returns:
        The parameters.
      • getParameter

        public MParameter getParameter​(java.lang.String name)
        Get a parameter by name.
      • getAllParameters

        public IndexMap<java.lang.String,​MParameter> getAllParameters​(java.util.Map<java.lang.String,​java.lang.Object> params,
                                                                            java.lang.String[] imports,
                                                                            java.lang.ClassLoader cl)
        Get the parameters.
        Returns:
        The parameters.
      • getParameters

        public java.util.List<MParameter> getParameters​(java.lang.String[] dirs)
        Get parameters of specific direction(s).
        Returns:
        The in parameters.
      • setParameters

        public void setParameters​(IndexMap<java.lang.String,​MParameter> parameters)
        Sets the parameters.
        Parameters:
        parameters - The parameters.
      • hasParameter

        public boolean hasParameter​(java.lang.String name)
        Test if a prop exists.
      • addParameter

        public void addParameter​(MParameter param)
        Add a parameter.
        Parameters:
        param - The parameter.
      • removeParameter

        public void removeParameter​(MParameter param)
        Remove a parameter.
        Parameters:
        param - The parameter.
      • removeParameter

        public void removeParameter​(java.lang.String name)
        Remove a parameter.
        Parameters:
        param - The parameter.
      • removeParameters

        public void removeParameters()
        Remove a parameter.
        Parameters:
        param - The parameter.
      • setPropertyValue

        public void setPropertyValue​(java.lang.String name,
                                     UnparsedExpression exp)
        Legacy conversion from unparsed expression.
        Parameters:
        name - Name
        exp -
      • setPropertyValue

        public void setPropertyValue​(java.lang.String name,
                                     IParsedExpression exp)
        Legacy conversion to unparsed expression.
        Parameters:
        name - Name
        exp -
      • getPropertyValueString

        public java.lang.String getPropertyValueString​(java.lang.String name)
        Get a property value string from the model.
        Parameters:
        name - The name.
      • getPropertyValue

        public UnparsedExpression getPropertyValue​(java.lang.String name)
        Get a property value from the model.
        Parameters:
        name - The name.
      • getParsedPropertyValue

        public java.lang.Object getParsedPropertyValue​(java.lang.String name)
        Get a property value from the model.
        Parameters:
        name - The name.
      • getPropertyNames

        public java.lang.String[] getPropertyNames()
        Returns the property names.
        Returns:
        The property names.
      • hasPropertyValue

        public boolean hasPropertyValue​(java.lang.String name)
        Test, if a property is declared and has nonull unparsed expression.
        Parameters:
        name - The property name.
        Returns:
        True, if the property is declared.
      • hasInitialPropertyValue

        public boolean hasInitialPropertyValue​(java.lang.String name)
        Test, if a property is declared and has nonull unparsed expression.
        Parameters:
        name - The property name.
        Returns:
        True, if the property is declared.
      • getProperties

        public IndexMap<java.lang.String,​MProperty> getProperties()
        Get the properties.
        Returns:
        The properties.
      • setProperties

        public void setProperties​(IndexMap<java.lang.String,​MProperty> properties)
        Set the properties.
        Parameters:
        properties -
      • hasProperty

        public boolean hasProperty​(java.lang.String name)
        Test if a property exists.
      • addProperty

        public void addProperty​(MProperty prop)
        Add a property.
        Parameters:
        prop - The property.
      • addProperty

        public void addProperty​(java.lang.String name,
                                java.lang.String value)
        Add a simple string-based property.
        Parameters:
        name - Property name.
        value - The string value.
      • addProperty

        public void addProperty​(java.lang.String name,
                                java.lang.String value,
                                boolean string)
        Add a simple string-based property.
        Parameters:
        name - Property name.
        value - The string value.
      • removeProperty

        public void removeProperty​(java.lang.String propname)
        Remove a property.
        Parameters:
        propname - Name of the property.
      • removeProperty

        public void removeProperty​(MProperty prop)
        Remove a property.
        Parameters:
        prop - The property.
      • setProperty

        public void setProperty​(java.lang.String name,
                                java.lang.String value,
                                boolean string)
        Set a property value: a) val==null -> remove property b) val!=null && !hasProp(name) -> addProp(name, val) c) val!=null && hasProp(name) -> setInitialVal(val)
      • setParameter

        public void setParameter​(java.lang.String name,
                                 java.lang.String value,
                                 java.lang.Class<?> type,
                                 boolean string,
                                 java.lang.String direction)
        Set a parameter value: a) val==null -> remove property b) val!=null && !hasProp(name) -> addProp(name, val) c) val!=null && hasProp(name) -> setInitialVal(val)
      • toString

        public java.lang.String toString()
        Create a string representation of this activity.
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string representation of this activity.
      • getPool

        public MPool getPool()
        Get the pool of the activity.
        Returns:
        The pool of the activity.
      • setPool

        public void setPool​(MPool pool)
        Set the pool of the activity.
        Parameters:
        pool - The pool of the activity.
      • getLane

        public MLane getLane()
        Get the lane of the activity.
        Returns:
        The lane of the activity.
      • setLane

        public void setLane​(MLane lane)
        Set the lane of the activity.
        Parameters:
        lane - The lane of the activity.
      • isEventHandler

        public boolean isEventHandler()
        Get the eventhandler.
        Returns:
        The eventhandler.
      • setEventHandler

        public void setEventHandler​(boolean eventhandler)
        Set the eventhandler.
        Parameters:
        eventhandler - The eventhandler to set.
      • getClazz

        public ClassInfo getClazz()
        Get the class.
        Returns:
        The class.
      • setClazz

        public void setClazz​(ClassInfo clazz)
        Set the class.
        Parameters:
        clazz - The class to set.
      • isEvent

        public boolean isEvent()
        Test if activity is event.
        Returns:
        True, if is event.
      • isStartEvent

        public boolean isStartEvent()
        Test if activity is a start event.
        Returns:
        True, if is event.
      • isEndEvent

        public boolean isEndEvent()
        Test if activity is a end event.
        Returns:
        True, if is event.
      • isIntermediateEvent

        public boolean isIntermediateEvent()
        Test if activity is an intermediate event.
        Returns:
        True, if is event.
      • isMessageEvent

        public boolean isMessageEvent()
        Test if activity is event.
        Returns:
        True, if is event.
      • isSignalEvent

        public boolean isSignalEvent()
        Test if activity is event.
        Returns:
        True, if is event.
      • isGateway

        public boolean isGateway()
        Test if activity is gateway.
        Returns:
        True, if is gateway.
      • getBodyMethod

        public MethodInfo getBodyMethod​(java.lang.ClassLoader cl)
        Get and save the body method info.
      • getCancelMethod

        public MethodInfo getCancelMethod​(java.lang.ClassLoader cl)
        Get and save the cancel method info.
      • getComponentInjections

        public java.util.List<FieldInfo> getComponentInjections​(java.lang.ClassLoader cl)
        Get and save the body method info.
      • getArgumentInjections

        public java.util.Map<java.lang.String,​java.util.List<FieldInfo>> getArgumentInjections​(java.lang.ClassLoader cl)
        Get and save the body method info.
      • getResultInjections

        public java.util.Map<java.lang.String,​FieldInfo> getResultInjections​(java.lang.ClassLoader cl)
        Get and save the body method info.
      • getMethod

        public static MethodInfo getMethod​(java.lang.Class<?> body,
                                           java.lang.Class<? extends java.lang.annotation.Annotation> type)
        Get method with an annotation.
      • getFields

        public static java.util.List<FieldInfo> getFields​(java.lang.Class<?> body,
                                                          java.lang.Class<? extends java.lang.annotation.Annotation> type)
        Get method with an annotation.