/* JFox, the OpenSource J2EE Application Server
 *
 * Copyright (C) 2002 huihoo.com
 * Distributable under GNU LGPL license
 * See the GNU Lesser General Public License for more details.
 */

package org.jfox.mx.loading;

/**
 * 
 * @author <a href="mailto:young_yy@hotmail.com">Young Yang</a>
 */

public class MxMeta {
  private String className;
  private String objectName;

  private Constructor constr = new Constructor(null);
  private Method[] methods;

  public MxMeta(String className, String objectName, Constructor constr, Method[] methods) {
    this.className = className;
    this.objectName = objectName;
    this.constr = constr;
    this.methods = methods;
  }

  public String getClassName(){
    return className;
  }

  public String getObjectName() {
    return objectName;
  }

  public Constructor getConstructor() {
    return constr;
  }

  public Method[] getMethods(){
    return methods;
  }

  public static class Constructor {
    private Arg[] args;

    public Constructor(Arg[] args) {
      this.args = args;
    }

    public Arg[] getArgs() {
      return args;
    }
  }

  public static class Method {
    private String name;
    private Arg[] args;

    public Method(String name, Arg[] args) {
      this.name = name;
      this.args = args;
    }

    public String getName() {
      return name;
    }

    public Arg[] getArgs() {
      return args;
    }
  }

  public static class Arg {
    private String type;
    private String value;

    public Arg(String type, String value) {
      this.type = type;
      this.value = value;
    }

    public String getType() {
      return type;
    }

    public String getValue() {
      return value;
    }
  }

  public static void main(String[] args) {

  }
}