Package com.basho.riak.hadoop.keylisters

Source Code of com.basho.riak.hadoop.keylisters.BucketKeyLister

/*
* This file is provided to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.basho.riak.hadoop.keylisters;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import com.basho.riak.client.IRiakClient;
import com.basho.riak.client.RiakException;
import com.basho.riak.client.bucket.Bucket;
import com.basho.riak.hadoop.BucketKey;

/**
* A full list buckets key lister. DANGER, not advised for production use.
*
* @author russell
*
*/
public class BucketKeyLister implements KeyLister {

    private static final String EMPTY = "";
    private String bucket;

    /**
     * no arg CTOR for de-serialization
     */
    public BucketKeyLister() {}

    /**
     * @param bucket
     */
    public BucketKeyLister(String bucket) {
        this.bucket = bucket;
    }

    /*
     * (non-Javadoc)
     *
     * @see com.basho.riak.hadoop.KeyLister#getKeys()
     */
    public Collection<BucketKey> getKeys(IRiakClient client) throws RiakException {
        if (bucket == null || bucket.trim().equals(EMPTY)) {
            throw new IllegalStateException("bucket cannot be null or empty");
        }

        List<BucketKey> keys = new ArrayList<BucketKey>();
        Bucket b = client.fetchBucket(bucket).execute();

        for (String key : b.keys()) {
            keys.add(new BucketKey(bucket, key));

        }
        return keys;
    }

    /*
     * (non-Javadoc)
     *
     * @see com.basho.riak.hadoop.KeyLister#init(java.lang.String)
     */
    public void init(String bucket) {
        this.bucket = bucket;
    }

    /*
     * (non-Javadoc)
     *
     * @see com.basho.riak.hadoop.KeyLister#getInitString()
     */
    public String getInitString() {
        return bucket;
    }

    /*
     * (non-Javadoc)
     *
     * @see java.lang.Object#hashCode()
     */
    @Override public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((bucket == null) ? 0 : bucket.hashCode());
        return result;
    }

    /*
     * (non-Javadoc)
     *
     * @see java.lang.Object#equals(java.lang.Object)
     */
    @Override public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (!(obj instanceof BucketKeyLister)) {
            return false;
        }
        BucketKeyLister other = (BucketKeyLister) obj;
        if (bucket == null) {
            if (other.bucket != null) {
                return false;
            }
        } else if (!bucket.equals(other.bucket)) {
            return false;
        }
        return true;
    }
}
TOP

Related Classes of com.basho.riak.hadoop.keylisters.BucketKeyLister

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.