/**
   * Auto generated method comment
   *
   * @param type
   * @return List<String> with the ReportObjects subtypes
   */
  public List<String> getReportObjectSubTypes(String type) {
    if (modules != null && type != null) {
      List<String> uniqueTypes = new Vector<String>();
      for (ReportObjectFactoryModule mod : modules) {
        if (type.equals(mod.getType()) && !uniqueTypes.contains(mod.getDisplayName())) {
          uniqueTypes.add(mod.getDisplayName());
        }
      }

      return uniqueTypes;
    } else {
      return Collections.emptyList();
    }
  }
  /**
   * Auto generated method comment
   *
   * @return List<String> of ReportObjectTypes
   */
  public List<String> getReportObjectTypes() {
    if (modules != null) {
      List<String> uniqueTypes = new Vector<String>();
      for (ReportObjectFactoryModule mod : modules) {
        if (!uniqueTypes.contains(mod.getType())) {
          uniqueTypes.add(mod.getType());
        }
      }

      return uniqueTypes;
    } else {
      return Collections.emptyList();
    }
  }
  /**
   * Auto generated method comment
   *
   * @param name
   * @return String with the name of a ReportObjectClass, by giving the ReportObjectFactoryModule
   *     name
   */
  public String getReportObjectClassByName(String name) {
    if (modules != null && name != null) {
      String className = "";
      for (ReportObjectFactoryModule mod : modules) {
        if (name.equals(mod.getName())) {
          className = mod.getClassName();
        }
      }

      return className;
    } else {
      return "";
    }
  }
  /**
   * Auto generated method comment
   *
   * @param subType
   * @return String with the class name of an object of subType
   */
  public String getReportObjectClassBySubType(String subType) {
    if (modules != null && subType != null) {
      String className = "";
      for (ReportObjectFactoryModule mod : modules) {
        if (subType.equals(mod.getDisplayName())) {
          className = mod.getClassName();
        }
      }

      return className;
    } else {
      return "";
    }
  }
  /**
   * Auto generated method comment
   *
   * @param currentClassName
   * @return String gets the ReportObjectValidator for the current class name
   */
  public String getReportObjectValidatorByClass(String currentClassName) {
    if (modules != null && currentClassName != null) {
      String validator = "";
      for (int i = 0; i < modules.size(); i++) {
        ReportObjectFactoryModule mod = modules.get(i);
        if (currentClassName.equals(mod.getClassName())) {
          validator = mod.getValidatorClass();
        }
      }

      return validator;
    } else {
      return "";
    }
  }