Package org.apache.johnzon.mapper
Class DynamicMappingGenerator
- 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 class
DynamicMappingGenerator.DelegatingGenerator
static class
DynamicMappingGenerator.InObjectOrPrimitiveJsonGenerator
static class
DynamicMappingGenerator.SkipEnclosingWriteEnd
private static class
DynamicMappingGenerator.SkipLastWriteEndGenerator
private static class
DynamicMappingGenerator.WritingState
-
Field Summary
Fields Modifier and Type Field Description private MappingGenerator
delegate
protected DynamicMappingGenerator.InObjectOrPrimitiveJsonGenerator
generator
private java.lang.String
keyName
private java.lang.Runnable
writeEnd
private java.lang.Runnable
writeStart
-
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 javax.json.stream.JsonGenerator
ensureGenerator(javax.json.stream.JsonGenerator generator)
void
flushIfNeeded()
javax.json.stream.JsonGenerator
getJsonGenerator()
protected javax.json.stream.JsonGenerator
getRawJsonGenerator()
protected void
reset()
MappingGenerator
writeObject(java.lang.Object o, javax.json.stream.JsonGenerator generator)
Write the given Object o into the current JSON layer.MappingGenerator
writeObject(java.lang.String key, java.lang.Object o, javax.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 javax.json.stream.JsonGenerator getRawJsonGenerator()
-
getJsonGenerator
public javax.json.stream.JsonGenerator getJsonGenerator()
- Specified by:
getJsonGenerator
in interfaceMappingGenerator
- Returns:
- the
JsonGenerator
used internally to write the JSON output.
-
writeObject
public MappingGenerator writeObject(java.lang.String key, java.lang.Object o, javax.json.stream.JsonGenerator generator)
- Specified by:
writeObject
in interfaceMappingGenerator
-
writeObject
public MappingGenerator writeObject(java.lang.Object o, javax.json.stream.JsonGenerator generator)
Description copied from interface:MappingGenerator
Write 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:
writeObject
in interfaceMappingGenerator
- Parameters:
o
- the object to writegenerator
- the jsonp generator to use- Returns:
- itself, for easier chaining of commands
-
ensureGenerator
private javax.json.stream.JsonGenerator ensureGenerator(javax.json.stream.JsonGenerator generator)
-
reset
protected void reset()
-
flushIfNeeded
public void flushIfNeeded()
-
-