-
- All Superinterfaces:
AutoCloseable
- All Known Implementing Classes:
AbstractStructuredStringWriter
,AbstractStructuredWriter
public interface StructuredWriter extends AutoCloseable
Interface for a writer to produce astructured format
such as JSON or XML.- Since:
- 1.0.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
close()
void
writeEnd()
void
writeName(String name)
Writes the name of a property.void
writeStartArray()
Writes the start of an array or collection.void
writeStartObject()
Writes the start of an object.default void
writeValue(Object value)
Writes a value for the current property orarray
element.
ATTENTION:
This generic method only exists as convenience method for thewriteValueAs*
methods.default void
writeValueAsBigDecimal(BigDecimal value)
default void
writeValueAsBigInteger(BigInteger value)
void
writeValueAsBoolean(Boolean value)
default void
writeValueAsByte(Byte value)
default void
writeValueAsDouble(Double value)
default void
writeValueAsFloat(Float value)
default void
writeValueAsInteger(Integer value)
default void
writeValueAsLong(Long value)
void
writeValueAsNull()
Writes the valuenull
(undefined).default void
writeValueAsNumber(Number value)
default void
writeValueAsShort(Short value)
void
writeValueAsString(String value)
-
-
-
Method Detail
-
writeStartArray
void writeStartArray()
Writes the start of an array or collection. After the call of this method for each element of the array or collection a call ofwriteValue(Object)
(including any of its typed variants) needs to be called followed bywriteEnd()
.
-
writeStartObject
void writeStartObject()
Writes the start of an object. After the call of this method for each property of the objectwriteName(String)
needs to be called followed by writing its value. ThenwriteEnd()
needs to be called to terminate the object.
-
writeEnd
void writeEnd()
-
writeName
void writeName(String name)
Writes the name of a property. After the call of this method a subsequent call ofwriteStartArray()
,writeStartObject()
orwriteValue(Object)
(including any of its typed variants) needs to be called.- Parameters:
name
-
-
writeValue
default void writeValue(Object value)
Writes a value for the current property orarray
element.
ATTENTION:
This generic method only exists as convenience method for thewriteValueAs*
methods. It therefore only supports standard Java value types as described inio.github.mmm.marshall
. For other types it falls back toObject.toString()
.- Parameters:
value
- the value to write. May benull
.
-
writeValueAsNumber
default void writeValueAsNumber(Number value)
- Parameters:
value
- the value to write. May benull
.
-
writeValueAsNull
void writeValueAsNull()
Writes the valuenull
(undefined). Called from all otherwriteValue*
methods in casenull
is provided as value. ViaMarshallingConfig.WRITE_NULL_VALUES
one can configure ifnull
values should be written or omitted (to save bandwidth).- See Also:
writeValue(Object)
-
writeValueAsString
void writeValueAsString(String value)
- Parameters:
value
- the value to write.- See Also:
writeValue(Object)
-
writeValueAsBoolean
void writeValueAsBoolean(Boolean value)
- Parameters:
value
- the value to write.- See Also:
writeValue(Object)
-
writeValueAsBigDecimal
default void writeValueAsBigDecimal(BigDecimal value)
- Parameters:
value
- the value to write.- See Also:
writeValue(Object)
-
writeValueAsBigInteger
default void writeValueAsBigInteger(BigInteger value)
- Parameters:
value
- the value to write.- See Also:
writeValue(Object)
-
writeValueAsLong
default void writeValueAsLong(Long value)
- Parameters:
value
- the value to write.- See Also:
writeValue(Object)
-
writeValueAsInteger
default void writeValueAsInteger(Integer value)
- Parameters:
value
- the value to write.- See Also:
writeValue(Object)
-
writeValueAsShort
default void writeValueAsShort(Short value)
- Parameters:
value
- the value to write.- See Also:
writeValue(Object)
-
writeValueAsByte
default void writeValueAsByte(Byte value)
- Parameters:
value
- the value to write.- See Also:
writeValue(Object)
-
writeValueAsDouble
default void writeValueAsDouble(Double value)
- Parameters:
value
- the value to write.- See Also:
writeValue(Object)
-
writeValueAsFloat
default void writeValueAsFloat(Float value)
- Parameters:
value
- the value to write.- See Also:
writeValue(Object)
-
close
void close()
- Specified by:
close
in interfaceAutoCloseable
-
-