.class public Li7/b; .super Ljava/lang/Object; .source "BeanField.java" # instance fields .field public final a:Ljava/lang/reflect/Field; .field public final b:Z # direct methods .method public constructor (Ljava/lang/reflect/Field;Z)V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 iput-object p1, p0, Li7/b;->a:Ljava/lang/reflect/Field; .line 3 iput-boolean p2, p0, Li7/b;->b:Z return-void .end method # virtual methods .method public a()Ljava/lang/reflect/Field; .locals 1 .line 1 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; return-object v0 .end method .method public b()Z .locals 1 .line 1 iget-boolean v0, p0, Li7/b;->b:Z return v0 .end method .method public c(Ljava/lang/Object;Ljava/lang/String;)V .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(TT;", "Ljava/lang/String;", ")V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/IllegalAccessException; } .end annotation .line 1 iget-boolean v0, p0, Li7/b;->b:Z const/4 v1, 0x0 const/4 v2, 0x1 if-eqz v0, :cond_1 invoke-static {p2}, Lorg/apache/commons/lang3/StringUtils;->isBlank(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_0 goto :goto_0 .line 2 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-array p2, v2, [Ljava/lang/Object; iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {v0}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String; move-result-object v0 aput-object v0, p2, v1 const-string v0, "Field \'%s\' is mandatory but no value was provided." invoke-static {v0, p2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .line 3 :cond_1 :goto_0 invoke-static {p2}, Lorg/apache/commons/lang3/StringUtils;->isNotBlank(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_b .line 4 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {v0}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class; move-result-object v0 .line 5 iget-object v3, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {v3, v2}, Ljava/lang/reflect/Field;->setAccessible(Z)V .line 6 sget-object v3, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class; invoke-virtual {v0, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_2 .line 7 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Ljava/lang/String;)Ljava/lang/Boolean; move-result-object p2 invoke-virtual {p2}, Ljava/lang/Boolean;->booleanValue()Z move-result p2 invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Field;->setBoolean(Ljava/lang/Object;Z)V goto/16 :goto_1 .line 8 :cond_2 sget-object v3, Ljava/lang/Byte;->TYPE:Ljava/lang/Class; invoke-virtual {v0, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_3 .line 9 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 invoke-static {p2}, Ljava/lang/Byte;->valueOf(Ljava/lang/String;)Ljava/lang/Byte; move-result-object p2 invoke-virtual {p2}, Ljava/lang/Byte;->byteValue()B move-result p2 invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Field;->setByte(Ljava/lang/Object;B)V goto/16 :goto_1 .line 10 :cond_3 sget-object v3, Ljava/lang/Double;->TYPE:Ljava/lang/Class; invoke-virtual {v0, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_4 .line 11 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 invoke-static {p2}, Ljava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double; move-result-object p2 invoke-virtual {p2}, Ljava/lang/Double;->doubleValue()D move-result-wide v1 invoke-virtual {v0, p1, v1, v2}, Ljava/lang/reflect/Field;->setDouble(Ljava/lang/Object;D)V goto/16 :goto_1 .line 12 :cond_4 sget-object v3, Ljava/lang/Float;->TYPE:Ljava/lang/Class; invoke-virtual {v0, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_5 .line 13 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 invoke-static {p2}, Ljava/lang/Float;->valueOf(Ljava/lang/String;)Ljava/lang/Float; move-result-object p2 invoke-virtual {p2}, Ljava/lang/Float;->floatValue()F move-result p2 invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Field;->setFloat(Ljava/lang/Object;F)V goto/16 :goto_1 .line 14 :cond_5 sget-object v3, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; invoke-virtual {v0, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_6 .line 15 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 invoke-static {p2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result p2 invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Field;->setInt(Ljava/lang/Object;I)V goto :goto_1 .line 16 :cond_6 sget-object v3, Ljava/lang/Long;->TYPE:Ljava/lang/Class; invoke-virtual {v0, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_7 .line 17 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 invoke-static {p2}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J move-result-wide v1 invoke-virtual {v0, p1, v1, v2}, Ljava/lang/reflect/Field;->setLong(Ljava/lang/Object;J)V goto :goto_1 .line 18 :cond_7 sget-object v3, Ljava/lang/Short;->TYPE:Ljava/lang/Class; invoke-virtual {v0, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_8 .line 19 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 invoke-static {p2}, Ljava/lang/Short;->valueOf(Ljava/lang/String;)Ljava/lang/Short; move-result-object p2 invoke-virtual {p2}, Ljava/lang/Short;->shortValue()S move-result p2 invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Field;->setShort(Ljava/lang/Object;S)V goto :goto_1 .line 20 :cond_8 sget-object v3, Ljava/lang/Character;->TYPE:Ljava/lang/Class; invoke-virtual {v0, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_9 .line 21 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {p2, v1}, Ljava/lang/String;->charAt(I)C move-result p2 invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Field;->setChar(Ljava/lang/Object;C)V goto :goto_1 .line 22 :cond_9 const-class v3, Ljava/lang/String; invoke-virtual {v0, v3}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z move-result v3 if-eqz v3, :cond_a .line 23 iget-object v0, p0, Li7/b;->a:Ljava/lang/reflect/Field; invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V goto :goto_1 .line 24 :cond_a new-instance p1, Ljava/lang/IllegalStateException; const/4 v3, 0x2 new-array v3, v3, [Ljava/lang/Object; aput-object v0, v3, v1 aput-object p2, v3, v2 const-string p2, "Unable to set field value for field \'%s\' with value \'%s\' - type is unsupported. Use primitive and String types only." invoke-static {p2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_b :goto_1 return-void .end method