Class TraceProcessorManager


  • public class TraceProcessorManager
    extends java.lang.Object
    Trace process manager. Controls adapters, sources and trace handlers.

    Two main use scenarios:

    1. PULL. For example, reading from already prepared XML-file using WSTX library which represents pull-interface:

    TraceProcessorManager tpm = new TraceProcessorManager();
     tpm.addProvider(pull_provider);// 1..* of providers
     tpm.addListener(...);          // 1..* of listeners
     tpm.process();
     

    2. PUSH. For example, converting data from a push-source:

    TraceProcessorManager tpm = new TraceProcessorManager();
     tpm.addProvider(push_provider);// 1..* provider
     tpm.addListener(...);          // 1..* listeners
     push_provider.attachToManager(tpm);
     <Processing messages from a push force;
     
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Map<java.lang.String,​AspectAdapter> activeAdapters
      aspect name +> adapter.
      protected java.util.Map<java.lang.String,​java.lang.String> adapterClazz
      aspect name +> adapter class name.
      protected java.util.List<TraceProvider> providers  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addListener​(java.lang.String aspect, AspectListener listener)
      Adds a listener.
      void addProvider​(TraceProvider provider)
      Adds a trace source.
      void addTrace​(java.io.File trace)
      Adds a trace source from a XML-file.
      protected void attachAdapters​(TraceProvider provider)
      Attaches adapters and handlers to a provider.
      AspectAdapter getAdapter​(java.lang.String aspect)
      Gets an aspect adapter.
      void process()
      Begins handling in case if of working with active trace providers which work in the model PULL.
      void removeListener​(java.lang.String aspect, AspectListener listener)
      Removes a listener.
      static void setAdapterClass​(java.lang.String aspect, java.lang.String clazzName)
      Sets an adapter class for future trace managers.
      void setLocalAdapterClass​(java.lang.String aspect, java.lang.String clazzName)
      Sets an aspect adapter class for this trace manager.
      • Methods inherited from class java.lang.Object

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

      • adapterClazz

        protected java.util.Map<java.lang.String,​java.lang.String> adapterClazz
        aspect name +> adapter class name.
      • activeAdapters

        protected java.util.Map<java.lang.String,​AspectAdapter> activeAdapters
        aspect name +> adapter.
    • Constructor Detail

      • TraceProcessorManager

        public TraceProcessorManager()
    • Method Detail

      • addProvider

        public void addProvider​(TraceProvider provider)
        Adds a trace source.
      • addTrace

        public void addTrace​(java.io.File trace)
        Adds a trace source from a XML-file.
      • setAdapterClass

        public static void setAdapterClass​(java.lang.String aspect,
                                           java.lang.String clazzName)
        Sets an adapter class for future trace managers.
        Parameters:
        aspect - Aspect name.
        clazzName - Adapter class name.
      • setLocalAdapterClass

        public void setLocalAdapterClass​(java.lang.String aspect,
                                         java.lang.String clazzName)
        Sets an aspect adapter class for this trace manager.
        Parameters:
        aspect - Aspect name.
        clazzName - Class adapter name.
      • getAdapter

        public final AspectAdapter getAdapter​(java.lang.String aspect)
                                       throws java.lang.Exception
        Gets an aspect adapter. Adapter is created and is connected to handling.
        Throws:
        java.lang.IllegalArgumentException - Unknown aspect or illegal adapter class.
        java.lang.ClassCastException - Illegal adapter class.
        java.lang.IllegalStateException - Can't change the configuration.
        java.lang.Exception - Create adapter instance error (see exceptions generated by Java Reflection API)
      • removeListener

        public final void removeListener​(java.lang.String aspect,
                                         AspectListener listener)
                                  throws java.lang.IllegalStateException
        Removes a listener.
        Throws:
        java.lang.IllegalStateException - Can't change the configuration.
      • process

        public void process()
                     throws java.io.IOException,
                            java.lang.IllegalStateException,
                            java.lang.IllegalArgumentException
        Begins handling in case if of working with active trace providers which work in the model PULL. Method going through all providers one by one connecting adapters and calling process().

        If provider works in the model PUSH then this method is never called.

        Throws:
        java.io.IOException - Input-Output error.
        java.lang.IllegalStateException - Handling has already begun.
        java.lang.IllegalArgumentException - Trace error.
      • attachAdapters

        protected void attachAdapters​(TraceProvider provider)
                               throws java.lang.IllegalStateException,
                                      java.lang.IllegalArgumentException
        Attaches adapters and handlers to a provider. This method is called from process() in case of the model PULL or from TraceProvider.attachToManager(TraceProcessorManager) in case of the model PUSH.
        Throws:
        java.lang.IllegalStateException - Handling has already begun.
        java.lang.IllegalArgumentException - Provider is not connected to this trace manager.