Java源码示例:org.asciidoctor.extension.DocinfoProcessor

示例1
public static RubyClass register(JRubyAsciidoctor asciidoctor, final Class<? extends DocinfoProcessor> docinfoProcessor) {
    RubyClass rubyClass = ProcessorProxyUtil.defineProcessorClass(asciidoctor.getRubyRuntime(), "DocinfoProcessor", new JRubyAsciidoctorObjectAllocator(asciidoctor) {
        @Override
        public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
            return new DocinfoProcessorProxy(asciidoctor, klazz, docinfoProcessor);
        }
    });

    applyAnnotations(docinfoProcessor, rubyClass);

    ProcessorProxyUtil.defineAnnotatedMethods(rubyClass, DocinfoProcessorProxy.class);
    return rubyClass;
}
 
示例2
public static RubyClass register(final JRubyAsciidoctor asciidoctor, final DocinfoProcessor docinfoProcessor) {
    RubyClass rubyClass = ProcessorProxyUtil.defineProcessorClass(asciidoctor.getRubyRuntime(), "DocinfoProcessor", new JRubyAsciidoctorObjectAllocator(asciidoctor) {
        @Override
        public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
            return new DocinfoProcessorProxy(asciidoctor, klazz, docinfoProcessor);
        }
    });

    applyAnnotations(docinfoProcessor.getClass(), rubyClass);

    ProcessorProxyUtil.defineAnnotatedMethods(rubyClass, DocinfoProcessorProxy.class);
    return rubyClass;
}
 
示例3
@Override
public ExtensionGroup docinfoProcessor(final Class<? extends DocinfoProcessor> docInfoProcessor) {
  final RubyClass rubyClass = DocinfoProcessorProxy.register(asciidoctor, docInfoProcessor);
  registrators.add(new Registrator() {
    @Override
    public void register(IRubyObject registry) {
      registry.callMethod(rubyRuntime.getCurrentContext(), "docinfo_processor", rubyClass);
    }
  });
  return this;
}
 
示例4
@Override
public ExtensionGroup docinfoProcessor(final DocinfoProcessor docInfoProcessor) {
  final RubyClass rubyClass = DocinfoProcessorProxy.register(asciidoctor, docInfoProcessor);
  registrators.add(new Registrator() {
    @Override
    public void register(IRubyObject registry) {
      registry.callMethod(rubyRuntime.getCurrentContext(), "docinfo_processor", rubyClass);
    }
  });
  return this;
}
 
示例5
@Override
public ExtensionGroup docinfoProcessor(final String docInfoProcessor) {
  try {
    final Class<? extends DocinfoProcessor>  docinfoProcessorClass = (Class<? extends DocinfoProcessor>) Class.forName(docInfoProcessor);
    docinfoProcessor(docinfoProcessorClass);
  } catch (ClassNotFoundException e) {
    throw new RuntimeException(e);
  }
  return this;
}
 
示例6
@Override
public JavaExtensionRegistry docinfoProcessor(String docInfoProcessor) {
    try {
        Class<? extends DocinfoProcessor> docinfoProcessorClass = (Class<? extends DocinfoProcessor>) Class.forName(docInfoProcessor);
        docinfoProcessor(docinfoProcessorClass);
        return this;
    } catch (ClassNotFoundException e) {
        throw new RuntimeException(e);
    }
}
 
示例7
public DocinfoProcessorProxy(JRubyAsciidoctor asciidoctor, RubyClass metaClass, Class<? extends DocinfoProcessor> docinfoProcessorClass) {
    super(asciidoctor, metaClass, docinfoProcessorClass);
}
 
示例8
public DocinfoProcessorProxy(JRubyAsciidoctor asciidoctor, RubyClass metaClass, DocinfoProcessor docinfoProcessor) {
    super(asciidoctor, metaClass, docinfoProcessor);
}
 
示例9
@Override
public JavaExtensionRegistry docinfoProcessor(Class<? extends DocinfoProcessor> docInfoProcessor) {
    RubyClass rubyClass = DocinfoProcessorProxy.register(asciidoctor, docInfoProcessor);
    getAsciidoctorModule().callMethod("docinfo_processor", rubyClass);
    return this;
}
 
示例10
@Override
public JavaExtensionRegistry docinfoProcessor(DocinfoProcessor docInfoProcessor) {
    RubyClass rubyClass = DocinfoProcessorProxy.register(asciidoctor, docInfoProcessor);
    getAsciidoctorModule().callMethod("docinfo_processor", rubyClass);
    return this;
}
 
示例11
@Override
@SuppressWarnings("unchecked")
public void register(String extensionClassName, String blockName) throws MojoExecutionException {

    Class<? extends Processor> clazz;
    try {
        clazz = (Class<Processor>) Class.forName(extensionClassName);
    } catch (ClassCastException cce) {
        // Use RuntimeException to avoid catching, we only want the message in the Mojo
        throw new RuntimeException("'" + extensionClassName + "' is not a valid AsciidoctorJ processor class");
    } catch (ClassNotFoundException e) {
        throw new RuntimeException("'" + extensionClassName + "' not found in classpath");
    }

    // TODO: Replace with direct method calls again as soon as this project compiles against AsciidoctorJ 1.6.0
    if (DocinfoProcessor.class.isAssignableFrom(clazz)) {
        register(javaExtensionRegistry, "docinfoProcessor", clazz);
    } else if (Preprocessor.class.isAssignableFrom(clazz)) {
        register(javaExtensionRegistry, "preprocessor", clazz);
    } else if (Postprocessor.class.isAssignableFrom(clazz)) {
        register(javaExtensionRegistry, "postprocessor", clazz);
    } else if (Treeprocessor.class.isAssignableFrom(clazz)) {
        register(javaExtensionRegistry, "treeprocessor", clazz);
    } else if (BlockProcessor.class.isAssignableFrom(clazz)) {
        if (blockName == null) {
            register(javaExtensionRegistry, "block", clazz);
        } else {
            register(javaExtensionRegistry, "block", blockName, clazz);
        }
    } else if (IncludeProcessor.class.isAssignableFrom(clazz)) {
        register(javaExtensionRegistry, "includeProcessor", clazz);
    } else if (BlockMacroProcessor.class.isAssignableFrom(clazz)) {
        if (blockName == null) {
            register(javaExtensionRegistry, "blockMacro", clazz);
        } else {
            register(javaExtensionRegistry, "blockMacro", blockName, clazz);
        }
    } else if (InlineMacroProcessor.class.isAssignableFrom(clazz)) {
        if (blockName == null) {
            register(javaExtensionRegistry, "inlineMacro", clazz);
        } else {
            register(javaExtensionRegistry, "inlineMacro", blockName, clazz);
        }
    }
}