lowentry.ue4.libs.jackson.databind.deser.impl.UnwrappedPropertyHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lowentryue4 Show documentation
Show all versions of lowentryue4 Show documentation
A Java library for the Low Entry UE4 plugins.
package lowentry.ue4.libs.jackson.databind.deser.impl;
import java.io.IOException;
import java.util.*;
import lowentry.ue4.libs.jackson.core.*;
import lowentry.ue4.libs.jackson.databind.DeserializationContext;
import lowentry.ue4.libs.jackson.databind.JsonDeserializer;
import lowentry.ue4.libs.jackson.databind.deser.SettableBeanProperty;
import lowentry.ue4.libs.jackson.databind.util.NameTransformer;
import lowentry.ue4.libs.jackson.databind.util.TokenBuffer;
/**
* Object that is responsible for handling acrobatics related to
* deserializing "unwrapped" values; sets of properties that are
* embedded (inlined) as properties of parent JSON object.
*/
@SuppressWarnings("all")
public class UnwrappedPropertyHandler
{
protected final List _properties;
public UnwrappedPropertyHandler() {
_properties = new ArrayList();
}
protected UnwrappedPropertyHandler(List props) {
_properties = props;
}
public void addProperty(SettableBeanProperty property) {
_properties.add(property);
}
public UnwrappedPropertyHandler renameAll(NameTransformer transformer)
{
ArrayList newProps = new ArrayList(_properties.size());
for (SettableBeanProperty prop : _properties) {
String newName = transformer.transform(prop.getName());
prop = prop.withSimpleName(newName);
JsonDeserializer> deser = prop.getValueDeserializer();
if (deser != null) {
@SuppressWarnings("unchecked")
JsonDeserializer