org.eel.kitchen.util
Class JsonLoader

java.lang.Object
  extended by org.eel.kitchen.util.JsonLoader

public final class JsonLoader
extends Object

Utility class to load JSON documents (schemas or instance) from various sources as JsonNodes.

It should be noted here that the ObjectMapper used to read everything has DeserializationFeature#USE_BIG_DECIMAL_FOR_FLOATS enabled. This is to be able to deal with floating point numbers of arbitrary precision. Otherwise Jackson limits itself to double, for performance reasons but also because, to quote its documentation, "[the] Javascript standard specifies that all number handling should be done using 64-bit IEEE 754 floating point values" (therefore the equivalent of the double primitive type).


Constructor Summary
JsonLoader()
           
 
Method Summary
static JsonNode fromFile(File file)
          Same as fromPath(String), but this time the user supplies the File object instead
static JsonNode fromPath(String path)
          Read a JsonNode from a file on the local filesystem.
static JsonNode fromReader(Reader reader)
          Read a JsonNode from a user supplied Reader
static JsonNode fromResource(String resource)
          Read a JsonNode from a resource path.
static JsonNode fromURL(URL url)
          Read a JsonNode from an URL.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JsonLoader

public JsonLoader()
Method Detail

fromResource

public static JsonNode fromResource(String resource)
                             throws IOException
Read a JsonNode from a resource path. Explicitly throws an IOException if the resource is null, instead of letting a NullPointerException slip through...

Parameters:
resource - The path to the resource
Returns:
the JSON document at the resource
Throws:
IOException - if the resource does not exist or there was a problem loading it, or if the JSON document is invalid

fromURL

public static JsonNode fromURL(URL url)
                        throws IOException
Read a JsonNode from an URL.

Parameters:
url - The URL to fetch the JSON document from
Returns:
The document at that URL
Throws:
IOException - in case of network problems etc.

fromPath

public static JsonNode fromPath(String path)
                         throws IOException
Read a JsonNode from a file on the local filesystem.

Parameters:
path - the path (relative or absolute) to the file
Returns:
the document in the file
Throws:
IOException - if this is not a file, if it cannot be read, etc.

fromFile

public static JsonNode fromFile(File file)
                         throws IOException
Same as fromPath(String), but this time the user supplies the File object instead

Parameters:
file - the File object
Returns:
The document
Throws:
IOException - in many cases!

fromReader

public static JsonNode fromReader(Reader reader)
                           throws IOException
Read a JsonNode from a user supplied Reader

Parameters:
reader - The reader
Returns:
the document
Throws:
IOException - if the reader has problems


Copyright © 2012. All Rights Reserved.