AbstractPatriciaTrie$TrieEntry.smali

.class Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;
.super Lorg/ardverk/collection/AbstractTrie$BasicEntry;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lorg/ardverk/collection/AbstractPatriciaTrie;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x8
    name = "TrieEntry"
.end annotation

.annotation system Ldalvik/annotation/Signature;
    value = {
        "<K:",
        "Ljava/lang/Object;",
        "V:",
        "Ljava/lang/Object;",
        ">",
        "Lorg/ardverk/collection/AbstractTrie$BasicEntry",
        "<TK;TV;>;"
    }
.end annotation


# static fields
.field private static final serialVersionUID:J = 0x3fc85ab3d6fcf8edL


# instance fields
.field protected bitIndex:I

.field protected left:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry",
            "<TK;TV;>;"
        }
    .end annotation
.end field

.field protected parent:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry",
            "<TK;TV;>;"
        }
    .end annotation
.end field

.field protected predecessor:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry",
            "<TK;TV;>;"
        }
    .end annotation
.end field

.field protected right:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry",
            "<TK;TV;>;"
        }
    .end annotation
.end field


# direct methods
.method public constructor <init>(Ljava/lang/Object;Ljava/lang/Object;I)V
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(TK;TV;I)V"
        }
    .end annotation

    const/4 v0, 0x0

    invoke-direct {p0, p1, p2}, Lorg/ardverk/collection/AbstractTrie$BasicEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

    iput p3, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    iput-object v0, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->parent:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iput-object p0, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->left:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iput-object v0, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->right:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iput-object p0, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->predecessor:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    return-void
.end method


# virtual methods
.method public isEmpty()Z
    .registers 2

    iget-object v0, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->key:Ljava/lang/Object;

    if-nez v0, :cond_6

    const/4 v0, 0x1

    :goto_5
    return v0

    :cond_6
    const/4 v0, 0x0

    goto :goto_5
.end method

.method public isExternalNode()Z
    .registers 2

    invoke-virtual {p0}, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->isInternalNode()Z

    move-result v0

    if-nez v0, :cond_8

    const/4 v0, 0x1

    :goto_7
    return v0

    :cond_8
    const/4 v0, 0x0

    goto :goto_7
.end method

.method public isInternalNode()Z
    .registers 2

    iget-object v0, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->left:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    if-eq v0, p0, :cond_a

    iget-object v0, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->right:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    if-eq v0, p0, :cond_a

    const/4 v0, 0x1

    :goto_9
    return v0

    :cond_a
    const/4 v0, 0x0

    goto :goto_9
.end method

.method public toString()Ljava/lang/String;
    .registers 5

    const/4 v3, -0x1

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    iget v1, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    if-ne v1, v3, :cond_ae

    const-string v1, "RootEntry("

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    :goto_f
    const-string v1, "key="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {p0}, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->getKey()Ljava/lang/Object;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, " ["

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget v2, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "], "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "value="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {p0}, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->getValue()Ljava/lang/Object;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, ", "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v1, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->parent:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    if-eqz v1, :cond_da

    iget-object v1, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->parent:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget v1, v1, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    if-ne v1, v3, :cond_b5

    const-string v1, "parent="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "ROOT"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    :goto_56
    const-string v1, ", "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v1, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->left:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    if-eqz v1, :cond_10c

    iget-object v1, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->left:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget v1, v1, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    if-ne v1, v3, :cond_e7

    const-string v1, "left="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "ROOT"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    :goto_70
    const-string v1, ", "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v1, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->right:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    if-eqz v1, :cond_13e

    iget-object v1, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->right:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget v1, v1, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    if-ne v1, v3, :cond_119

    const-string v1, "right="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "ROOT"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    :goto_8a
    const-string v1, ", "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v1, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->predecessor:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    if-eqz v1, :cond_a4

    iget-object v1, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->predecessor:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget v1, v1, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    if-ne v1, v3, :cond_14b

    const-string v1, "predecessor="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "ROOT"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    :cond_a4
    :goto_a4
    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

    :cond_ae
    const-string v1, "Entry("

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto/16 :goto_f

    :cond_b5
    const-string v1, "parent="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-object v2, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->parent:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    invoke-virtual {v2}, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->getKey()Ljava/lang/Object;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, " ["

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-object v2, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->parent:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget v2, v2, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "]"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto/16 :goto_56

    :cond_da
    const-string v1, "parent="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "null"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto/16 :goto_56

    :cond_e7
    const-string v1, "left="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-object v2, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->left:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    invoke-virtual {v2}, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->getKey()Ljava/lang/Object;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, " ["

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-object v2, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->left:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget v2, v2, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "]"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto/16 :goto_70

    :cond_10c
    const-string v1, "left="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "null"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto/16 :goto_70

    :cond_119
    const-string v1, "right="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-object v2, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->right:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    invoke-virtual {v2}, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->getKey()Ljava/lang/Object;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, " ["

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-object v2, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->right:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget v2, v2, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "]"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto/16 :goto_8a

    :cond_13e
    const-string v1, "right="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "null"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto/16 :goto_8a

    :cond_14b
    const-string v1, "predecessor="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-object v2, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->predecessor:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    invoke-virtual {v2}, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->getKey()Ljava/lang/Object;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, " ["

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-object v2, p0, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->predecessor:Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;

    iget v2, v2, Lorg/ardverk/collection/AbstractPatriciaTrie$TrieEntry;->bitIndex:I

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "]"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto/16 :goto_a4
.end method