Class LaunchPhase

java.lang.Object
google.registry.model.ImmutableObject
google.registry.model.domain.launch.LaunchPhase
All Implemented Interfaces:
Cloneable

public class LaunchPhase extends ImmutableObject
The launch phase of the TLD being addressed by this command.

The launch phase refers to the various stages that a TLD goes through before entering general availability. The various phases are described below (in order that they usually occur).

Each phase is connected to the TldState in which it can be used (see DomainFlowUtils). Sending an EPP with the wrong launch phase for the current TldState will result in an error. However, we don't actually check the launch phase *exists*.

We usually check for the information *inside* a launch phase (e.g. the signed mark for the domain) and return an error if that is missing - which would also check that the phase exists. But if we bypass the need for that information (e.g., an Anchor Tenant doesn't need a signed mark), then we never actually test the phase exists.

This means an Anchor Tenant has some weird peculiarities: It doesn't need to specify the phase. It *can* specify the phase, but not give any of the phase's information (e.g. - signed marks), in which case we accept even a wrong phase. But if it *does* give a signed mark as well - we will return an error if it's the wrong phase (or if the marks are invalid) even though we didn't require them.

This is OK (?) because the Anchor Tenants field is set internally and manually. The person who sets it is the one that needs to make sure the domain isn't a trademark and that the fields are correct.

  • Field Details

    • SUNRISE

      public static final LaunchPhase SUNRISE
      The phase during which trademark holders can submit domain registrations with trademark information that can be validated by the server.
    • CLAIMS

      public static final LaunchPhase CLAIMS
      The Trademark Claims phase, as defined in the TMCH Functional Specification, in which a Claims Notice must be displayed to a prospective registrant of a domain name that matches trademarks.
    • OPEN

      public static final LaunchPhase OPEN
      A post-launch phase that is also referred to as "steady state".
  • Constructor Details

    • LaunchPhase

      public LaunchPhase()
  • Method Details

    • create

      public static LaunchPhase create(String phase)
      Private create function for the typesafe enum pattern.
    • getPhase

      public String getPhase()
    • equals

      public boolean equals(Object other)
      A special equals implementation that only considers the string value.
      Overrides:
      equals in class ImmutableObject
    • hashCode

      public int hashCode()
      A special hashCode implementation that only considers the string value.
      Overrides:
      hashCode in class ImmutableObject