Class Plugin.Engine.Dispatcher.ForParallelTransformation

    • Field Detail

      • transformed

        private final java.util.List<TypeDescription> transformed
        A list of all types that are transformed.
      • failed

        private final java.util.Map<TypeDescription,​java.util.List<java.lang.Throwable>> failed
        A mapping of all types that failed during transformation to the exceptions that explain the failure.
      • unresolved

        private final java.util.List<java.lang.String> unresolved
        A list of type names that could not be resolved.
      • preprocessings

        private final java.util.concurrent.CompletionService<java.util.concurrent.Callable<Plugin.Engine.Dispatcher.Materializable>> preprocessings
        A completion service for all preprocessings.
      • deferred

        private int deferred
        A count of deferred processings.
      • futures

        private final java.util.Set<java.util.concurrent.Future<?>> futures
        A collection of futures that are currently scheduled.
    • Constructor Detail

      • ForParallelTransformation

        protected ForParallelTransformation​(java.util.concurrent.Executor executor,
                                            Plugin.Engine.Target.Sink sink,
                                            java.util.List<TypeDescription> transformed,
                                            java.util.Map<TypeDescription,​java.util.List<java.lang.Throwable>> failed,
                                            java.util.List<java.lang.String> unresolved)
        Creates a new dispatcher that applies transformations in parallel.
        Parameters:
        executor - The executor to delegate any work to.
        sink - The target sink.
        transformed - A list of all types that are transformed.
        failed - A mapping of all types that failed during transformation to the exceptions that explain the failure.
        unresolved - A list of type names that could not be resolved.
    • Method Detail

      • accept

        public void accept​(java.util.concurrent.Callable<? extends java.util.concurrent.Callable<? extends Plugin.Engine.Dispatcher.Materializable>> work,
                           boolean eager)
        Accepts a new work assignment.
        Specified by:
        accept in interface Plugin.Engine.Dispatcher
        Parameters:
        work - The work to handle prefixed by a preprocessing step.
        eager - true if the processing does not need to be deferred until all preprocessing is complete.
      • complete

        public void complete()
                      throws java.io.IOException
        Completes the work being handled.
        Specified by:
        complete in interface Plugin.Engine.Dispatcher
        Throws:
        java.io.IOException - If an I/O exception occurs.
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable