< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugHandlersFactory.java

Print this page




  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 package org.graalvm.compiler.debug;
  24 
  25 import java.util.Iterator;
  26 import java.util.List;
  27 
  28 import org.graalvm.compiler.options.OptionValues;
  29 import org.graalvm.compiler.serviceprovider.GraalServices;
  30 
  31 /**
  32  * Factory for creating {@link DebugHandler}s.
  33  */
  34 public interface DebugHandlersFactory {
  35 
  36     /**
  37      * Creates {@link DebugHandler}s based on {@code options}.



  38      */
  39     List<DebugHandler> createHandlers(OptionValues options);
  40 
  41     /**
  42      * Loads {@link DebugHandlersFactory}s on demand via {@link GraalServices#load(Class)}.
  43      */
  44     Iterable<DebugHandlersFactory> LOADER = new Iterable<DebugHandlersFactory>() {
  45         @Override
  46         public Iterator<DebugHandlersFactory> iterator() {
  47             return GraalServices.load(DebugHandlersFactory.class).iterator();
  48         }
  49     };
  50 }


  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 package org.graalvm.compiler.debug;
  24 
  25 import java.util.Iterator;
  26 import java.util.List;
  27 
  28 import org.graalvm.compiler.options.OptionValues;
  29 import org.graalvm.compiler.serviceprovider.GraalServices;
  30 
  31 /**
  32  * Factory for creating {@link DebugHandler}s.
  33  */
  34 public interface DebugHandlersFactory {
  35 
  36     /**
  37      * Creates {@link DebugHandler}s based on {@code options}.
  38      * 
  39      * @param options options to control type and name of the channel
  40      * @return list of debug handers that have been created
  41      */
  42     List<DebugHandler> createHandlers(OptionValues options);
  43 
  44     /**
  45      * Loads {@link DebugHandlersFactory}s on demand via {@link GraalServices#load(Class)}.
  46      */
  47     Iterable<DebugHandlersFactory> LOADER = new Iterable<DebugHandlersFactory>() {
  48         @Override
  49         public Iterator<DebugHandlersFactory> iterator() {
  50             return GraalServices.load(DebugHandlersFactory.class).iterator();
  51         }
  52     };
  53 }
< prev index next >