public void fromAnnotations(Class<?> paramClass) { AnnotationIntrospector localAnnotationIntrospector = getAnnotationIntrospector(); AnnotatedClass localAnnotatedClass = AnnotatedClass.construct(paramClass, localAnnotationIntrospector, null); this._base = this._base.withVisibilityChecker(localAnnotationIntrospector.findAutoDetectVisibility(localAnnotatedClass, getDefaultVisibilityChecker())); JsonSerialize.Inclusion localInclusion = localAnnotationIntrospector.findSerializationInclusion(localAnnotatedClass, null); if (localInclusion != this._serializationInclusion) setSerializationInclusion(localInclusion); JsonSerialize.Typing localTyping = localAnnotationIntrospector.findSerializationTyping(localAnnotatedClass); Feature localFeature; if (localTyping != null) { localFeature = Feature.USE_STATIC_TYPING; if (localTyping != JsonSerialize.Typing.STATIC) break label92; } label92: for (boolean bool = true; ; bool = false) { set(localFeature, bool); return; } }
protected boolean usesStaticTyping(SerializationConfig paramSerializationConfig, BasicBeanDescription paramBasicBeanDescription, TypeSerializer paramTypeSerializer, BeanProperty paramBeanProperty) { if (paramTypeSerializer != null); AnnotationIntrospector localAnnotationIntrospector; JavaType localJavaType; do { do { do { return false; localAnnotationIntrospector = paramSerializationConfig.getAnnotationIntrospector(); JsonSerialize.Typing localTyping = localAnnotationIntrospector.findSerializationTyping(paramBasicBeanDescription.getClassInfo()); if (localTyping != null) { if (localTyping == JsonSerialize.Typing.STATIC) return true; } else if (paramSerializationConfig.isEnabled(SerializationConfig.Feature.USE_STATIC_TYPING)) return true; } while (paramBeanProperty == null); localJavaType = paramBeanProperty.getType(); } while (!localJavaType.isContainerType()); if (localAnnotationIntrospector.findSerializationContentType(paramBeanProperty.getMember(), paramBeanProperty.getType()) != null) return true; } while ((!(localJavaType instanceof MapType)) || (localAnnotationIntrospector.findSerializationKeyType(paramBeanProperty.getMember(), paramBeanProperty.getType()) == null)); return true; }
public JsonSerialize.Typing findSerializationTyping(Annotated paramAnnotated) { JsonSerialize localJsonSerialize = (JsonSerialize)paramAnnotated.getAnnotation(JsonSerialize.class); if (localJsonSerialize == null) return null; return localJsonSerialize.typing(); }
public JsonSerialize.Typing findSerializationTyping(Annotated paramAnnotated) { JsonSerialize.Typing localTyping = this._primary.findSerializationTyping(paramAnnotated); if (localTyping == null) localTyping = this._secondary.findSerializationTyping(paramAnnotated); return localTyping; }
protected JavaType findSerializationType(Annotated paramAnnotated, boolean paramBoolean, JavaType paramJavaType) { Class localClass1 = this._annotationIntrospector.findSerializationType(paramAnnotated); Class localClass2; if (localClass1 != null) { localClass2 = paramJavaType.getRawClass(); if (localClass1.isAssignableFrom(localClass2)) { paramJavaType = paramJavaType.widenBy(localClass1); paramBoolean = true; } } else { JavaType localJavaType = BeanSerializerFactory.modifySecondaryTypesByAnnotation(this._config, paramAnnotated, paramJavaType); if (localJavaType != paramJavaType) { paramBoolean = true; paramJavaType = localJavaType; } if (!paramBoolean) { JsonSerialize.Typing localTyping = this._annotationIntrospector.findSerializationTyping(paramAnnotated); if (localTyping != null) if (localTyping != JsonSerialize.Typing.STATIC) break label173; } } label173: for (paramBoolean = true; ; paramBoolean = false) { if (!paramBoolean) break label178; return paramJavaType; if (!localClass2.isAssignableFrom(localClass1)) throw new IllegalArgumentException("Illegal concrete-type annotation for method '" + paramAnnotated.getName() + "': class " + localClass1.getName() + " not a super-type of (declared) class " + localClass2.getName()); paramJavaType = paramJavaType.forcedNarrowBy(localClass1); break; } label178: return null; }
public JsonSerialize.Typing findSerializationTyping(Annotated paramAnnotated) { return null; }
@Override public Typing findSerializationTyping(Annotated a) { return null; }
protected JavaType findSerializationType(Annotated paramAnnotated, boolean paramBoolean, JavaType paramJavaType) { boolean bool1 = true; Class localClass1 = this._annotationIntrospector.findSerializationType(paramAnnotated); Class localClass2; Object localObject; if (localClass1 != null) { localClass2 = paramJavaType.getRawClass(); if (localClass1.isAssignableFrom(localClass2)) { localObject = paramJavaType.widenBy(localClass1); paramBoolean = bool1; } } while (true) { JavaType localJavaType = BeanSerializerFactory.modifySecondaryTypesByAnnotation(this._config, paramAnnotated, (JavaType)localObject); if (localJavaType != localObject) localObject = localJavaType; for (boolean bool2 = bool1; ; bool2 = paramBoolean) { if (!bool2) { JsonSerialize.Typing localTyping = this._annotationIntrospector.findSerializationTyping(paramAnnotated); if (localTyping != null) if (localTyping != JsonSerialize.Typing.STATIC); } while (true) { if (bool1) { return localObject; if (!localClass2.isAssignableFrom(localClass1)) throw new IllegalArgumentException("Illegal concrete-type annotation for method '" + paramAnnotated.getName() + "': class " + localClass1.getName() + " not a super-type of (declared) class " + localClass2.getName()); localObject = this._config.constructSpecializedType(paramJavaType, localClass1); break; bool1 = false; continue; } return null; bool1 = bool2; } } localObject = paramJavaType; } }
public abstract JsonSerialize.Typing findSerializationTyping(Annotated paramAnnotated);