Enum StatusValue
- java.lang.Object
-
- java.lang.Enum<StatusValue>
-
- google.registry.model.eppcommon.StatusValue
-
- All Implemented Interfaces:
EnumToAttributeAdapter.EppEnum
,java.io.Serializable
,java.lang.Comparable<StatusValue>
public enum StatusValue extends java.lang.Enum<StatusValue> implements EnumToAttributeAdapter.EppEnum
Represents an EPP status value for hosts, contacts, and domains, as defined in RFC 5731, 5732, and 5733. The values here are the union of all 3 sets of status values.The RFCs define extra optional metadata (language and message) that we don't use and therefore don't model.
Note that
StatusValue.LINKED
should never be stored. Rather, it should be calculated on the fly whenever needed using an eventually consistent query (i.e. in info flows).
-
-
Enum Constant Summary
Enum Constants Enum Constant Description CLIENT_DELETE_PROHIBITED
CLIENT_HOLD
CLIENT_RENEW_PROHIBITED
CLIENT_TRANSFER_PROHIBITED
CLIENT_UPDATE_PROHIBITED
INACTIVE
A status for a domain with no nameservers.LINKED
A status for a resource has an incoming reference from an active domain.OK
A status for a resource that has no other statuses.PENDING_CREATE
A status for a resource undergoing asynchronous creation.PENDING_DELETE
A status for a resource indicating that deletion has been requested but has not yet happened.PENDING_TRANSFER
A status for a resource with an unresolved transfer request.PENDING_UPDATE
A status for a resource undergoing an asynchronous update.SERVER_DELETE_PROHIBITED
A non-client-settable status that prevents deletes of EPP resources.SERVER_HOLD
SERVER_RENEW_PROHIBITED
SERVER_TRANSFER_PROHIBITED
A non-client-settable status that prevents transfers of EPP resources.SERVER_UPDATE_PROHIBITED
A non-client-settable status that prevents updates of EPP resources, except by superusers.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static StatusValue
fromXmlName(java.lang.String xmlName)
java.lang.String
getXmlName()
boolean
isAllowedOn(java.lang.Class<? extends EppResource> resource)
boolean
isChargedStatus()
boolean
isClientSettable()
boolean
isServerSettable()
static StatusValue
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static StatusValue[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
CLIENT_DELETE_PROHIBITED
public static final StatusValue CLIENT_DELETE_PROHIBITED
-
CLIENT_HOLD
public static final StatusValue CLIENT_HOLD
-
CLIENT_RENEW_PROHIBITED
public static final StatusValue CLIENT_RENEW_PROHIBITED
-
CLIENT_TRANSFER_PROHIBITED
public static final StatusValue CLIENT_TRANSFER_PROHIBITED
-
CLIENT_UPDATE_PROHIBITED
public static final StatusValue CLIENT_UPDATE_PROHIBITED
-
INACTIVE
public static final StatusValue INACTIVE
A status for a domain with no nameservers.
-
LINKED
public static final StatusValue LINKED
A status for a resource has an incoming reference from an active domain.LINKED is a "virtual" status value that should never be persisted to Datastore on any resource. It must be computed on the fly when we need it, as the set of domains using a resource can change at any time.
-
OK
public static final StatusValue OK
A status for a resource that has no other statuses.For domains, OK is only present when absolutely no other statuses are present. For contacts and hosts, the spec also allows a resource to have
LINKED
along with OK, but we implement LINKED as a virtual status that gets appended to outputs (such as info commands) on the fly, so we can ignore LINKED when dealing with persisted resources.
-
PENDING_CREATE
public static final StatusValue PENDING_CREATE
A status for a resource undergoing asynchronous creation.This status is here for completeness, but it is not used by our system.
-
PENDING_DELETE
public static final StatusValue PENDING_DELETE
A status for a resource indicating that deletion has been requested but has not yet happened.Contacts and hosts are deleted asynchronously because we need to check their incoming references with strong consistency, requiring an asynchronous process, and during that asynchronous process they have the PENDING_DELETE status.
Domains in the add grace period are deleted synchronously and do not ever have this status. Otherwise, domains go through an extended deletion process, consisting of a 30-day redemption grace period followed by a 5-day "pending delete" period before they are actually 100% deleted. These domains have the PENDING_DELETE status throughout that 35-day window.
-
PENDING_TRANSFER
public static final StatusValue PENDING_TRANSFER
A status for a resource with an unresolved transfer request.Hosts transfer indirectly via superordinate domain.
-
PENDING_UPDATE
public static final StatusValue PENDING_UPDATE
A status for a resource undergoing an asynchronous update.This status is here for completeness, but it is not used by our system.
-
SERVER_DELETE_PROHIBITED
public static final StatusValue SERVER_DELETE_PROHIBITED
A non-client-settable status that prevents deletes of EPP resources.
-
SERVER_HOLD
public static final StatusValue SERVER_HOLD
-
SERVER_RENEW_PROHIBITED
public static final StatusValue SERVER_RENEW_PROHIBITED
-
SERVER_TRANSFER_PROHIBITED
public static final StatusValue SERVER_TRANSFER_PROHIBITED
A non-client-settable status that prevents transfers of EPP resources.
-
SERVER_UPDATE_PROHIBITED
public static final StatusValue SERVER_UPDATE_PROHIBITED
A non-client-settable status that prevents updates of EPP resources, except by superusers.
-
-
Method Detail
-
values
public static StatusValue[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (StatusValue c : StatusValue.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static StatusValue valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
getXmlName
public java.lang.String getXmlName()
- Specified by:
getXmlName
in interfaceEnumToAttributeAdapter.EppEnum
-
isClientSettable
public boolean isClientSettable()
-
isServerSettable
public boolean isServerSettable()
-
isChargedStatus
public boolean isChargedStatus()
-
isAllowedOn
public boolean isAllowedOn(java.lang.Class<? extends EppResource> resource)
-
fromXmlName
public static StatusValue fromXmlName(java.lang.String xmlName)
-
-