Metadata$Key.smali
.class public abstract Lio/grpc/Metadata$Key;
.super Ljava/lang/Object;
.source "Metadata.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/grpc/Metadata;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "Key"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field private static final VALID_T_CHARS:Ljava/util/BitSet;
# instance fields
.field private final name:Ljava/lang/String;
.field private final nameBytes:[B
.field private final originalName:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 1
invoke-static {}, Lio/grpc/Metadata$Key;->generateValidTChars()Ljava/util/BitSet;
move-result-object v0
sput-object v0, Lio/grpc/Metadata$Key;->VALID_T_CHARS:Ljava/util/BitSet;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;)V
.registers 3
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
invoke-static {p1}, Lcom/google/common/base/r;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast p1, Ljava/lang/String;
iput-object p1, p0, Lio/grpc/Metadata$Key;->originalName:Ljava/lang/String;
.line 4
iget-object p1, p0, Lio/grpc/Metadata$Key;->originalName:Ljava/lang/String;
sget-object v0, Ljava/util/Locale;->ROOT:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lio/grpc/Metadata$Key;->validateName(Ljava/lang/String;)Ljava/lang/String;
invoke-virtual {p1}, Ljava/lang/String;->intern()Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lio/grpc/Metadata$Key;->name:Ljava/lang/String;
.line 5
iget-object p1, p0, Lio/grpc/Metadata$Key;->name:Ljava/lang/String;
sget-object v0, Lcom/google/common/base/d;->a:Ljava/nio/charset/Charset;
invoke-virtual {p1, v0}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object p1
iput-object p1, p0, Lio/grpc/Metadata$Key;->nameBytes:[B
return-void
.end method
.method synthetic constructor <init>(Ljava/lang/String;Lio/grpc/Metadata$1;)V
.registers 3
.line 1
invoke-direct {p0, p1}, Lio/grpc/Metadata$Key;-><init>(Ljava/lang/String;)V
return-void
.end method
.method static synthetic access$100(Lio/grpc/Metadata$Key;)Ljava/lang/String;
.registers 1
.line 1
iget-object p0, p0, Lio/grpc/Metadata$Key;->name:Ljava/lang/String;
return-object p0
.end method
.method private static generateValidTChars()Ljava/util/BitSet;
.registers 3
.line 1
new-instance v0, Ljava/util/BitSet;
const/16 v1, 0x7f
invoke-direct {v0, v1}, Ljava/util/BitSet;-><init>(I)V
const/16 v1, 0x2d
.line 2
invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V
const/16 v1, 0x5f
.line 3
invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V
const/16 v1, 0x2e
.line 4
invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V
const/16 v1, 0x30
:goto_18
const/16 v2, 0x39
if-gt v1, v2, :cond_23
.line 5
invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V
add-int/lit8 v1, v1, 0x1
int-to-char v1, v1
goto :goto_18
:cond_23
const/16 v1, 0x61
:goto_25
const/16 v2, 0x7a
if-gt v1, v2, :cond_30
.line 6
invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V
add-int/lit8 v1, v1, 0x1
int-to-char v1, v1
goto :goto_25
:cond_30
return-object v0
.end method
.method public static of(Ljava/lang/String;Lio/grpc/Metadata$AsciiMarshaller;)Lio/grpc/Metadata$Key;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Lio/grpc/Metadata$AsciiMarshaller<",
"TT;>;)",
"Lio/grpc/Metadata$Key<",
"TT;>;"
}
.end annotation
.line 2
new-instance v0, Lio/grpc/Metadata$AsciiKey;
const/4 v1, 0x0
invoke-direct {v0, p0, p1, v1}, Lio/grpc/Metadata$AsciiKey;-><init>(Ljava/lang/String;Lio/grpc/Metadata$AsciiMarshaller;Lio/grpc/Metadata$1;)V
return-object v0
.end method
.method public static of(Ljava/lang/String;Lio/grpc/Metadata$BinaryMarshaller;)Lio/grpc/Metadata$Key;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Lio/grpc/Metadata$BinaryMarshaller<",
"TT;>;)",
"Lio/grpc/Metadata$Key<",
"TT;>;"
}
.end annotation
.line 1
new-instance v0, Lio/grpc/Metadata$BinaryKey;
const/4 v1, 0x0
invoke-direct {v0, p0, p1, v1}, Lio/grpc/Metadata$BinaryKey;-><init>(Ljava/lang/String;Lio/grpc/Metadata$BinaryMarshaller;Lio/grpc/Metadata$1;)V
return-object v0
.end method
.method private static validateName(Ljava/lang/String;)Ljava/lang/String;
.registers 7
.line 1
invoke-static {p0}, Lcom/google/common/base/r;->a(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_d
const/4 v0, 0x1
goto :goto_e
:cond_d
const/4 v0, 0x0
:goto_e
const-string v3, "token must have at least 1 tchar"
invoke-static {v0, v3}, Lcom/google/common/base/r;->a(ZLjava/lang/Object;)V
const/4 v0, 0x0
.line 3
:goto_14
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v3
if-ge v0, v3, :cond_3e
.line 4
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v3
const/16 v4, 0x3a
if-ne v3, v4, :cond_25
if-nez v0, :cond_25
goto :goto_3b
.line 5
:cond_25
sget-object v4, Lio/grpc/Metadata$Key;->VALID_T_CHARS:Ljava/util/BitSet;
invoke-virtual {v4, v3}, Ljava/util/BitSet;->get(I)Z
move-result v4
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
.line 6
invoke-static {v3}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;
move-result-object v3
aput-object v3, v5, v2
aput-object p0, v5, v1
const-string v3, "Invalid character \'%s\' in key name \'%s\'"
.line 7
invoke-static {v4, v3, v5}, Lcom/google/common/base/r;->a(ZLjava/lang/String;[Ljava/lang/Object;)V
:goto_3b
add-int/lit8 v0, v0, 0x1
goto :goto_14
:cond_3e
return-object p0
.end method
# virtual methods
.method asciiName()[B
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/Metadata$Key;->nameBytes:[B
return-object v0
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 4
if-ne p0, p1, :cond_4
const/4 p1, 0x1
return p1
:cond_4
if-eqz p1, :cond_1c
.line 1
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
if-eq v0, v1, :cond_11
goto :goto_1c
.line 2
:cond_11
check-cast p1, Lio/grpc/Metadata$Key;
.line 3
iget-object v0, p0, Lio/grpc/Metadata$Key;->name:Ljava/lang/String;
iget-object p1, p1, Lio/grpc/Metadata$Key;->name:Ljava/lang/String;
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
:cond_1c
:goto_1c
const/4 p1, 0x0
return p1
.end method
.method public hashCode()I
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/Metadata$Key;->name:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
return v0
.end method
.method public final name()Ljava/lang/String;
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/Metadata$Key;->name:Ljava/lang/String;
return-object v0
.end method
.method public final originalName()Ljava/lang/String;
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/Metadata$Key;->originalName:Ljava/lang/String;
return-object v0
.end method
.method abstract parseBytes([B)Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"([B)TT;"
}
.end annotation
.end method
.method abstract toBytes(Ljava/lang/Object;)[B
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)[B"
}
.end annotation
.end method
.method public toString()Ljava/lang/String;
.registers 3
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Key{name=\'"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lio/grpc/Metadata$Key;->name:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "\'}"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method