Java 类com.fasterxml.jackson.databind.deser.BeanDeserializerBase 实例源码
项目:gvnix1
文件:DataBinderBeanDeserializerModifier.java
@Override
public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config,
BeanDescription beanDesc, JsonDeserializer<?> deserializer) {
if (deserializer instanceof BeanDeserializerBase) {
return new DataBinderDeserializer(
(BeanDeserializerBase) deserializer);
}
// When there is no custom-deserializer implementation returns the
// default jackson deserializer
return deserializer;
}
项目:QuizUpWinner
文件:BeanAsArrayBuilderDeserializer.java
public BeanAsArrayBuilderDeserializer(BeanDeserializerBase paramBeanDeserializerBase, SettableBeanProperty[] paramArrayOfSettableBeanProperty, AnnotatedMethod paramAnnotatedMethod)
{
super(paramBeanDeserializerBase);
this._delegate = paramBeanDeserializerBase;
this._orderedProperties = paramArrayOfSettableBeanProperty;
this._buildMethod = paramAnnotatedMethod;
}
项目:hypersocket-framework
文件:MigrationImpExpModule.java
@Override
public void setupModule(SetupContext context) {
context.addBeanDeserializerModifier(new BeanDeserializerModifier() {
@Override
public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) {
if(deserializer instanceof BeanDeserializer) {
return new MigrationBeanDeserializer((BeanDeserializerBase) deserializer, migrationCurrentStack);
}
return deserializer;
}
});
}
项目:codec
文件:CodecBeanDeserializerModifier.java
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config,
BeanDescription beanDesc,
JsonDeserializer<?> deserializer) {
JsonDeserializer<?> delegatee = deserializer.getDelegatee();
if (delegatee != null) {
JsonDeserializer<?> replacementDelegatee = modifyDeserializer(config, beanDesc, delegatee);
return deserializer.replaceDelegatee(replacementDelegatee);
} else if (deserializer instanceof BeanDeserializerBase) {
BeanDeserializerBase beanDeserializer = (BeanDeserializerBase) deserializer;
ObjectNode fieldDefaults = config.getNodeFactory().objectNode();
Iterator<SettableBeanProperty> propertyIterator = beanDeserializer.properties();
while (propertyIterator.hasNext()) {
SettableBeanProperty prop = propertyIterator.next();
Class<?> declaringClass = prop.getMember().getDeclaringClass();
String canonicalClassName = declaringClass.getCanonicalName();
if ((canonicalClassName != null) && globalDefaults.hasPath(canonicalClassName)) {
Config declarerDefaults = globalDefaults.getConfig(canonicalClassName);
String propertyName = prop.getName();
if (declarerDefaults.hasPath(propertyName)) {
ConfigValue defaultValue = declarerDefaults.getValue(propertyName);
JsonNode fieldDefault = Jackson.configConverter(defaultValue);
fieldDefaults.set(propertyName, fieldDefault);
}
}
}
return new CodecBeanDeserializer(beanDeserializer, fieldDefaults);
} else {
return deserializer;
}
}
项目:gvnix
文件:DataBinderBeanDeserializerModifier.java
@Override
public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config,
BeanDescription beanDesc, JsonDeserializer<?> deserializer) {
if (deserializer instanceof BeanDeserializerBase) {
return new DataBinderDeserializer(
(BeanDeserializerBase) deserializer);
}
// When there is no custom-deserializer implementation returns the
// default jackson deserializer
return deserializer;
}
项目:gvnix1
文件:DataBinderDeserializer.java
public DataBinderDeserializer(BeanDeserializerBase source) {
super(source);
}
项目:gvnix1
文件:DataBinderDeserializer.java
public DataBinderDeserializer(BeanDeserializerBase source,
ObjectIdReader objectIdReader) {
super(source, objectIdReader);
}
项目:gvnix1
文件:DataBinderDeserializer.java
public DataBinderDeserializer(BeanDeserializerBase source,
HashSet<String> ignorableProps) {
super(source, ignorableProps);
}
项目:gvnix1
文件:DataBinderDeserializer.java
/**
* {@inheritDoc}
*
* Uses {@link DataBinderDeserializer}
*/
@Override
public BeanDeserializerBase withIgnorableProperties(
HashSet<String> ignorableProps) {
return new DataBinderDeserializer(this, ignorableProps);
}
项目:gvnix1
文件:DataBinderDeserializer.java
/**
* {@inheritDoc}
*
* Not used
*/
@Override
protected BeanDeserializerBase asArrayDeserializer() {
// Not used
return null;
}
项目:requery
文件:EntityBeanDeserializer.java
EntityBeanDeserializer(BeanDeserializerBase source, ObjectIdReader reader) {
super(source, reader);
}
项目:QuizUpWinner
文件:BeanAsArrayDeserializer.java
public BeanAsArrayDeserializer(BeanDeserializerBase paramBeanDeserializerBase, SettableBeanProperty[] paramArrayOfSettableBeanProperty)
{
super(paramBeanDeserializerBase);
this._delegate = paramBeanDeserializerBase;
this._orderedProperties = paramArrayOfSettableBeanProperty;
}
项目:QuizUpWinner
文件:BeanAsArrayDeserializer.java
protected BeanDeserializerBase asArrayDeserializer()
{
return this;
}
项目:hypersocket-framework
文件:MigrationBeanDeserializer.java
public MigrationBeanDeserializer(BeanDeserializerBase src, MigrationCurrentStack migrationCurrentStack) {
super(src);
this.migrationCurrentStack = migrationCurrentStack;
}
项目:codec
文件:CodecTypeDeserializer.java
private boolean handleDefaultsAndImplicitPrimary(ObjectNode fieldValues,
ConfigObject aliasDefaults,
JsonDeserializer<?> deserializer,
DeserializationContext ctxt) throws JsonMappingException {
if (!aliasDefaults.isEmpty()) {
if (deserializer instanceof DelegatingDeserializer) {
deserializer = ((DelegatingDeserializer) deserializer).getDelegatee();
}
if ((deserializer instanceof BeanDeserializerBase) && (aliasDefaults.get("_primary") != null)) {
BeanDeserializerBase beanDeserializer = (BeanDeserializerBase) deserializer;
String primaryField = (String) aliasDefaults.get("_primary").unwrapped();
if (!fieldValues.has(primaryField)) {
// user has not explicitly set a value where _primary points, see if _primary is a plugin type
SettableBeanProperty primaryProperty = beanDeserializer.findProperty(primaryField);
if ((primaryProperty != null) && primaryProperty.hasValueTypeDeserializer()) {
TypeDeserializer primaryTypeDeserializer = primaryProperty.getValueTypeDeserializer();
if (primaryTypeDeserializer instanceof CodecTypeDeserializer) {
CodecTypeIdResolver primaryPropertyTypeIdResolver =
((CodecTypeDeserializer) primaryTypeDeserializer).idRes;
String possibleInlinedPrimary = null;
Iterator<String> fieldNames = fieldValues.fieldNames();
while (fieldNames.hasNext()) {
String fieldName = fieldNames.next();
if ((fieldName.charAt(0) != '_') && !beanDeserializer.hasProperty(fieldName)) {
if (primaryPropertyTypeIdResolver.isValidTypeId(fieldName)) {
if (possibleInlinedPrimary == null) {
possibleInlinedPrimary = fieldName;
} else {
String message = String.format(
"%s and %s are both otherwise unknown properties that "
+ "could be types for the _primary property %s whose category is "
+ "%s. This is too ambiguous to resolve.",
possibleInlinedPrimary, fieldName, primaryField,
((CodecTypeDeserializer) primaryTypeDeserializer)
.pluginMap.category());
JsonMappingException ex =
ctxt.instantiationException(_baseType.getRawClass(), message);
ex.prependPath(beanDeserializer.getValueType(), fieldName);
throw ex;
}
}
}
}
// did we find a good candidate?
if (possibleInlinedPrimary != null) {
// then wrap the value with its key (its type), and stash it in our primary field
JsonNode inlinedPrimaryValue = fieldValues.remove(possibleInlinedPrimary);
fieldValues.with(primaryField).set(possibleInlinedPrimary, inlinedPrimaryValue);
Jackson.merge(fieldValues, Jackson.configConverter(aliasDefaults));
return true;
}
}
}
}
}
// merge alias defaults here since we check for empty etc anyway
Jackson.merge(fieldValues, Jackson.configConverter(aliasDefaults));
}
return false;
}
项目:codec
文件:CodecBeanDeserializer.java
protected CodecBeanDeserializer(BeanDeserializerBase src, ObjectNode fieldDefaults) {
super(src);
this.fieldDefaults = fieldDefaults;
}
项目:codec
文件:CodecBeanDeserializer.java
@Override public BeanDeserializerBase getDelegatee() {
return (BeanDeserializerBase) _delegatee;
}
项目:codec
文件:CodecBeanDeserializer.java
@Override protected JsonDeserializer<?> newDelegatingInstance(JsonDeserializer<?> newDelegatee) {
return new CodecBeanDeserializer((BeanDeserializerBase) newDelegatee, fieldDefaults);
}
项目:gvnix
文件:DataBinderDeserializer.java
public DataBinderDeserializer(BeanDeserializerBase source) {
super(source);
}
项目:gvnix
文件:DataBinderDeserializer.java
public DataBinderDeserializer(BeanDeserializerBase source,
ObjectIdReader objectIdReader) {
super(source, objectIdReader);
}
项目:gvnix
文件:DataBinderDeserializer.java
public DataBinderDeserializer(BeanDeserializerBase source,
HashSet<String> ignorableProps) {
super(source, ignorableProps);
}
项目:gvnix
文件:DataBinderDeserializer.java
/**
* {@inheritDoc}
*
* Uses {@link DataBinderDeserializer}
*/
@Override
public BeanDeserializerBase withIgnorableProperties(
HashSet<String> ignorableProps) {
return new DataBinderDeserializer(this, ignorableProps);
}
项目:gvnix
文件:DataBinderDeserializer.java
/**
* {@inheritDoc}
*
* Not used
*/
@Override
protected BeanDeserializerBase asArrayDeserializer() {
// Not used
return null;
}
项目:gvnix1
文件:DataBinderDeserializer.java
/**
* {@inheritDoc}
*
* Uses {@link DataBinderDeserializer}
*/
@Override
public BeanDeserializerBase withObjectIdReader(ObjectIdReader objectIdReader) {
return new DataBinderDeserializer(this, objectIdReader);
}
项目:gvnix
文件:DataBinderDeserializer.java
/**
* {@inheritDoc}
*
* Uses {@link DataBinderDeserializer}
*/
@Override
public BeanDeserializerBase withObjectIdReader(ObjectIdReader objectIdReader) {
return new DataBinderDeserializer(this, objectIdReader);
}