.class public Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer; .super Lcom/fasterxml/jackson/databind/ser/std/ArraySerializerBase; .source "StringArraySerializer.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/ArraySerializerBase<", "[", "Ljava/lang/String;", ">;", "Lcom/fasterxml/jackson/databind/ser/ContextualSerializer;" } .end annotation # static fields .field private static final VALUE_TYPE:Lcom/fasterxml/jackson/databind/JavaType; .field public static final instance:Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer; # instance fields .field public final _elementSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/fasterxml/jackson/databind/JsonSerializer<", "Ljava/lang/Object;", ">;" } .end annotation .end field # direct methods .method public static constructor ()V .locals 2 .line 1 invoke-static {}, Lcom/fasterxml/jackson/databind/type/TypeFactory;->defaultInstance()Lcom/fasterxml/jackson/databind/type/TypeFactory; move-result-object v0 const-class v1, Ljava/lang/String; invoke-virtual {v0, v1}, Lcom/fasterxml/jackson/databind/type/TypeFactory;->uncheckedSimpleType(Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/JavaType; move-result-object v0 sput-object v0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->VALUE_TYPE:Lcom/fasterxml/jackson/databind/JavaType; .line 2 new-instance v0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer; invoke-direct {v0}, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->()V sput-object v0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->instance:Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer; return-void .end method .method public constructor ()V .locals 1 .line 1 const-class v0, [Ljava/lang/String; invoke-direct {p0, v0}, Lcom/fasterxml/jackson/databind/ser/std/ArraySerializerBase;->(Ljava/lang/Class;)V const/4 v0, 0x0 .line 2 iput-object v0, p0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->_elementSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer; return-void .end method .method public constructor (Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;Lcom/fasterxml/jackson/databind/BeanProperty;Lcom/fasterxml/jackson/databind/JsonSerializer;Ljava/lang/Boolean;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;", "Lcom/fasterxml/jackson/databind/BeanProperty;", "Lcom/fasterxml/jackson/databind/JsonSerializer<", "*>;", "Ljava/lang/Boolean;", ")V" } .end annotation .line 3 invoke-direct {p0, p1, p2, p4}, Lcom/fasterxml/jackson/databind/ser/std/ArraySerializerBase;->(Lcom/fasterxml/jackson/databind/ser/std/ArraySerializerBase;Lcom/fasterxml/jackson/databind/BeanProperty;Ljava/lang/Boolean;)V .line 4 iput-object p3, p0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->_elementSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer; return-void .end method .method private serializeContentsSlow([Ljava/lang/String;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;Lcom/fasterxml/jackson/databind/JsonSerializer;)V .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "([", "Ljava/lang/String;", "Lcom/fasterxml/jackson/core/JsonGenerator;", "Lcom/fasterxml/jackson/databind/SerializerProvider;", "Lcom/fasterxml/jackson/databind/JsonSerializer<", "Ljava/lang/Object;", ">;)V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 array-length v0, p1 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 .line 2 aget-object v2, p1, v1 if-nez v2, :cond_0 .line 3 invoke-virtual {p3, p2}, Lcom/fasterxml/jackson/databind/SerializerProvider;->defaultSerializeNull(Lcom/fasterxml/jackson/core/JsonGenerator;)V goto :goto_1 .line 4 :cond_0 aget-object v2, p1, v1 invoke-virtual {p4, v2, p2, p3}, Lcom/fasterxml/jackson/databind/JsonSerializer;->serialize(Ljava/lang/Object;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V :goto_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 return-void .end method # virtual methods .method public _withResolved(Lcom/fasterxml/jackson/databind/BeanProperty;Ljava/lang/Boolean;)Lcom/fasterxml/jackson/databind/JsonSerializer; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/fasterxml/jackson/databind/BeanProperty;", "Ljava/lang/Boolean;", ")", "Lcom/fasterxml/jackson/databind/JsonSerializer<", "*>;" } .end annotation .line 1 new-instance v0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer; iget-object v1, p0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->_elementSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer; invoke-direct {v0, p0, p1, v1, p2}, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->(Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;Lcom/fasterxml/jackson/databind/BeanProperty;Lcom/fasterxml/jackson/databind/JsonSerializer;Ljava/lang/Boolean;)V return-object v0 .end method .method public _withValueTypeSerializer(Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;)Lcom/fasterxml/jackson/databind/ser/ContainerSerializer; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;", ")", "Lcom/fasterxml/jackson/databind/ser/ContainerSerializer<", "*>;" } .end annotation return-object p0 .end method .method public acceptJsonFormatVisitor(Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;Lcom/fasterxml/jackson/databind/JavaType;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Lcom/fasterxml/jackson/databind/JsonMappingException; } .end annotation .line 1 sget-object v0, Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatTypes;->STRING:Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatTypes; invoke-virtual {p0, p1, p2, v0}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->visitArrayFormat(Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatTypes;)V return-void .end method .method public createContextual(Lcom/fasterxml/jackson/databind/SerializerProvider;Lcom/fasterxml/jackson/databind/BeanProperty;)Lcom/fasterxml/jackson/databind/JsonSerializer; .locals 4 .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 const/4 v0, 0x0 if-eqz p2, :cond_0 .line 1 invoke-virtual {p1}, Lcom/fasterxml/jackson/databind/SerializerProvider;->getAnnotationIntrospector()Lcom/fasterxml/jackson/databind/AnnotationIntrospector; move-result-object v1 .line 2 invoke-interface {p2}, Lcom/fasterxml/jackson/databind/BeanProperty;->getMember()Lcom/fasterxml/jackson/databind/introspect/AnnotatedMember; move-result-object v2 if-eqz v2, :cond_0 .line 3 invoke-virtual {v1, v2}, Lcom/fasterxml/jackson/databind/AnnotationIntrospector;->findContentSerializer(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Object; move-result-object v1 if-eqz v1, :cond_0 .line 4 invoke-virtual {p1, v2, v1}, Lcom/fasterxml/jackson/databind/SerializerProvider;->serializerInstance(Lcom/fasterxml/jackson/databind/introspect/Annotated;Ljava/lang/Object;)Lcom/fasterxml/jackson/databind/JsonSerializer; move-result-object v1 goto :goto_0 :cond_0 move-object v1, v0 .line 5 :goto_0 const-class v2, [Ljava/lang/String; sget-object v3, Lcom/fasterxml/jackson/annotation/JsonFormat$Feature;->WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED:Lcom/fasterxml/jackson/annotation/JsonFormat$Feature; invoke-virtual {p0, p1, p2, v2, v3}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->findFormatFeature(Lcom/fasterxml/jackson/databind/SerializerProvider;Lcom/fasterxml/jackson/databind/BeanProperty;Ljava/lang/Class;Lcom/fasterxml/jackson/annotation/JsonFormat$Feature;)Ljava/lang/Boolean; move-result-object v2 if-nez v1, :cond_1 .line 6 iget-object v1, p0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->_elementSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer; .line 7 :cond_1 invoke-virtual {p0, p1, p2, v1}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->findConvertingContentSerializer(Lcom/fasterxml/jackson/databind/SerializerProvider;Lcom/fasterxml/jackson/databind/BeanProperty;Lcom/fasterxml/jackson/databind/JsonSerializer;)Lcom/fasterxml/jackson/databind/JsonSerializer; move-result-object v1 if-nez v1, :cond_2 .line 8 const-class v1, Ljava/lang/String; invoke-virtual {p1, v1, p2}, Lcom/fasterxml/jackson/databind/SerializerProvider;->findValueSerializer(Ljava/lang/Class;Lcom/fasterxml/jackson/databind/BeanProperty;)Lcom/fasterxml/jackson/databind/JsonSerializer; move-result-object p1 goto :goto_1 .line 9 :cond_2 invoke-virtual {p1, v1, p2}, Lcom/fasterxml/jackson/databind/SerializerProvider;->handleSecondaryContextualization(Lcom/fasterxml/jackson/databind/JsonSerializer;Lcom/fasterxml/jackson/databind/BeanProperty;)Lcom/fasterxml/jackson/databind/JsonSerializer; move-result-object p1 .line 10 :goto_1 invoke-virtual {p0, p1}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->isDefaultSerializer(Lcom/fasterxml/jackson/databind/JsonSerializer;)Z move-result v1 if-eqz v1, :cond_3 goto :goto_2 :cond_3 move-object v0, p1 .line 11 :goto_2 iget-object p1, p0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->_elementSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer; if-ne v0, p1, :cond_4 iget-object p1, p0, Lcom/fasterxml/jackson/databind/ser/std/ArraySerializerBase;->_unwrapSingle:Ljava/lang/Boolean; if-ne v2, p1, :cond_4 return-object p0 .line 12 :cond_4 new-instance p1, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer; invoke-direct {p1, p0, p2, v0, v2}, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->(Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;Lcom/fasterxml/jackson/databind/BeanProperty;Lcom/fasterxml/jackson/databind/JsonSerializer;Ljava/lang/Boolean;)V return-object p1 .end method .method public getContentSerializer()Lcom/fasterxml/jackson/databind/JsonSerializer; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/fasterxml/jackson/databind/JsonSerializer<", "*>;" } .end annotation .line 1 iget-object v0, p0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->_elementSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer; return-object v0 .end method .method public getContentType()Lcom/fasterxml/jackson/databind/JavaType; .locals 1 .line 1 sget-object v0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->VALUE_TYPE:Lcom/fasterxml/jackson/databind/JavaType; return-object v0 .end method .method public getSchema(Lcom/fasterxml/jackson/databind/SerializerProvider;Ljava/lang/reflect/Type;)Lcom/fasterxml/jackson/databind/JsonNode; .locals 1 const-string p1, "array" const/4 p2, 0x1 .line 1 invoke-virtual {p0, p1, p2}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->createSchemaNode(Ljava/lang/String;Z)Lcom/fasterxml/jackson/databind/node/ObjectNode; move-result-object p1 const-string p2, "string" invoke-virtual {p0, p2}, Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;->createSchemaNode(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/node/ObjectNode; move-result-object p2 const-string v0, "items" invoke-virtual {p1, v0, p2}, Lcom/fasterxml/jackson/databind/node/ObjectNode;->set(Ljava/lang/String;Lcom/fasterxml/jackson/databind/JsonNode;)Lcom/fasterxml/jackson/databind/JsonNode; move-result-object p1 return-object p1 .end method .method public bridge synthetic hasSingleElement(Ljava/lang/Object;)Z .locals 0 .line 1 check-cast p1, [Ljava/lang/String; invoke-virtual {p0, p1}, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->hasSingleElement([Ljava/lang/String;)Z move-result p1 return p1 .end method .method public hasSingleElement([Ljava/lang/String;)Z .locals 1 .line 2 array-length p1, p1 const/4 v0, 0x1 if-ne p1, v0, :cond_0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public bridge synthetic isEmpty(Lcom/fasterxml/jackson/databind/SerializerProvider;Ljava/lang/Object;)Z .locals 0 .line 1 check-cast p2, [Ljava/lang/String; invoke-virtual {p0, p1, p2}, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->isEmpty(Lcom/fasterxml/jackson/databind/SerializerProvider;[Ljava/lang/String;)Z move-result p1 return p1 .end method .method public isEmpty(Lcom/fasterxml/jackson/databind/SerializerProvider;[Ljava/lang/String;)Z .locals 0 if-eqz p2, :cond_1 .line 2 array-length p1, p2 if-nez p1, :cond_0 goto :goto_0 :cond_0 const/4 p1, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p1, 0x1 :goto_1 return p1 .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/String; invoke-virtual {p0, p1, p2, p3}, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->serialize([Ljava/lang/String;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V return-void .end method .method public final serialize([Ljava/lang/String;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V .locals 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 2 array-length v0, p1 const/4 v1, 0x1 if-ne v0, v1, :cond_2 .line 3 iget-object v1, p0, Lcom/fasterxml/jackson/databind/ser/std/ArraySerializerBase;->_unwrapSingle:Ljava/lang/Boolean; if-nez v1, :cond_0 sget-object v1, Lcom/fasterxml/jackson/databind/SerializationFeature;->WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED:Lcom/fasterxml/jackson/databind/SerializationFeature; invoke-virtual {p3, v1}, Lcom/fasterxml/jackson/databind/SerializerProvider;->isEnabled(Lcom/fasterxml/jackson/databind/SerializationFeature;)Z move-result v1 if-nez v1, :cond_1 :cond_0 iget-object v1, p0, Lcom/fasterxml/jackson/databind/ser/std/ArraySerializerBase;->_unwrapSingle:Ljava/lang/Boolean; sget-object v2, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean; if-ne v1, v2, :cond_2 .line 4 :cond_1 invoke-virtual {p0, p1, p2, p3}, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->serializeContents([Ljava/lang/String;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V return-void .line 5 :cond_2 invoke-virtual {p2, v0}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeStartArray(I)V .line 6 invoke-virtual {p0, p1, p2, p3}, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->serializeContents([Ljava/lang/String;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V .line 7 invoke-virtual {p2}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeEndArray()V return-void .end method .method public bridge synthetic serializeContents(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/String; invoke-virtual {p0, p1, p2, p3}, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->serializeContents([Ljava/lang/String;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V return-void .end method .method public serializeContents([Ljava/lang/String;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 2 array-length v0, p1 if-nez v0, :cond_0 return-void .line 3 :cond_0 iget-object v1, p0, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->_elementSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer; if-eqz v1, :cond_1 .line 4 invoke-direct {p0, p1, p2, p3, v1}, Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;->serializeContentsSlow([Ljava/lang/String;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;Lcom/fasterxml/jackson/databind/JsonSerializer;)V return-void :cond_1 const/4 p3, 0x0 :goto_0 if-ge p3, v0, :cond_3 .line 5 aget-object v1, p1, p3 if-nez v1, :cond_2 .line 6 invoke-virtual {p2}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeNull()V goto :goto_1 .line 7 :cond_2 aget-object v1, p1, p3 invoke-virtual {p2, v1}, Lcom/fasterxml/jackson/core/JsonGenerator;->writeString(Ljava/lang/String;)V :goto_1 add-int/lit8 p3, p3, 0x1 goto :goto_0 :cond_3 return-void .end method