Class Ports

java.lang.Object
org.kiwiproject.registry.util.Ports

public final class Ports extends Object
Utility methods for finding a desired port out of a list of port definitions, or finding application or admin ports.
  • Method Details

    • findOnlyApplicationPort

      public static Port findOnlyApplicationPort(List<Port> ports)
      Find the single application port. If there is not exactly one, throw an exception.
      Parameters:
      ports - the ports to filter
      Returns:
      the application port
      Throws:
      IllegalStateException - if there is not exactly one port
    • findApplicationPorts

      public static List<Port> findApplicationPorts(List<Port> ports)
      Find only the application ports in the list of ports.
      Parameters:
      ports - the ports to filter
      Returns:
      a list of application ports
    • findOnlyAdminPort

      public static Port findOnlyAdminPort(List<Port> ports)
      Find the single admin port. If there is not exactly one, throw an exception.
      Parameters:
      ports - the ports to filter
      Returns:
      the admin port
      Throws:
      IllegalStateException - if there is not exactly one port
    • findAdminPorts

      public static List<Port> findAdminPorts(List<Port> ports)
      Find only the admin ports in the list of ports.
      Parameters:
      ports - the ports to filter
      Returns:
      a list of application ports
    • findPorts

      public static List<Port> findPorts(List<Port> ports, Port.PortType portType)
      Find all ports having the specified Port.PortType.
      Parameters:
      ports - the ports to filter
      portType - the type of port to find
      Returns:
      a list of ports having the specified type
    • findFirstPortPreferSecure

      public static Port findFirstPortPreferSecure(List<Port> ports, Port.PortType type)
      Finds the first port of a given type (Application or Admin) from the list. If multiple ports are found and at least one is marked secure, that port will be given priority. If multiple ports are found with the same security level, then the first one is returned.

      If not found, returns a new Port with number 0 and the given value for Port.PortType.

      Parameters:
      ports - The list of ports to traverse
      type - The type of port that is being requested
      Returns:
      The port definition that was found based on the given criteria
    • findPort

      public static Port findPort(List<Port> ports, Port.PortType type, Port.Security security)
      Finds a desired port given a security and type criteria.

      If not found, returns a new Port with number 0 and the given values for Port.Security and Port.PortType.

      Parameters:
      ports - The list of ports to traverse
      type - The type of port that is desired (Application or Admin)
      security - The security of the port that is desired (Secure or Non-Secure)
      Returns:
      The port definition that was found based on the given criteria
    • determineScheme

      public static String determineScheme(List<Port> ports, Port.PortType type)
      Determines the HTTP scheme to use for a given type
      Parameters:
      ports - The list of ports to traverse to determine the scheme
      type - The type of port that is desired (Application or Admin)
      Returns:
      The scheme (https or http) based on the port definitions
      See Also: