Package com.io7m.waxmill.database.api

# Interface WXMVirtualMachineDatabaseType

All Superinterfaces:
  `java.lang.AutoCloseable`, `WXMDatabaseType`

All Known Implementing Classes:
  `WXMVirtualMachineDatabase`

    public interface WXMVirtualMachineDatabaseType
    extends WXMDatabaseType

A virtual machine database.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `default void` | `vmDefine​(WXMVirtualMachine machine)` | Define a new virtual machine.
  `void` | `vmDefineAll​(WXMVirtualMachineSet machines)` | Define a set of new virtual machines.
  `void` | `vmDelete​(java.util.UUID id)` | Delete a virtual machine.
  `java.util.Optional<WXMVirtualMachine>` | `vmGet​(java.util.UUID machineId)` | Find an existing virtual machine with the given ID.
  `WXMVirtualMachineSet` | `vmList()` |
  `void` | `vmUpdate​(WXMVirtualMachine machine)` | Update an existing virtual machine.

  ### Methods inherited from interface com.io7m.waxmill.database.api.WXMDatabaseType

  `close`

- ## Method Details

  - ### vmGet

    java.util.Optional<WXMVirtualMachine> vmGet​(java.util.UUID machineId) throws WXMException
    Find an existing virtual machine with the given ID.
    Parameters:
      `machineId` - The virtual machine ID
    Returns:
      The virtual machine, if any
    Throws:
      `WXMException` - On errors

  - ### vmDefineAll

    void vmDefineAll​(WXMVirtualMachineSet machines) throws WXMException, WXMExceptionDuplicate
    Define a set of new virtual machines.
    Parameters:
      `machines` - The virtual machine
    Throws:
      `WXMExceptionDuplicate` - If one or more virtual machines already exist
      `WXMException` - On errors

  - ### vmDefine

    default void vmDefine​(WXMVirtualMachine machine) throws WXMException, WXMExceptionDuplicate
    Define a new virtual machine.
    Parameters:
      `machine` - The virtual machine
    Throws:
      `WXMExceptionDuplicate` - If one or more virtual machines already exist
      `WXMException` - On errors

  - ### vmUpdate

    void vmUpdate​(WXMVirtualMachine machine) throws WXMException
    Update an existing virtual machine.
    Parameters:
      `machine` - The virtual machine
    Throws:
      `WXMException` - On errors

  - ### vmList

    WXMVirtualMachineSet vmList() throws WXMException
    Returns:
      The available virtual machines
    Throws:
      `WXMException` - On errors

  - ### vmDelete

    void vmDelete​(java.util.UUID id) throws WXMException
    Delete a virtual machine.
    Parameters:
      `id` - The virtual machine ID
    Throws:
      `WXMExceptionNonexistent` - If the virtual machine does not exist
      `WXMException` - On errors