Package org.postgresql.hostchooser

# Enum HostRequirement

java.lang.Object
java.lang.Enum<HostRequirement>
org.postgresql.hostchooser.HostRequirement

All Implemented Interfaces:
  `Serializable`, `Comparable<HostRequirement>`, `java.lang.constant.Constable`

public enum HostRequirement extends Enum<HostRequirement>
Describes the required server type.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `any`
  `master`
  Deprecated.
  we no longer use the terms master or slave in the driver, or the PostgreSQL project.
  `preferPrimary`
  `preferSecondary`
  `primary`
  `secondary`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract boolean`
  `allowConnectingTo(@Nullable HostStatus status)`
  `static HostRequirement`
  `getTargetServerType(String targetServerType)`
  The postgreSQL project has decided not to use the term slave to refer to alternate servers.
  `static HostRequirement`
  `valueOf(String name)`
  Returns the enum constant of this type with the specified name.
  `static HostRequirement[]`
  `values()`
  Returns an array containing the constants of this enum type, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### any

    public static final HostRequirement any

  - ### master

    @Deprecated public static final HostRequirement master
    Deprecated.
    we no longer use the terms master or slave in the driver, or the PostgreSQL project.

  - ### primary

    public static final HostRequirement primary

  - ### secondary

    public static final HostRequirement secondary

  - ### preferSecondary

    public static final HostRequirement preferSecondary

  - ### preferPrimary

    public static final HostRequirement preferPrimary

- ## Method Details

  - ### values

    public static HostRequirement[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.
    Returns:
      an array containing the constants of this enum type, in the order they are declared

  - ### valueOf

    public static HostRequirement valueOf(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:
      `IllegalArgumentException` - if this enum type has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### allowConnectingTo

    public abstract boolean allowConnectingTo(@Nullable HostStatus status)

  - ### getTargetServerType

    public static HostRequirement getTargetServerType(String targetServerType)
    The postgreSQL project has decided not to use the term slave to refer to alternate servers. secondary or standby is preferred. We have arbitrarily chosen secondary. As of Jan 2018 in order not to break existing code we are going to accept both slave or secondary for names of alternate servers.

    The current policy is to keep accepting this silently but not document slave, or slave preferSlave

    As of Jul 2018 silently deprecate the use of the word master as well

    Parameters:
      `targetServerType` - the value of `targetServerType` connection property
    Returns:
      HostRequirement