package com.fasterxml.jackson.databind.introspect; import com.fasterxml.jackson.databind.util.ClassUtil; import java.io.Serializable; import java.lang.annotation.Annotation; import java.lang.reflect.Field; import java.lang.reflect.Member; import java.lang.reflect.Type; public final class AnnotatedField extends AnnotatedMember implements Serializable { private static final long serialVersionUID = 7364428299211355871L; protected final transient Field _field; protected Serialization _serialization; public AnnotatedField(Field field, AnnotationMap annotationMap) { super(annotationMap); this._field = field; } @Override // com.fasterxml.jackson.databind.introspect.Annotated public AnnotatedField withAnnotations(AnnotationMap annotationMap) { return new AnnotatedField(this._field, annotationMap); } protected AnnotatedField(Serialization serialization) { super(null); this._field = null; this._serialization = serialization; } @Override // com.fasterxml.jackson.databind.introspect.Annotated public Field getAnnotated() { return this._field; } @Override // com.fasterxml.jackson.databind.introspect.Annotated public int getModifiers() { return this._field.getModifiers(); } @Override // com.fasterxml.jackson.databind.introspect.Annotated public String getName() { return this._field.getName(); } @Override // com.fasterxml.jackson.databind.introspect.Annotated public <A extends Annotation> A getAnnotation(Class<A> cls) { if (this._annotations == null) { return null; } return (A) this._annotations.get(cls); } @Override // com.fasterxml.jackson.databind.introspect.Annotated public Type getGenericType() { return this._field.getGenericType(); } @Override // com.fasterxml.jackson.databind.introspect.Annotated public Class<?> getRawType() { return this._field.getType(); } @Override // com.fasterxml.jackson.databind.introspect.AnnotatedMember public Class<?> getDeclaringClass() { return this._field.getDeclaringClass(); } @Override // com.fasterxml.jackson.databind.introspect.AnnotatedMember public Member getMember() { return this._field; } @Override // com.fasterxml.jackson.databind.introspect.AnnotatedMember public void setValue(Object obj, Object obj2) throws IllegalArgumentException { try { this._field.set(obj, obj2); } catch (IllegalAccessException e) { throw new IllegalArgumentException("Failed to setValue() for field " + getFullName() + ": " + e.getMessage(), e); } } @Override // com.fasterxml.jackson.databind.introspect.AnnotatedMember public Object getValue(Object obj) throws IllegalArgumentException { try { return this._field.get(obj); } catch (IllegalAccessException e) { throw new IllegalArgumentException("Failed to getValue() for field " + getFullName() + ": " + e.getMessage(), e); } } public String getFullName() { return getDeclaringClass().getName() + "#" + getName(); } public int getAnnotationCount() { return this._annotations.size(); } public String toString() { return "[field " + getFullName() + "]"; } /* access modifiers changed from: package-private */ public Object writeReplace() { return new AnnotatedField(new Serialization(this._field)); } /* access modifiers changed from: package-private */ public Object readResolve() { Class<?> cls = this._serialization.clazz; try { Field declaredField = cls.getDeclaredField(this._serialization.name); if (!declaredField.isAccessible()) { ClassUtil.checkAndFixAccess(declaredField); } return new AnnotatedField(declaredField, null); } catch (Exception unused) { throw new IllegalArgumentException("Could not find method '" + this._serialization.name + "' from Class '" + cls.getName()); } } private static final class Serialization implements Serializable { private static final long serialVersionUID = 1; protected Class<?> clazz; protected String name; public Serialization(Field field) { this.clazz = field.getDeclaringClass(); this.name = field.getName(); } } }