org.pfsw.text.json
Class JsonObjectAccessor

java.lang.Object
  extended by org.pfsw.text.json.JsonObjectAccessor

public class JsonObjectAccessor
extends java.lang.Object

This is a wrapper around a single JsonObject. It supports access to the objects's field values in a convenient way and supports optional and required field access as well as implicit type conversion. All access problems are signaled by JsonAccessException which is a RuntimeException.


Constructor Summary
JsonObjectAccessor(JsonObject jsonObject)
           
 
Method Summary
protected  TimeValue asTimeValue(java.lang.Long value, TimeUnit timeUnit)
           
static JsonObjectAccessor create(JsonObject jsonObject)
           
 JsonObject getJsonObject()
           
protected  java.lang.Long getLongValueOf(java.lang.String name)
           
protected  java.lang.Long getLongValueOf(java.lang.String name, java.lang.String targetTypeName)
           
protected  NaturalNumber getNaturalNumberValueOf(java.lang.String name)
           
 java.math.BigDecimal getOptionalBigDecimalValue(org.pfsw.bif.text.IStringConstant name)
           
 java.math.BigDecimal getOptionalBigDecimalValue(java.lang.String name)
           
 java.lang.Boolean getOptionalBooleanValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.Boolean getOptionalBooleanValue(java.lang.String name)
           
 java.lang.Integer getOptionalIntegerValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.Integer getOptionalIntegerValue(java.lang.String name)
           
 JsonArray getOptionalJsonArrayValue(org.pfsw.bif.text.IStringConstant name)
           
 JsonArray getOptionalJsonArrayValue(java.lang.String name)
           
 JsonObjectAccessor getOptionalJsonObjectAccessorValue(org.pfsw.bif.text.IStringConstant name)
           
 JsonObjectAccessor getOptionalJsonObjectAccessorValue(java.lang.String name)
           
 JsonObject getOptionalJsonObjectValue(org.pfsw.bif.text.IStringConstant name)
           
 JsonObject getOptionalJsonObjectValue(java.lang.String name)
           
 java.lang.Long getOptionalLongValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.Long getOptionalLongValue(java.lang.String name)
           
 NaturalNumber getOptionalNaturalNumberValue(org.pfsw.bif.text.IStringConstant name)
           
 NaturalNumber getOptionalNaturalNumberValue(java.lang.String name)
           
 java.lang.Object getOptionalRawValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.Object getOptionalRawValue(java.lang.String name)
           
 java.lang.String[] getOptionalStringArrayValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.String[] getOptionalStringArrayValue(java.lang.String name)
           
 java.lang.String getOptionalStringValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.String getOptionalStringValue(java.lang.String name)
           
 TimeValue getOptionalTimeValue(org.pfsw.bif.text.IStringConstant name, TimeUnit timeUnit)
          Returns the value at the specified field name as a TimeValue with the specified TimeUnit.
 TimeValue getOptionalTimeValue(java.lang.String name, TimeUnit timeUnit)
          Returns the value at the specified field name as a TimeValue with the specified TimeUnit.
<T> T
getOptionalTypedValue(org.pfsw.bif.text.IStringConstant name, java.lang.Class<T> type)
           
<T> T
getOptionalTypedValue(java.lang.String name, java.lang.Class<T> type)
           
 java.lang.Object getRawValueOf(org.pfsw.bif.text.IStringConstant name, boolean isRequired)
           
 java.lang.Object getRawValueOf(java.lang.String name, boolean isRequired)
           
 java.math.BigDecimal getRequiredBigDecimalValue(org.pfsw.bif.text.IStringConstant name)
           
 java.math.BigDecimal getRequiredBigDecimalValue(java.lang.String name)
           
 java.lang.Boolean getRequiredBooleanValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.Boolean getRequiredBooleanValue(java.lang.String name)
           
 java.lang.Integer getRequiredIntegerValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.Integer getRequiredIntegerValue(java.lang.String name)
           
 JsonArray getRequiredJsonArrayValue(org.pfsw.bif.text.IStringConstant name)
           
 JsonArray getRequiredJsonArrayValue(java.lang.String name)
           
 JsonObjectAccessor getRequiredJsonObjectAccessorValue(org.pfsw.bif.text.IStringConstant name)
           
 JsonObjectAccessor getRequiredJsonObjectAccessorValue(java.lang.String name)
           
 JsonObject getRequiredJsonObjectValue(org.pfsw.bif.text.IStringConstant name)
           
 JsonObject getRequiredJsonObjectValue(java.lang.String name)
           
 java.lang.Long getRequiredLongValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.Long getRequiredLongValue(java.lang.String name)
           
 NaturalNumber getRequiredNaturalNumberValue(org.pfsw.bif.text.IStringConstant name)
           
 NaturalNumber getRequiredNaturalNumberValue(java.lang.String name)
           
 java.lang.Object getRequiredRawValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.Object getRequiredRawValue(java.lang.String name)
           
 java.lang.String[] getRequiredStringArrayValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.String[] getRequiredStringArrayValue(java.lang.String name)
           
 java.lang.String getRequiredStringValue(org.pfsw.bif.text.IStringConstant name)
           
 java.lang.String getRequiredStringValue(java.lang.String name)
           
 TimeValue getRequiredTimeValue(org.pfsw.bif.text.IStringConstant name, TimeUnit timeUnit)
           
 TimeValue getRequiredTimeValue(java.lang.String name, TimeUnit timeUnit)
           
