Package apigen.gen.tom.java

Source Code of apigen.gen.tom.java.Main

package apigen.gen.tom.java;

import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import apigen.adt.ADT;
import apigen.adt.ADTReader;
import apigen.adt.api.types.Module;

public class Main {

  private static void generateSignature(ADT adt,
      JavaTomGenerationParameters params) {
    Iterator<Module> it = adt.moduleIterator();
    while (it.hasNext()) {
      Module module = it.next();
      JavaTomSignatureImplementation signature = new JavaTomSignatureImplementation(
          params, module);
      new JavaTomSignatureGenerator(adt, signature, params, module).run();
    }
  }

  public static final void main(String[] arguments) {
    JavaTomGenerationParameters params = new JavaTomGenerationParameters();
    List<String> args = new LinkedList<String>(Arrays.asList(arguments));

    if (args.size() == 0) {
      usage(params);
      return;
    } else if (args.contains("-h") || args.contains("--help")) {
      usage(params);
      return;
    }

    try {
      params.parseArguments(args);
      params.check();
    } catch (IllegalArgumentException e) {
      System.err.println(e.getMessage());
      usage(params);
      return;
    }

    ADT adt = ADTReader.readADT(params);
    generateSignature(adt, params);

    if (params.isJavaGen()) { // generate Java Stuff
      apigen.gen.java.Main.generateAPI(adt, params);
    }
  }

  private static void usage(JavaTomGenerationParameters params) {
    System.err.println("Usage: java apigen.gen.tom.java.Main [options]");
    System.err.println("options:");
    System.err.println();
    System.err.println(params.usage());
  }
}
TOP

Related Classes of apigen.gen.tom.java.Main

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.