/**
* Copyright 2010 Google Inc.
*
* Licensed 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 org.waveprotocol.wave.concurrencycontrol.common;
public enum ResponseCode {
/** Unknown response code. */
UNKNOWN(-1),
/** The delta was successfully transformed and applied. */
OK(0),
/** The WaveletSubmitRequest was ill-formed. */
BAD_REQUEST(1),
/** An internal error occurred. */
INTERNAL_ERROR(2),
/** The verifiedUserId or delta.userId were rejected by access control. */
NOT_AUTHORIZED(3),
/** The delta.version and delta.preSignature didn't match a point in the wavelet history. */
VERSION_ERROR(4),
/** An operation in the delta was invalid (before, during, or after transformation). */
INVALID_OPERATION(5),
/** An operation in the delta didn't preserve the document schema. */
SCHEMA_VIOLATION(6),
/** The delta is too big or the resulting document count or size is too big. */
SIZE_LIMIT_EXCEEDED(7),
/** An operation was rejected by the namespace policer. */
POLICY_VIOLATION(8),
/** The object is unavailable because it has been quarantined. */
QUARANTINED(9),
/**
* The version the delta was being submitted against is too old.
* The client should reconnect, transform, and retry.
*/
TOO_OLD(10);
private final int value;
private ResponseCode(int value) {
this.value = value;
}
public int getValue() {
return value;
}
/**
* @return The response code whose getValue() is the specified integer.
* @throws IndexOutOfBoundsException if there is no such response code.
*/
public static ResponseCode of(int value) {
// NOTE: This implementation assumes that the response codes have consecutive
// integer values beginning with -1.
return values()[value + 1];
}
}