Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (C) 2013 Samuel Halliday
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation, either version 3 of the License, or
  * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see [http://www.gnu.org/licenses/].
 */
package com.github.fommil.netlib.generator;
    name = "interface",
    defaultPhase = .,
    requiresDependencyResolution = .
public class JavaInterfaceGenerator extends AbstractJavaGenerator {

  
The fallback implementation.
  @Parameter(required = true)
  protected String fallback;

  
The default implementations (CSV).
  @Parameter(required = true)
  protected String impls;

  
Arbitrary Java code that is run after instance creation.
  protected String initCode;
  protected String generate(List<Methodmethodsthrows Exception {
    List<Stringmembers = Lists.newArrayList();
    for (Method method : methods) {
      members.add(renderMethod(methodfalse));
      if (hasOffsets(method))
        members.add(renderMethod(methodtrue));
    }
    ST t = .getInstanceOf("abstractClass");
    t.add("package"getTargetPackage());
    t.add("name"getTargetClassName());
    t.add("members"members);
    t.add("docs"getGenerationSummaryJavadocs());
    t.add("fallback");
    t.add("impls");
    if (!Strings.isNullOrEmpty())
      t.add("initCode");
    return t.render();
  }
  private String renderMethod(Method methodboolean offsetsthrows IOException {
    ST m = .getInstanceOf("abstractMethod");
    m.add("return"method.getReturnType());
    if (method.getReturnType().equals(.))
      m.add("returnDocs""");
    m.add("method"method.getName());
    m.add("paramTypes"getNetlibJavaParameterTypes(methodoffsets));
    m.add("paramNames"getNetlibJavaParameterNames(methodoffsets));
    if (!Strings.isNullOrEmpty())
      m.add("docs"getJavadocs(method));
    return m.render();
  }
  private String getJavadocs(Method methodthrows IOException {
    File jar = getFile();
    F2jJavadocExtractor extractor = new F2jJavadocExtractor(jar);
    return extractor.getJavadocDescription(method);
  }
New to GrepCode? Check out our FAQ X