
alluxio.master.metastore.ReadOption Maven / Gradle / Ivy
The newest version!
/*
* The Alluxio Open Foundation licenses this work under the Apache License, version 2.0
* (the "License"). You may not use this work except in compliance with the License, which is
* available at www.apache.org/licenses/LICENSE-2.0
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied, as more fully set forth in the License.
*
* See the NOTICE file distributed with this work for information regarding copyright ownership.
*/
package alluxio.master.metastore;
import javax.annotation.Nullable;
/**
* Options for reading from the inode store.
*/
public class ReadOption {
private static final ReadOption DEFAULT = new ReadOption(false, null, null);
private final boolean mSkipCache;
private final String mStartFrom;
private final String mPrefix;
private ReadOption(boolean skipCache, String readFrom, String prefix) {
mSkipCache = skipCache;
mStartFrom = readFrom;
mPrefix = prefix;
}
/**
* @return whether to skip caching when reading from the inode store
*/
public boolean shouldSkipCache() {
return mSkipCache;
}
/**
* @return path from where to start traversing the list of children from, or null
* if traversal should start from the beginning
*/
public @Nullable String getStartFrom() { return mStartFrom; }
/**
* @return prefix to filter children path names from
*/
public @Nullable String getPrefix() { return mPrefix; }
/**
* @return a new builder
*/
public static Builder newBuilder() {
return new Builder();
}
/**
* @return the singleton instance of the default option
*/
public static ReadOption defaults() {
return DEFAULT;
}
/**
* Builder for {@link ReadOption}.
*/
public static class Builder {
private boolean mSkipCache = false;
private String mReadFrom = null;
private String mPrefix = null;
/**
* Sets whether to skip caching.
*
* @param skip skip or not
* @return the builder
*/
public Builder setSkipCache(boolean skip) {
mSkipCache = skip;
return this;
}
/**
* Set the path where to start traversing the list of children from.
* @param readFrom the path where to start traversing
* @return the builder
*/
public Builder setReadFrom(String readFrom) {
mReadFrom = readFrom;
return this;
}
/**
* Set the prefix of the path to filter children by.
* @param prefix the path prefix
* @return the builder
*/
public Builder setPrefix(String prefix) {
mPrefix = prefix;
return this;
}
/**
* @return the built option
*/
public ReadOption build() {
return new ReadOption(mSkipCache, mReadFrom, mPrefix);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy