Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2013, Francis Galiegue <fgaliegue@gmail.com>
   *
   * This program is free software: you can redistribute it and/or modify
   * it under the terms of the Lesser GNU General Public License as
   * published by the Free Software Foundation, either version 3 of the
   * License, or (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * Lesser GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 package com.github.fge.jsonschema.processors.build;
 
 
 import java.util.Map;
 
 public final class ValidatorBuilder
     implements Processor<SchemaDigestValidatorList>
 {
     private static final String ERRMSG = "failed to build keyword validator";
 
     private final Map<StringConstructor<? extends KeywordValidator>>
         constructors;
 
     public ValidatorBuilder(
         final Dictionary<Constructor<? extends KeywordValidator>> dict)
     {
          = ImmutableMap.copyOf(dict.entries());
     }

    
Process the input

Parameters:
report the report to use while processing
input the input for this processor
Returns:
the output
Throws:
com.github.fge.jsonschema.exceptions.ProcessingException processing failed
 
     @Override
     public ValidatorList process(final ProcessingReport report,
         final SchemaDigest input)
         throws ProcessingException
     {
         final SortedMap<StringKeywordValidatormap = Maps.newTreeMap();
 
         String keyword;
         JsonNode digest;
         KeywordValidator validator;
         Constructor<? extends KeywordValidatorconstructor;
 
         for (final Map.Entry<StringJsonNodeentry:
             input.getDigests().entrySet()) {
             keyword = entry.getKey();
             digest = entry.getValue();
             constructor = .get(keyword);
             validator = buildKeyword(constructordigest);
             map.put(keywordvalidator);
         }
         return new ValidatorList(input.getContext(), map.values());
     }
 
     private static KeywordValidator buildKeyword(
         final Constructor<? extends KeywordValidatorconstructor,
         final JsonNode node)
         throws ProcessingException
     {
         try {
             return constructor.newInstance(node);
         } catch (InstantiationException e) {
             throw new ProcessingException(e);
         } catch (IllegalAccessException e) {
             throw new ProcessingException(e);
         } catch (InvocationTargetException e) {
             throw new ProcessingException(e);
         }
     }
 
     @Override
     public String toString()
     {
        return "validator builder";
    }
New to GrepCode? Check out our FAQ X