Class HttpBodyTable

java.lang.Object
org.refcodes.struct.MapPathTable<String>
org.refcodes.struct.MapCanonicalTable
org.refcodes.web.HttpBodyTable
All Implemented Interfaces:
Serializable, Map<String,String>, org.refcodes.mixin.AnnotatorAccessor, org.refcodes.mixin.Clearable, org.refcodes.mixin.DelimiterAccessor, org.refcodes.mixin.EmptyAccessor, org.refcodes.mixin.TypeAccessor<String>, org.refcodes.struct.CanonicalTable, org.refcodes.struct.Containable, org.refcodes.struct.ImmutableCanonicalTable, org.refcodes.struct.ImmutableCanonicalTable.MutableCanonicalTable, org.refcodes.struct.ImmutableInterOperableTable<String>, org.refcodes.struct.ImmutableInterOperableTable.MutableInterOperableTable<String>, org.refcodes.struct.ImmutablePathTable<String>, org.refcodes.struct.ImmutablePathTable.MutablePathTable<String>, org.refcodes.struct.ImmutableTable<String,String>, org.refcodes.struct.ImmutableTable.MutableTable<String,String>, org.refcodes.struct.InterOperableTable<String>, org.refcodes.struct.Keys<String,String>, org.refcodes.struct.Keys.MutableKeys<String,String>, org.refcodes.struct.Keys.MutableValues<String,String>, org.refcodes.struct.PathTable<String>, org.refcodes.struct.Table<String,String,org.refcodes.struct.PathTable<String>>

public class HttpBodyTable extends org.refcodes.struct.MapCanonicalTable
The HttpBodyTable type is a "dynamic" type in terms of it's structure being represented by paths'. When a data structure is parsed e.g. from JSON or XML, then the data structure's internal structure and values are reflected by according paths's and values in the HttpBodyTable. The HttpBodyTable is actually a https://www.metacodes.proization of the ImmutablePathTable using String objects as values and a slash ("/") as path delimiter. Using the HttpBodyTable it is convenient to navigate or address elements from unknown or dynamic data structures. The other way round the HttpBodyTable may be used to construct dynamic data types by adding the according paths's and values for marshaling into e.g. JSON or XML. Think of an HttpBodyTable as a flattened JSON or XML structure. The HttpClientResponse, HttpServerRequest, HttpServerResponse as well as the HttpClientResponse implementations directly support the HttpBodyTable, given that the MediaTypeFactory being used supports marshaling and unmarshaling from and to nested Map instances. The HttpBodyTable acts as a view of the nested Map structures, which are somehow inconvenient to navigate through. The HttpClientRequest.setRequest(Object) implementation supports the HttpBodyTable to marshal an HttpBodyTable into an HTTP Request-Body. The HttpClientResponse.getResponse(Class) implementation supports the HttpBodyTable to unmarshal an HTTP Response-Body into an HttpBodyTable. The HttpServerRequest.getRequest(Class) implementation supports the HttpBodyTable to unmarshal an HTTP Request-Body into an HttpBodyTable. The HttpServerResponse.setResponse(Object) implementation supports the HttpBodyTable to marshal an HttpBodyTable into an HTTP Request-Body.
See Also: