Class JsonFlowMetaDataProvider

  • All Implemented Interfaces:
    org.ikasan.spec.metadata.FlowMetaDataProvider<java.lang.String>

    public class JsonFlowMetaDataProvider
    extends java.lang.Object
    implements org.ikasan.spec.metadata.FlowMetaDataProvider<java.lang.String>
    Implementation of FlowMetaDataProvider that provides a JSON representation of a flow.
    Author:
    Ikasan Development Team
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.ikasan.spec.metadata.FlowElementMetaData createFlowElementMetaData​(org.ikasan.spec.flow.FlowElement flowElement, java.lang.String componentType, java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers)
      Create flow element meta data.
      java.lang.String describeFlow​(org.ikasan.spec.flow.Flow flow, org.ikasan.spec.module.StartupControl startupControl)  
      protected org.ikasan.spec.metadata.FlowElementMetaData describeFlowElement​(org.ikasan.spec.metadata.FlowMetaData flowMetaData, org.ikasan.spec.flow.FlowElement flowElement, java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers)
      Recursive method to work it's way through a flow and it's components and the associated routes.
      org.ikasan.spec.metadata.FlowMetaData deserialiseFlow​(java.lang.String metaData)  
      protected java.util.List<org.ikasan.spec.trigger.Trigger> getAfterWiretaps​(java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers, java.lang.String componentName)  
      protected java.util.List<org.ikasan.spec.trigger.Trigger> getBeforeWiretaps​(java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers, java.lang.String componentName)  
      protected boolean hasAfterWiretap​(java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers, java.lang.String componentName)  
      protected boolean hasBeforeWiretap​(java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers, java.lang.String componentName)  
      protected org.ikasan.spec.metadata.FlowElementMetaData manageMultiTransitionComponent​(org.ikasan.spec.metadata.FlowMetaData flowMetaData, org.ikasan.spec.flow.FlowElement flowElement, java.lang.String componentType, java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers)
      Deal with a component flow element whose component is multi transition.
      protected org.ikasan.spec.metadata.FlowElementMetaData manageSingleTransitionComponent​(org.ikasan.spec.metadata.FlowMetaData flowMetaData, org.ikasan.spec.flow.FlowElement flowElement, java.lang.String componentType, java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers)
      Deal with a component flow element whose component is single transition.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JsonFlowMetaDataProvider

        public JsonFlowMetaDataProvider()
        Constructor
    • Method Detail

      • describeFlow

        public java.lang.String describeFlow​(org.ikasan.spec.flow.Flow flow,
                                             org.ikasan.spec.module.StartupControl startupControl)
        Specified by:
        describeFlow in interface org.ikasan.spec.metadata.FlowMetaDataProvider<java.lang.String>
      • deserialiseFlow

        public org.ikasan.spec.metadata.FlowMetaData deserialiseFlow​(java.lang.String metaData)
        Specified by:
        deserialiseFlow in interface org.ikasan.spec.metadata.FlowMetaDataProvider<java.lang.String>
      • describeFlowElement

        protected org.ikasan.spec.metadata.FlowElementMetaData describeFlowElement​(org.ikasan.spec.metadata.FlowMetaData flowMetaData,
                                                                                   org.ikasan.spec.flow.FlowElement flowElement,
                                                                                   java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers)
                                                                            throws java.lang.Exception
        Recursive method to work it's way through a flow and it's components and the associated routes.
        Parameters:
        flowElement -
        Returns:
        Throws:
        java.lang.Exception
      • manageSingleTransitionComponent

        protected org.ikasan.spec.metadata.FlowElementMetaData manageSingleTransitionComponent​(org.ikasan.spec.metadata.FlowMetaData flowMetaData,
                                                                                               org.ikasan.spec.flow.FlowElement flowElement,
                                                                                               java.lang.String componentType,
                                                                                               java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers)
                                                                                        throws java.lang.Exception
        Deal with a component flow element whose component is single transition.
        Parameters:
        flowMetaData - the flow meta data.
        flowElement - the flow element.
        componentType - the component type we are referencing.
        Returns:
        the flow element meta data.
        Throws:
        java.lang.Exception
      • manageMultiTransitionComponent

        protected org.ikasan.spec.metadata.FlowElementMetaData manageMultiTransitionComponent​(org.ikasan.spec.metadata.FlowMetaData flowMetaData,
                                                                                              org.ikasan.spec.flow.FlowElement flowElement,
                                                                                              java.lang.String componentType,
                                                                                              java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers)
                                                                                       throws java.lang.Exception
        Deal with a component flow element whose component is multi transition.
        Parameters:
        flowMetaData - the flow meta data.
        flowElement - the flow element.
        componentType - the component type we are referencing.
        Returns:
        the flow element meta data.
        Throws:
        java.lang.Exception
      • createFlowElementMetaData

        protected org.ikasan.spec.metadata.FlowElementMetaData createFlowElementMetaData​(org.ikasan.spec.flow.FlowElement flowElement,
                                                                                         java.lang.String componentType,
                                                                                         java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers)
        Create flow element meta data.
        Parameters:
        flowElement - the flow element
        componentType - the component type associated with the flow element.
        Returns:
      • hasBeforeWiretap

        protected boolean hasBeforeWiretap​(java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers,
                                           java.lang.String componentName)
      • getBeforeWiretaps

        protected java.util.List<org.ikasan.spec.trigger.Trigger> getBeforeWiretaps​(java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers,
                                                                                    java.lang.String componentName)
      • hasAfterWiretap

        protected boolean hasAfterWiretap​(java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers,
                                          java.lang.String componentName)
      • getAfterWiretaps

        protected java.util.List<org.ikasan.spec.trigger.Trigger> getAfterWiretaps​(java.util.Map<java.lang.String,​java.util.List<org.ikasan.spec.trigger.Trigger>> triggers,
                                                                                   java.lang.String componentName)