# Hierarchy For All Packages

Package Hierarchies:

- com.elastisys.scale.cloudpool.api,
- com.elastisys.scale.cloudpool.api.client,
- com.elastisys.scale.cloudpool.api.restapi,
- com.elastisys.scale.cloudpool.api.restapi.types,
- com.elastisys.scale.cloudpool.api.server,
- com.elastisys.scale.cloudpool.api.types

## Class Hierarchy

- java.lang.Object
  - com.elastisys.scale.cloudpool.api.ApiVersion
  - com.elastisys.scale.commons.cli.server.BaseServerCliOptions (implements com.elastisys.scale.commons.cli.CommandLineOptions)
    - com.elastisys.scale.cloudpool.api.server.CloudPoolOptions
  - com.elastisys.scale.cloudpool.api.client.CloudPoolClient (implements com.elastisys.scale.cloudpool.api.CloudPool)
  - com.elastisys.scale.cloudpool.api.restapi.CloudPoolHandler
  - com.elastisys.scale.cloudpool.api.types.CloudPoolMetadata
  - com.elastisys.scale.cloudpool.api.server.CloudPoolServer
  - com.elastisys.scale.cloudpool.api.types.CloudPoolStatus
  - com.elastisys.scale.cloudpool.api.types.CloudProviders
  - com.elastisys.scale.cloudpool.api.restapi.ConfigHandler
  - com.elastisys.scale.cloudpool.api.restapi.types.DetachMachineRequest
  - com.elastisys.scale.cloudpool.api.types.Machine
  - com.elastisys.scale.cloudpool.api.types.Machine.ActiveMemberPredicate (implements com.google.common.base.Predicate<T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.AllocatedMachinePredicate (implements com.google.common.base.Predicate<T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.Builder
  - com.elastisys.scale.cloudpool.api.types.Machine.EvictableMemberPredicate (implements com.google.common.base.Predicate<T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.InstanceHourStart (implements com.google.common.base.Function<F,T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.MachineIdExtractor (implements com.google.common.base.Function<F,T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.MachineStateExtractor (implements com.google.common.base.Function<F,T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.MachineWithState (implements com.google.common.base.Predicate<T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.RemainingInstanceHourTime (implements com.google.common.base.Function<F,T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.RequestAge (implements com.google.common.base.Function<F,T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.StartedMachinePredicate (implements com.google.common.base.Predicate<T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.ToShortMachineFormat (implements com.google.common.base.Function<F,T>)
  - com.elastisys.scale.cloudpool.api.types.Machine.ToShortMachineString (implements com.google.common.base.Function<F,T>)
  - com.elastisys.scale.cloudpool.api.types.MachinePool
  - com.elastisys.scale.cloudpool.api.types.MembershipStatus
  - com.elastisys.scale.cloudpool.api.types.PoolSizeSummary
  - com.elastisys.scale.cloudpool.api.restapi.types.SetDesiredSizeRequest
  - com.elastisys.scale.cloudpool.api.restapi.types.SetMembershipStatusRequest
  - com.elastisys.scale.cloudpool.api.restapi.types.SetServiceStateRequest
  - com.elastisys.scale.cloudpool.api.restapi.StartStopHandler
  - com.elastisys.scale.cloudpool.api.restapi.types.TerminateMachineRequest
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - com.elastisys.scale.cloudpool.api.CloudPoolException
          - com.elastisys.scale.cloudpool.api.NotConfiguredException
          - com.elastisys.scale.cloudpool.api.NotFoundException
          - com.elastisys.scale.cloudpool.api.NotStartedException

## Interface Hierarchy

- com.elastisys.scale.cloudpool.api.CloudPool

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - com.elastisys.scale.cloudpool.api.types.MachineState
    - com.elastisys.scale.cloudpool.api.Protocol
    - com.elastisys.scale.cloudpool.api.types.ServiceState