-
- All Superinterfaces:
AutoCloseable
- All Known Implementing Classes:
AbstractStructuredStringWriter,AbstractStructuredWriter
public interface StructuredWriter extends AutoCloseable
Interface for a writer to produce astructured formatsuch as JSON or XML.- Since:
- 1.0.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidclose()voidwriteEnd()voidwriteName(String name)Writes the name of a property.voidwriteStartArray()Writes the start of an array or collection.voidwriteStartObject()Writes the start of an object.default voidwriteValue(Object value)Writes a value for the current property orarrayelement.
ATTENTION:
This generic method only exists as convenience method for thewriteValueAs*methods.default voidwriteValueAsBigDecimal(BigDecimal value)default voidwriteValueAsBigInteger(BigInteger value)voidwriteValueAsBoolean(Boolean value)default voidwriteValueAsByte(Byte value)default voidwriteValueAsDouble(Double value)default voidwriteValueAsFloat(Float value)default voidwriteValueAsInteger(Integer value)default voidwriteValueAsLong(Long value)voidwriteValueAsNull()Writes the valuenull(undefined).default voidwriteValueAsNumber(Number value)default voidwriteValueAsShort(Short value)voidwriteValueAsString(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 orarrayelement.
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 casenullis provided as value. ViaMarshallingConfig.WRITE_NULL_VALUESone can configure ifnullvalues 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:
closein interfaceAutoCloseable
-
-