- java.lang.Object
-
- org.apache.johnzon.mapper.DynamicMappingGenerator
-
- All Implemented Interfaces:
MappingGenerator
- Direct Known Subclasses:
DynamicMappingGenerator.SkipEnclosingWriteEnd
public class DynamicMappingGenerator extends java.lang.Object implements MappingGenerator
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classDynamicMappingGenerator.DelegatingGeneratorstatic classDynamicMappingGenerator.InObjectOrPrimitiveJsonGeneratorstatic classDynamicMappingGenerator.SkipEnclosingWriteEndprivate static classDynamicMappingGenerator.SkipLastWriteEndGeneratorprivate static classDynamicMappingGenerator.WritingState
-
Field Summary
Fields Modifier and Type Field Description private MappingGeneratordelegateprotected DynamicMappingGenerator.InObjectOrPrimitiveJsonGeneratorgeneratorprivate java.lang.StringkeyNameprivate java.lang.RunnablewriteEndprivate java.lang.RunnablewriteStart
-
Constructor Summary
Constructors Constructor Description DynamicMappingGenerator(MappingGenerator delegate, java.lang.Runnable writeStart, java.lang.Runnable writeEnd, java.lang.String keyName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private jakarta.json.stream.JsonGeneratorensureGenerator(jakarta.json.stream.JsonGenerator generator)voidflushIfNeeded()jakarta.json.stream.JsonGeneratorgetJsonGenerator()protected jakarta.json.stream.JsonGeneratorgetRawJsonGenerator()protected voidreset()MappingGeneratorwriteObject(java.lang.Object o, jakarta.json.stream.JsonGenerator generator)Write the given Object o into the current JSON layer.MappingGeneratorwriteObject(java.lang.String key, java.lang.Object o, jakarta.json.stream.JsonGenerator generator)
-
-
-
Field Detail
-
delegate
private final MappingGenerator delegate
-
writeStart
private final java.lang.Runnable writeStart
-
writeEnd
private final java.lang.Runnable writeEnd
-
keyName
private final java.lang.String keyName
-
generator
protected DynamicMappingGenerator.InObjectOrPrimitiveJsonGenerator generator
-
-
Constructor Detail
-
DynamicMappingGenerator
public DynamicMappingGenerator(MappingGenerator delegate, java.lang.Runnable writeStart, java.lang.Runnable writeEnd, java.lang.String keyName)
-
-
Method Detail
-
getRawJsonGenerator
protected jakarta.json.stream.JsonGenerator getRawJsonGenerator()
-
getJsonGenerator
public jakarta.json.stream.JsonGenerator getJsonGenerator()
- Specified by:
getJsonGeneratorin interfaceMappingGenerator- Returns:
- the
JsonGeneratorused internally to write the JSON output.
-
writeObject
public MappingGenerator writeObject(java.lang.String key, java.lang.Object o, jakarta.json.stream.JsonGenerator generator)
- Specified by:
writeObjectin interfaceMappingGenerator
-
writeObject
public MappingGenerator writeObject(java.lang.Object o, jakarta.json.stream.JsonGenerator generator)
Description copied from interface:MappingGeneratorWrite the given Object o into the current JSON layer. This will not open a new json layer ('{', '}') but really just write the attributes of o to the currently opened layer. Consider you have a classpublic class Customer { private String firstName; private String lastName; private Address address; ... }then the resulting JSON String will e.g. look like"firstName":"Karl", "lastName":"SomeName", "address":{"street":"mystreet"}- Specified by:
writeObjectin interfaceMappingGenerator- Parameters:
o- the object to writegenerator- the jsonp generator to use- Returns:
- itself, for easier chaining of commands
-
ensureGenerator
private jakarta.json.stream.JsonGenerator ensureGenerator(jakarta.json.stream.JsonGenerator generator)
-
reset
protected void reset()
-
flushIfNeeded
public void flushIfNeeded()
-
-