/*
* 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.file;
import alluxio.AlluxioURI;
import java.util.List;
/**
* Class to represent the status and result of the startup consistency check.
*/
public final class StartupConsistencyCheck {
/**
* Status of the check.
*/
public enum Status {
COMPLETE,
DISABLED,
FAILED,
RUNNING
}
/**
* @param inconsistentUris the uris which are inconsistent with the underlying storage
* @return a result set to the complete status
*/
public static StartupConsistencyCheck complete(List<AlluxioURI> inconsistentUris) {
return new StartupConsistencyCheck(Status.COMPLETE, inconsistentUris);
}
/**
* @return a result set to the disabled status
*/
public static StartupConsistencyCheck disabled() {
return new StartupConsistencyCheck(Status.DISABLED, null);
}
/**
* @return a result set to the failed status
*/
public static StartupConsistencyCheck failed() {
return new StartupConsistencyCheck(Status.FAILED, null);
}
/**
* @return a result set to the running status
*/
public static StartupConsistencyCheck running() {
return new StartupConsistencyCheck(Status.RUNNING, null);
}
private Status mStatus;
private List<AlluxioURI> mInconsistentUris;
/**
* Create a new startup consistency check result.
*
* @param status the state of the check
* @param inconsistentUris the uris which are inconsistent with the underlying storage
*/
private StartupConsistencyCheck(Status status, List<AlluxioURI> inconsistentUris) {
mStatus = status;
mInconsistentUris = inconsistentUris;
}
/**
* @return the status of the check
*/
public Status getStatus() {
return mStatus;
}
/**
* @return the uris which are inconsistent with the underlying storage
*/
public List<AlluxioURI> getInconsistentUris() {
return mInconsistentUris;
}
}