ChainNode.smali

.class public Lcom/sandboxol/center/chain/ChainNode;
.super Ljava/lang/Object;
.source "ChainNode.java"

# interfaces
.implements Lcom/sandboxol/center/chain/Node;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/sandboxol/center/chain/ChainNode$CallBack;
    }
.end annotation


# instance fields
.field private callBack:Lcom/sandboxol/center/chain/ChainNode$CallBack;

.field private executor:Lcom/sandboxol/center/chain/Executor;

.field private id:I


# direct methods
.method private constructor <init>(ILcom/sandboxol/center/chain/Executor;)V
    .registers 3

    .line 1
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 2
    iput p1, p0, Lcom/sandboxol/center/chain/ChainNode;->id:I

    .line 3
    iput-object p2, p0, Lcom/sandboxol/center/chain/ChainNode;->executor:Lcom/sandboxol/center/chain/Executor;

    return-void
.end method

.method public static create(ILcom/sandboxol/center/chain/Executor;)Lcom/sandboxol/center/chain/ChainNode;
    .registers 3

    .line 1
    new-instance v0, Lcom/sandboxol/center/chain/ChainNode;

    invoke-direct {v0, p0, p1}, Lcom/sandboxol/center/chain/ChainNode;-><init>(ILcom/sandboxol/center/chain/Executor;)V

    return-object v0
.end method


# virtual methods
.method public complete()V
    .registers 2

    .line 1
    iget-object v0, p0, Lcom/sandboxol/center/chain/ChainNode;->callBack:Lcom/sandboxol/center/chain/ChainNode$CallBack;

    if-eqz v0, :cond_7

    .line 2
    invoke-interface {v0}, Lcom/sandboxol/center/chain/ChainNode$CallBack;->onComplete()V

    :cond_7
    return-void
.end method

.method public getId()I
    .registers 2

    .line 1
    iget v0, p0, Lcom/sandboxol/center/chain/ChainNode;->id:I

    return v0
.end method

.method public process(Lcom/sandboxol/center/chain/ChainNode$CallBack;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lcom/sandboxol/center/chain/ChainNode;->callBack:Lcom/sandboxol/center/chain/ChainNode$CallBack;

    .line 2
    iget-object p1, p0, Lcom/sandboxol/center/chain/ChainNode;->executor:Lcom/sandboxol/center/chain/Executor;

    if-eqz p1, :cond_9

    .line 3
    invoke-interface {p1, p0}, Lcom/sandboxol/center/chain/Executor;->execute(Lcom/sandboxol/center/chain/Node;)V

    :cond_9
    return-void
.end method