001package com.box.sdkgen.box.tokenstorage;
002
003import com.box.sdkgen.schemas.accesstoken.AccessToken;
004
005public class InMemoryTokenStorage implements TokenStorage {
006  private AccessToken token;
007
008  public InMemoryTokenStorage() {
009    this.token = null;
010  }
011
012  public InMemoryTokenStorage(AccessToken token) {
013    this.token = token;
014  }
015
016  protected InMemoryTokenStorage(Builder builder) {
017    this.token = builder.token;
018  }
019
020  @Override
021  public void store(AccessToken token) {
022    this.token = token;
023  }
024
025  @Override
026  public AccessToken get() {
027    return token;
028  }
029
030  @Override
031  public void clear() {
032    this.token = null;
033  }
034
035  public static class Builder {
036
037    protected AccessToken token;
038
039    public Builder token(AccessToken token) {
040      this.token = token;
041      return this;
042    }
043
044    public InMemoryTokenStorage build() {
045      return new InMemoryTokenStorage(this);
046    }
047  }
048}