com.google.u2f.gaedemo.storage.UserTokens.java Source code

Java tutorial

Introduction

Here is the source code for com.google.u2f.gaedemo.storage.UserTokens.java

Source

// Copyright 2014 Google Inc. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file or at
// https://developers.google.com/open-source/licenses/bsd

package com.google.u2f.gaedemo.storage;

import java.util.Arrays;
import java.util.Collection;
import java.util.List;

import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.googlecode.objectify.annotation.Entity;
import com.googlecode.objectify.annotation.Id;

@Entity
public class UserTokens {

    @Id
    String userId;
    List<TokenStorageData> tokens = Lists.newArrayList();

    public UserTokens() {
    }

    public UserTokens(String userId) {
        this.userId = userId;
    }

    public Collection<TokenStorageData> getTokens() {
        return ImmutableList.copyOf(tokens);
    }

    public void removeToken(byte[] publicKey) {
        for (TokenStorageData token : tokens) {
            if (Arrays.equals(token.getSecurityKeyData().getPublicKey(), publicKey)) {
                tokens.remove(token);
                break;
            }
        }
    }

    public void updateCounter(byte[] publicKey, int newCounterValue) {
        for (TokenStorageData token : tokens) {
            if (Arrays.equals(token.getSecurityKeyData().getPublicKey(), publicKey)) {
                token.updateCounter(newCounterValue);
                break;
            }
        }
    }

    public void addToken(TokenStorageData token) {
        tokens.add(token);
    }
}