.class public Lcom/thoughtworks/xstream/converters/enums/EnumSingleValueConverter; .super Lcom/thoughtworks/xstream/converters/basic/AbstractSingleValueConverter; .source "EnumSingleValueConverter.java" # instance fields .field private final enumType:Ljava/lang/Class; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/Class<", "+", "Ljava/lang/Enum;", ">;" } .end annotation .end field # direct methods .method public constructor (Ljava/lang/Class;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "+", "Ljava/lang/Enum;", ">;)V" } .end annotation .line 1 const-class v0, Ljava/lang/Enum; invoke-direct {p0}, Lcom/thoughtworks/xstream/converters/basic/AbstractSingleValueConverter;->()V .line 2 invoke-virtual {v0, p1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z move-result v1 if-nez v1, :cond_1 if-ne p1, v0, :cond_0 goto :goto_0 .line 3 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "Converter can only handle defined enums" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 4 :cond_1 :goto_0 iput-object p1, p0, Lcom/thoughtworks/xstream/converters/enums/EnumSingleValueConverter;->enumType:Ljava/lang/Class; return-void .end method # virtual methods .method public canConvert(Ljava/lang/Class;)Z .locals 1 .line 1 iget-object v0, p0, Lcom/thoughtworks/xstream/converters/enums/EnumSingleValueConverter;->enumType:Ljava/lang/Class; invoke-virtual {v0, p1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z move-result p1 return p1 .end method .method public fromString(Ljava/lang/String;)Ljava/lang/Object; .locals 1 .line 1 iget-object v0, p0, Lcom/thoughtworks/xstream/converters/enums/EnumSingleValueConverter;->enumType:Ljava/lang/Class; invoke-static {v0, p1}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; move-result-object p1 return-object p1 .end method .method public toString(Ljava/lang/Object;)Ljava/lang/String; .locals 1 .line 1 const-class v0, Ljava/lang/Enum; invoke-virtual {v0, p1}, Ljava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/lang/Enum; invoke-virtual {p1}, Ljava/lang/Enum;->name()Ljava/lang/String; move-result-object p1 return-object p1 .end method