.class public Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer; .super Lcom/fasterxml/jackson/databind/ser/std/StdScalarSerializer; .source "EnumSerializer.java" # interfaces .implements Lcom/fasterxml/jackson/databind/ser/ContextualSerializer; # annotations .annotation runtime Lcom/fasterxml/jackson/databind/annotation/JacksonStdImpl; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Lcom/fasterxml/jackson/databind/ser/std/StdScalarSerializer<", "Ljava/lang/Enum<", "*>;>;", "Lcom/fasterxml/jackson/databind/ser/ContextualSerializer;" } .end annotation # static fields .field private static final serialVersionUID:J = 0x1L # instance fields .field public final _serializeAsIndex:Ljava/lang/Boolean; .field public final _values:Lcom/fasterxml/jackson/databind/util/EnumValues; # direct methods .method public constructor (Lcom/fasterxml/jackson/databind/util/EnumValues;)V .locals 1 .annotation runtime Ljava/lang/Deprecated; .end annotation const/4 v0, 0x0 .line 1 invoke-direct {p0, p1, v0}, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->(Lcom/fasterxml/jackson/databind/util/EnumValues;Ljava/lang/Boolean;)V return-void .end method .method public constructor (Lcom/fasterxml/jackson/databind/util/EnumValues;Ljava/lang/Boolean;)V .locals 2 .line 2 invoke-virtual {p1}, Lcom/fasterxml/jackson/databind/util/EnumValues;->getEnumClass()Ljava/lang/Class; move-result-object v0 const/4 v1, 0x0 invoke-direct {p0, v0, v1}, Lcom/fasterxml/jackson/databind/ser/std/StdScalarSerializer;->(Ljava/lang/Class;Z)V .line 3 iput-object p1, p0, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_values:Lcom/fasterxml/jackson/databind/util/EnumValues; .line 4 iput-object p2, p0, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_serializeAsIndex:Ljava/lang/Boolean; return-void .end method .method public static _isShapeWrittenUsingIndex(Ljava/lang/Class;Lcom/fasterxml/jackson/annotation/JsonFormat$Value;Z)Ljava/lang/Boolean; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "*>;", "Lcom/fasterxml/jackson/annotation/JsonFormat$Value;", "Z)", "Ljava/lang/Boolean;" } .end annotation const/4 v0, 0x0 if-nez p1, :cond_0 move-object p1, v0 goto :goto_0 .line 1 :cond_0 invoke-virtual {p1}, Lcom/fasterxml/jackson/annotation/JsonFormat$Value;->getShape()Lcom/fasterxml/jackson/annotation/JsonFormat$Shape; move-result-object p1 :goto_0 if-nez p1, :cond_1 return-object v0 .line 2 :cond_1 sget-object v1, Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;->ANY:Lcom/fasterxml/jackson/annotation/JsonFormat$Shape; if-eq p1, v1, :cond_7 sget-object v1, Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;->SCALAR:Lcom/fasterxml/jackson/annotation/JsonFormat$Shape; if-ne p1, v1, :cond_2 goto :goto_3 .line 3 :cond_2 sget-object v0, Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;->STRING:Lcom/fasterxml/jackson/annotation/JsonFormat$Shape; if-ne p1, v0, :cond_3 .line 4 sget-object p0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean; return-object p0 .line 5 :cond_3 invoke-virtual {p1}, Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;->isNumeric()Z move-result v0 if-nez v0, :cond_6 sget-object v0, Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;->ARRAY:Lcom/fasterxml/jackson/annotation/JsonFormat$Shape; if-ne p1, v0, :cond_4 goto :goto_2 .line 6 :cond_4 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Unsupported serialization shape (" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p1, ") for Enum " invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object p0 invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p0, ", not supported as " invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; if-eqz p2, :cond_5 const-string p0, "class" goto :goto_1 :cond_5 const-string p0, "property" :goto_1 const-string p1, " annotation" invoke-static {v1, p0, p1}, Landroidx/camera/camera2/internal/b;->a(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .line 7 :cond_6 :goto_2 sget-object p0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean; return-object p0 :cond_7 :goto_3 return-object v0 .end method .method public static construct(Ljava/lang/Class;Lcom/fasterxml/jackson/databind/SerializationConfig;Lcom/fasterxml/jackson/databind/BeanDescription;Lcom/fasterxml/jackson/annotation/JsonFormat$Value;)Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "*>;", "Lcom/fasterxml/jackson/databind/SerializationConfig;", "Lcom/fasterxml/jackson/databind/BeanDescription;", "Lcom/fasterxml/jackson/annotation/JsonFormat$Value;", ")", "Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;" } .end annotation .line 1 invoke-static {p1, p0}, Lcom/fasterxml/jackson/databind/util/EnumValues;->constructFromName(Lcom/fasterxml/jackson/databind/cfg/MapperConfig;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/util/EnumValues; move-result-object p1 const/4 p2, 0x1 .line 2 invoke-static {p0, p3, p2}, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_isShapeWrittenUsingIndex(Ljava/lang/Class;Lcom/fasterxml/jackson/annotation/JsonFormat$Value;Z)Ljava/lang/Boolean; move-result-object p0 .line 3 new-instance p2, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer; invoke-direct {p2, p1, p0}, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->(Lcom/fasterxml/jackson/databind/util/EnumValues;Ljava/lang/Boolean;)V return-object p2 .end method # virtual methods .method public final _serializeAsIndex(Lcom/fasterxml/jackson/databind/SerializerProvider;)Z .locals 1 .line 1 iget-object v0, p0, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_serializeAsIndex:Ljava/lang/Boolean; if-eqz v0, :cond_0 .line 2 invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z move-result p1 return p1 .line 3 :cond_0 sget-object v0, Lcom/fasterxml/jackson/databind/SerializationFeature;->WRITE_ENUMS_USING_INDEX:Lcom/fasterxml/jackson/databind/SerializationFeature; invoke-virtual {p1, v0}, Lcom/fasterxml/jackson/databind/SerializerProvider;->isEnabled(Lcom/fasterxml/jackson/databind/SerializationFeature;)Z move-result p1 return p1 .end method .method public acceptJsonFormatVisitor(Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;Lcom/fasterxml/jackson/databind/JavaType;)V .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Lcom/fasterxml/jackson/databind/JsonMappingException; } .end annotation .line 1 invoke-interface {p1}, Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWithSerializerProvider;->getProvider()Lcom/fasterxml/jackson/databind/SerializerProvider; move-result-object v0 .line 2 invoke-virtual {p0, v0}, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_serializeAsIndex(Lcom/fasterxml/jackson/databind/SerializerProvider;)Z move-result v1 if-eqz v1, :cond_0 .line 3 sget-object v0, Lcom/fasterxml/jackson/core/JsonParser$NumberType;->INT:Lcom/fasterxml/jackson/core/JsonParser$NumberType; invoke-virtual {p0, p1, p2, v0}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->visitIntFormat(Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/core/JsonParser$NumberType;)V return-void .line 4 :cond_0 invoke-interface {p1, p2}, Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;->expectStringFormat(Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonStringFormatVisitor; move-result-object p1 if-eqz p1, :cond_3 .line 5 new-instance p2, Ljava/util/LinkedHashSet; invoke-direct {p2}, Ljava/util/LinkedHashSet;->()V if-eqz v0, :cond_1 .line 6 sget-object v1, Lcom/fasterxml/jackson/databind/SerializationFeature;->WRITE_ENUMS_USING_TO_STRING:Lcom/fasterxml/jackson/databind/SerializationFeature; invoke-virtual {v0, v1}, Lcom/fasterxml/jackson/databind/SerializerProvider;->isEnabled(Lcom/fasterxml/jackson/databind/SerializationFeature;)Z move-result v0 if-eqz v0, :cond_1 .line 7 iget-object v0, p0, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_values:Lcom/fasterxml/jackson/databind/util/EnumValues; invoke-virtual {v0}, Lcom/fasterxml/jackson/databind/util/EnumValues;->enums()Ljava/util/List; move-result-object v0 invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/Enum; .line 8 invoke-virtual {v1}, Ljava/lang/Enum;->toString()Ljava/lang/String; move-result-object v1 invoke-interface {p2, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z goto :goto_0 .line 9 :cond_1 iget-object v0, p0, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_values:Lcom/fasterxml/jackson/databind/util/EnumValues; invoke-virtual {v0}, Lcom/fasterxml/jackson/databind/util/EnumValues;->values()Ljava/util/Collection; move-result-object v0 invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_1 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/fasterxml/jackson/core/SerializableString; .line 10 invoke-interface {v1}, Lcom/fasterxml/jackson/core/SerializableString;->getValue()Ljava/lang/String; move-result-object v1 invoke-interface {p2, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z goto :goto_1 .line 11 :cond_2 invoke-interface {p1, p2}, Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonValueFormatVisitor;->enumTypes(Ljava/util/Set;)V :cond_3 return-void .end method .method public createContextual(Lcom/fasterxml/jackson/databind/SerializerProvider;Lcom/fasterxml/jackson/databind/BeanProperty;)Lcom/fasterxml/jackson/databind/JsonSerializer; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/fasterxml/jackson/databind/SerializerProvider;", "Lcom/fasterxml/jackson/databind/BeanProperty;", ")", "Lcom/fasterxml/jackson/databind/JsonSerializer<", "*>;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Lcom/fasterxml/jackson/databind/JsonMappingException; } .end annotation if-eqz p2, :cond_0 .line 1 invoke-virtual {p1}, Lcom/fasterxml/jackson/databind/SerializerProvider;->getAnnotationIntrospector()Lcom/fasterxml/jackson/databind/AnnotationIntrospector; move-result-object p1 invoke-interface {p2}, Lcom/fasterxml/jackson/databind/BeanProperty;->getMember()Lcom/fasterxml/jackson/databind/introspect/AnnotatedMember; move-result-object v0 invoke-virtual {p1, v0}, Lcom/fasterxml/jackson/databind/AnnotationIntrospector;->findFormat(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Lcom/fasterxml/jackson/annotation/JsonFormat$Value; move-result-object p1 if-eqz p1, :cond_0 .line 2 invoke-interface {p2}, Lcom/fasterxml/jackson/databind/BeanProperty;->getType()Lcom/fasterxml/jackson/databind/JavaType; move-result-object p2 invoke-virtual {p2}, Lcom/fasterxml/jackson/databind/JavaType;->getRawClass()Ljava/lang/Class; move-result-object p2 const/4 v0, 0x0 invoke-static {p2, p1, v0}, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_isShapeWrittenUsingIndex(Ljava/lang/Class;Lcom/fasterxml/jackson/annotation/JsonFormat$Value;Z)Ljava/lang/Boolean; move-result-object p1 .line 3 iget-object p2, p0, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_serializeAsIndex:Ljava/lang/Boolean; if-eq p1, p2, :cond_0 .line 4 new-instance p2, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer; iget-object v0, p0, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_values:Lcom/fasterxml/jackson/databind/util/EnumValues; invoke-direct {p2, v0, p1}, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->(Lcom/fasterxml/jackson/databind/util/EnumValues;Ljava/lang/Boolean;)V return-object p2 :cond_0 return-object p0 .end method .method public getEnumValues()Lcom/fasterxml/jackson/databind/util/EnumValues; .locals 1 .line 1 iget-object v0, p0, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_values:Lcom/fasterxml/jackson/databind/util/EnumValues; return-object v0 .end method .method public getSchema(Lcom/fasterxml/jackson/databind/SerializerProvider;Ljava/lang/reflect/Type;)Lcom/fasterxml/jackson/databind/JsonNode; .locals 2 .line 1 invoke-virtual {p0, p1}, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_serializeAsIndex(Lcom/fasterxml/jackson/databind/SerializerProvider;)Z move-result v0 const/4 v1, 0x1 if-eqz v0, :cond_0 const-string p1, "integer" .line 2 invoke-virtual {p0, p1, v1}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->createSchemaNode(Ljava/lang/String;Z)Lcom/fasterxml/jackson/databind/node/ObjectNode; move-result-object p1 return-object p1 :cond_0 const-string v0, "string" .line 3 invoke-virtual {p0, v0, v1}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->createSchemaNode(Ljava/lang/String;Z)Lcom/fasterxml/jackson/databind/node/ObjectNode; move-result-object v0 if-eqz p2, :cond_1 .line 4 invoke-virtual {p1, p2}, Lcom/fasterxml/jackson/databind/DatabindContext;->constructType(Ljava/lang/reflect/Type;)Lcom/fasterxml/jackson/databind/JavaType; move-result-object p1 .line 5 invoke-virtual {p1}, Lcom/fasterxml/jackson/databind/JavaType;->isEnumType()Z move-result p1 if-eqz p1, :cond_1 const-string p1, "enum" .line 6 invoke-virtual {v0, p1}, Lcom/fasterxml/jackson/databind/node/ObjectNode;->putArray(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/node/ArrayNode; move-result-object p1 .line 7 iget-object p2, p0, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_values:Lcom/fasterxml/jackson/databind/util/EnumValues; invoke-virtual {p2}, Lcom/fasterxml/jackson/databind/util/EnumValues;->values()Ljava/util/Collection; move-result-object p2 invoke-interface {p2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p2 :goto_0 invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/fasterxml/jackson/core/SerializableString; .line 8 invoke-interface {v1}, Lcom/fasterxml/jackson/core/SerializableString;->getValue()Ljava/lang/String; move-result-object v1 invoke-virtual {p1, v1}, Lcom/fasterxml/jackson/databind/node/ArrayNode;->add(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/node/ArrayNode; goto :goto_0 :cond_1 return-object v0 .end method .method public final serialize(Ljava/lang/Enum;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Enum<", "*>;", "Lcom/fasterxml/jackson/core/JsonGenerator;", "Lcom/fasterxml/jackson/databind/SerializerProvider;", ")V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 2 invoke-virtual {p0, p3}, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_serializeAsIndex(Lcom/fasterxml/jackson/databind/SerializerProvider;)Z move-result v0 if-eqz v0, :cond_0 .line 3 invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I move-result p1 invoke-virtual {p2, p1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeNumber(I)V return-void .line 4 :cond_0 sget-object v0, Lcom/fasterxml/jackson/databind/SerializationFeature;->WRITE_ENUMS_USING_TO_STRING:Lcom/fasterxml/jackson/databind/SerializationFeature; invoke-virtual {p3, v0}, Lcom/fasterxml/jackson/databind/SerializerProvider;->isEnabled(Lcom/fasterxml/jackson/databind/SerializationFeature;)Z move-result p3 if-eqz p3, :cond_1 .line 5 invoke-virtual {p1}, Ljava/lang/Enum;->toString()Ljava/lang/String; move-result-object p1 invoke-virtual {p2, p1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeString(Ljava/lang/String;)V return-void .line 6 :cond_1 iget-object p3, p0, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->_values:Lcom/fasterxml/jackson/databind/util/EnumValues; invoke-virtual {p3, p1}, Lcom/fasterxml/jackson/databind/util/EnumValues;->serializedValueFor(Ljava/lang/Enum;)Lcom/fasterxml/jackson/core/SerializableString; move-result-object p1 invoke-virtual {p2, p1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeString(Lcom/fasterxml/jackson/core/SerializableString;)V return-void .end method .method public bridge synthetic serialize(Ljava/lang/Object;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 check-cast p1, Ljava/lang/Enum; invoke-virtual {p0, p1, p2, p3}, Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;->serialize(Ljava/lang/Enum;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V return-void .end method