<T> T
getRequiredTypedValue(org.pfsw.bif.text.IStringConstant name, java.lang.Class<T> type)
           
<T> T
getRequiredTypedValue(java.lang.String name, java.lang.Class<T> type)
           
protected  java.lang.String[] getStringArray(java.lang.String name, boolean isRequired)
           
<T> T
getTypedValueOf(org.pfsw.bif.text.IStringConstant name, java.lang.Class<T> type, boolean isRequired)
           
<T> T
getTypedValueOf(java.lang.String name, java.lang.Class<T> type, boolean isRequired)
           
 void signalRequiredFieldMissing(java.lang.String fieldName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JsonObjectAccessor

public JsonObjectAccessor(JsonObject jsonObject)
Method Detail

create

public static JsonObjectAccessor create(JsonObject jsonObject)

getJsonObject

public JsonObject getJsonObject()

getRequiredJsonObjectAccessorValue

public JsonObjectAccessor getRequiredJsonObjectAccessorValue(org.pfsw.bif.text.IStringConstant name)

getRequiredJsonObjectAccessorValue

public JsonObjectAccessor getRequiredJsonObjectAccessorValue(java.lang.String name)

getRequiredJsonObjectValue

public JsonObject getRequiredJsonObjectValue(org.pfsw.bif.text.IStringConstant name)

getRequiredJsonObjectValue

public JsonObject getRequiredJsonObjectValue(java.lang.String name)

getRequiredJsonArrayValue

public JsonArray getRequiredJsonArrayValue(org.pfsw.bif.text.IStringConstant name)

getRequiredJsonArrayValue

public JsonArray getRequiredJsonArrayValue(java.lang.String name)

getRequiredStringValue

public java.lang.String getRequiredStringValue(org.pfsw.bif.text.IStringConstant name)

getRequiredStringValue

public java.lang.String getRequiredStringValue(java.lang.String name)

getRequiredStringArrayValue

public java.lang.String[] getRequiredStringArrayValue(org.pfsw.bif.text.IStringConstant name)

getRequiredStringArrayValue

public java.lang.String[] getRequiredStringArrayValue(java.lang.String name)

getRequiredBooleanValue

public java.lang.Boolean getRequiredBooleanValue(org.pfsw.bif.text.IStringConstant name)

getRequiredBooleanValue

public java.lang.Boolean getRequiredBooleanValue(java.lang.String name)

getRequiredIntegerValue

public java.lang.Integer getRequiredIntegerValue(org.pfsw.bif.text.IStringConstant name)

getRequiredIntegerValue

public java.lang.Integer getRequiredIntegerValue(java.lang.String name)

getRequiredLongValue

public java.lang.Long getRequiredLongValue(org.pfsw.bif.text.IStringConstant name)

getRequiredLongValue

public java.lang.Long getRequiredLongValue(java.lang.String name)

getRequiredBigDecimalValue

public java.math.BigDecimal getRequiredBigDecimalValue(org.pfsw.bif.text.IStringConstant name)

getRequiredBigDecimalValue

public java.math.BigDecimal getRequiredBigDecimalValue(java.lang.String name)

getRequiredNaturalNumberValue

public NaturalNumber getRequiredNaturalNumberValue(org.pfsw.bif.text.IStringConstant name)

getRequiredNaturalNumberValue

public NaturalNumber getRequiredNaturalNumberValue(java.lang.String name)

getRequiredTimeValue

public TimeValue getRequiredTimeValue(org.pfsw.bif.text.IStringConstant name,
                                      TimeUnit timeUnit)

getRequiredTimeValue

public TimeValue getRequiredTimeValue(java.lang.String name,
                                      TimeUnit timeUnit)

getRequiredRawValue

public java.lang.Object getRequiredRawValue(org.pfsw.bif.text.IStringConstant name)

getRequiredRawValue

public java.lang.Object getRequiredRawValue(java.lang.String name)

getOptionalJsonObjectAccessorValue

public JsonObjectAccessor getOptionalJsonObjectAccessorValue(org.pfsw.bif.text.IStringConstant name)

getOptionalJsonObjectAccessorValue

public JsonObjectAccessor getOptionalJsonObjectAccessorValue(java.lang.String name)

getOptionalJsonObjectValue

public JsonObject getOptionalJsonObjectValue(org.pfsw.bif.text.IStringConstant name)

getOptionalJsonObjectValue

public JsonObject getOptionalJsonObjectValue(java.lang.String name)

getOptionalJsonArrayValue

public JsonArray getOptionalJsonArrayValue(org.pfsw.bif.text.IStringConstant name)

getOptionalJsonArrayValue

public JsonArray getOptionalJsonArrayValue(java.lang.String name)

getOptionalStringValue

public java.lang.String getOptionalStringValue(org.pfsw.bif.text.IStringConstant name)

getOptionalStringValue

public java.lang.String getOptionalStringValue(java.lang.String name)

getOptionalStringArrayValue

public java.lang.String[] getOptionalStringArrayValue(org.pfsw.bif.text.IStringConstant name)

getOptionalStringArrayValue

public java.lang.String[] getOptionalStringArrayValue(java.lang.String name)

getOptionalBooleanValue

public java.lang.Boolean getOptionalBooleanValue(org.pfsw.bif.text.IStringConstant name)

getOptionalBooleanValue

public java.lang.Boolean getOptionalBooleanValue(java.lang.String name)

getOptionalIntegerValue

public java.lang.Integer getOptionalIntegerValue(org.pfsw.bif.text.IStringConstant name)

getOptionalIntegerValue

public java.lang.Integer getOptionalIntegerValue(java.lang.String name)

getOptionalLongValue

public java.lang.Long getOptionalLongValue(org.pfsw.bif.text.IStringConstant name)

getOptionalLongValue

public java.lang.Long getOptionalLongValue(java.lang.String name)

getOptionalBigDecimalValue

public java.math.BigDecimal getOptionalBigDecimalValue(org.pfsw.bif.text.IStringConstant name)

getOptionalBigDecimalValue

public java.math.BigDecimal getOptionalBigDecimalValue(java.lang.String name)

getOptionalNaturalNumberValue

public NaturalNumber getOptionalNaturalNumberValue(org.pfsw.bif.text.IStringConstant name)

getOptionalNaturalNumberValue

public NaturalNumber getOptionalNaturalNumberValue(java.lang.String name)

getOptionalTimeValue

public TimeValue getOptionalTimeValue(org.pfsw.bif.text.IStringConstant name,
                                      TimeUnit timeUnit)
Returns the value at the specified field name as a TimeValue with the specified TimeUnit.

Parameters:
name - The name of the field (must not be null).
timeUnit - The time unit of the value found in the object (must not be null).
Returns:
Returns either the TimeUnit or null if field not present.

getOptionalTimeValue

public TimeValue getOptionalTimeValue(java.lang.String name,
                                      TimeUnit timeUnit)
Returns the value at the specified field name as a TimeValue with the specified TimeUnit.

Parameters:
name - The name of the field (must not be null).
timeUnit - The time unit of the value found in the object (must not be null).
Returns:
Returns either the TimeUnit or null if field not present.

getOptionalRawValue

public java.lang.Object getOptionalRawValue(org.pfsw.bif.text.IStringConstant name)

getOptionalRawValue

public java.lang.Object getOptionalRawValue(java.lang.String name)

getOptionalTypedValue

public <T> T getOptionalTypedValue(org.pfsw.bif.text.IStringConstant name,
                                   java.lang.Class<T> type)

getOptionalTypedValue

public <T> T getOptionalTypedValue(java.lang.String name,
                                   java.lang.Class<T> type)

getRequiredTypedValue

public <T> T getRequiredTypedValue(org.pfsw.bif.text.IStringConstant name,
                                   java.lang.Class<T> type)

getRequiredTypedValue

public <T> T getRequiredTypedValue(java.lang.String name,
                                   java.lang.Class<T> type)

getTypedValueOf

public <T> T getTypedValueOf(org.pfsw.bif.text.IStringConstant name,
                             java.lang.Class<T> type,
                             boolean isRequired)

getTypedValueOf

public <T> T getTypedValueOf(java.lang.String name,
                             java.lang.Class<T> type,
                             boolean isRequired)

getRawValueOf

public java.lang.Object getRawValueOf(org.pfsw.bif.text.IStringConstant name,
                                      boolean isRequired)

getRawValueOf

public java.lang.Object getRawValueOf(java.lang.String name,
                                      boolean isRequired)

signalRequiredFieldMissing

public void signalRequiredFieldMissing(java.lang.String fieldName)
                                throws JsonAccessException
Throws:
JsonAccessException

getStringArray

protected java.lang.String[] getStringArray(java.lang.String name,
                                            boolean isRequired)

getNaturalNumberValueOf

protected NaturalNumber getNaturalNumberValueOf(java.lang.String name)

getLongValueOf

protected java.lang.Long getLongValueOf(java.lang.String name)

getLongValueOf

protected java.lang.Long getLongValueOf(java.lang.String name,
                                        java.lang.String targetTypeName)

asTimeValue

protected TimeValue asTimeValue(java.lang.Long value,
                                TimeUnit timeUnit)