コード例 #1
0
  public synchronized void validate(IConfigurableResourceContext cxt)
      throws OpenConfigurationException {
    if (grammarFactory != null) {
      grammarFactory.validate(cxt);
    } else if (parent == null) {
      throw new OpenConfigurationException("Grammar class is not set", getUri(), null);
    }

    if (binderFactory != null) {
      binderFactory.validate(cxt);
    } else if (parent == null) {
      throw new OpenConfigurationException("Bindings are not set", getUri(), null);
    }

    // Methods and casts are optional
    // else if (parent == null)
    // throw new OpenConfigurationException("Methods are not set", getUri(),
    // null);

    if (methodFactory != null) {
      methodFactory.validate(cxt);
    }

    if (typeCastFactory != null) {
      typeCastFactory.validate(cxt);
    }

    if (typeFactory != null) {
      typeFactory.validate(cxt);
    }

    if (openFactories != null) {
      for (Iterator<IOpenFactoryConfiguration> iter = openFactories.values().iterator();
          iter.hasNext(); ) {
        IOpenFactoryConfiguration factory = iter.next();
        factory.validate(cxt);
      }
    }
  }