예제 #1
0
  /** Initialize all options */
  static {
    logger.info("Initialize all options.");

    Field[] fields = Config.class.getDeclaredFields();
    for (Field field : fields) {
      if (field.isAnnotationPresent(Ora2PgOption.class)) {
        Ora2PgOption option = field.getAnnotation(Ora2PgOption.class);

        Builder builder = null;
        if (StringUtils.isEmpty(option.opt())) {
          builder = Option.builder();
        } else {
          builder = Option.builder(option.opt());
        }
        builder.longOpt(option.longOpt());

        if (option.hasArg()) {
          builder
              .hasArg(true)
              .argName(option.argName())
              .optionalArg(option.optionalArg())
              .type(option.type());
        } else {
          builder.hasArg(false);
        }

        OPTIONS.addOption(builder.desc(option.desc()).build());
      }
    }
  }