java.lang.Object
net.ME1312.SubServers.Client.Common.Network.API.Host

public class Host extends Object
Simplified Host Data Class
  • Constructor Details

    • Host

      public Host(ObjectMap<String> raw)
      Create an API representation of a Host
      Parameters:
      raw - Raw representation of the Host
  • Method Details

    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • refresh

      public void refresh()
      Download a new copy of the data from SubData
    • getSubData

      public DataSender[] getSubData()
      Gets the SubData Client Channel IDs
      Returns:
      SubData Client Channel ID Array (may be empty if unsupported)
    • isAvailable

      public boolean isAvailable()
      Is this Host Available?
      Returns:
      Availability Status
    • isEnabled

      public boolean isEnabled()
      Is this Host Enabled?
      Returns:
      Enabled Status
    • getAddress

      public InetAddress getAddress()
      Get the Address of this Host
      Returns:
      Host Address
    • getPath

      public String getPath()
      Get the host Directory Path
      Returns:
      Host Directory Path
    • getName

      public String getName()
      Get the Name of this Host
      Returns:
      Host Name
    • getDisplayName

      public String getDisplayName()
      Get the Display Name of this Host
      Returns:
      Display Name
    • getRemotePlayers

      public Collection<Pair<String,UUID>> getRemotePlayers()
      Get players on servers provided by this host across all known proxies
      Returns:
      Remote Player Collection
    • getRemotePlayers

      public void getRemotePlayers(Consumer<Collection<RemotePlayer>> callback)
      Get the players on servers provided by this host across all known proxies
      Parameters:
      callback - Remote Player Collection
    • start

      public void start(String... servers)
      Starts the Servers Specified
      Parameters:
      servers - Servers
    • start

      public void start(UUID player, String... servers)
      Starts the Servers Specified
      Parameters:
      player - Player who started
      servers - Servers
    • stop

      public void stop(String... servers)
      Stops the Servers Specified
      Parameters:
      servers - Servers
    • stop

      public void stop(UUID player, String... servers)
      Stops the Servers Specified
      Parameters:
      player - Player who started
      servers - Servers
    • terminate

      public void terminate(String... servers)
      Terminates the Servers Specified
      Parameters:
      servers - Servers
    • terminate

      public void terminate(UUID player, String... servers)
      Terminates the Servers Specified
      Parameters:
      player - Player who started
      servers - Servers
    • command

      public void command(String command, String... servers)
      Commands the Servers Specified
      Parameters:
      command - Command to send
      servers - Servers
    • command

      public void command(UUID player, String command, String... servers)
      Commands the Servers Specified
      Parameters:
      player - Player who started
      command - Command to send
      servers - Servers
    • getCreator

      public SubCreator getCreator()
      Gets the SubCreator Instance for this Host
      Returns:
      SubCreator
    • getSubServers

      public Map<String,? extends SubServer> getSubServers()
      Gets the SubServers on this Host
      Returns:
      SubServer Map
    • getSubServer

      public SubServer getSubServer(String name)
      Gets a SubServer
      Parameters:
      name - SubServer Name
      Returns:
      a SubServer
    • addSubServer

      public void addSubServer(String name, boolean enabled, int port, String motd, boolean log, String directory, String executable, String stopcmd, boolean hidden, boolean restricted, IntConsumer response)
      Adds a SubServer
      Parameters:
      name - Name of Server
      enabled - Enabled Status
      port - Port Number
      motd - Motd of the Server
      log - Logging Status
      directory - Directory
      executable - Executable String
      stopcmd - Command to Stop the Server
      hidden - if the server should be hidden from players
      restricted - Players will need a permission to join if true
      response - Response Code
    • addSubServer

      public void addSubServer(UUID player, String name, boolean enabled, int port, String motd, boolean log, String directory, String executable, String stopcmd, boolean hidden, boolean restricted, IntConsumer response)
      Adds a SubServer
      Parameters:
      player - Player adding
      name - Name of Server
      enabled - Enabled Status
      port - Port Number
      motd - Motd of the Server
      log - Logging Status
      directory - Directory
      executable - Executable String
      stopcmd - Command to Stop the Server
      hidden - if the server should be hidden from players
      restricted - Players will need a permission to join if true
      response - Response Code
    • addSubServer

      public void addSubServer(String name, boolean enabled, int port, String motd, boolean log, String directory, String executable, String stopcmd, boolean hidden, boolean restricted)
      Adds a SubServer
      Parameters:
      name - Name of Server
      enabled - Enabled Status
      port - Port Number
      motd - Motd of the Server
      log - Logging Status
      directory - Directory
      executable - Executable String
      stopcmd - Command to Stop the Server
      hidden - if the server should be hidden from players
      restricted - Players will need a permission to join if true
    • addSubServer

      public void addSubServer(UUID player, String name, boolean enabled, int port, String motd, boolean log, String directory, String executable, String stopcmd, boolean hidden, boolean restricted)
      Adds a SubServer
      Parameters:
      player - Player adding
      name - Name of Server
      enabled - Enabled Status
      port - Port Number
      motd - Motd of the Server
      log - Logging Status
      directory - Directory
      executable - Executable String
      stopcmd - Command to Stop the Server
      hidden - if the server should be hidden from players
      restricted - Players will need a permission to join if true
    • removeSubServer

      public void removeSubServer(String name)
      Removes a SubServer
      Parameters:
      name - SubServer Name
    • removeSubServer

      public void removeSubServer(UUID player, String name)
      Removes a SubServer
      Parameters:
      player - Player Removing
      name - SubServer Name
    • forceRemoveSubServer

      public void forceRemoveSubServer(String name)
      Forces the Removal of a SubServer
      Parameters:
      name - SubServer Name
    • forceRemoveSubServer

      public void forceRemoveSubServer(UUID player, String name)
      Forces the Removal of a SubServer
      Parameters:
      player - Player Removing
      name - SubServer Name
    • removeSubServer

      public void removeSubServer(String name, IntConsumer response)
      Removes a SubServer
      Parameters:
      name - SubServer Name
      response - Response Code
    • removeSubServer

      public void removeSubServer(UUID player, String name, IntConsumer response)
      Removes a SubServer
      Parameters:
      player - Player Removing
      name - SubServer Name
      response - Response Code
    • forceRemoveSubServer

      public void forceRemoveSubServer(String name, IntConsumer response)
      Forces the Removal of a SubServer
      Parameters:
      name - SubServer Name
      response - Response Code
    • forceRemoveSubServer

      public void forceRemoveSubServer(UUID player, String name, IntConsumer response)
      Forces the Removal of a SubServer
      Parameters:
      player - Player Removing
      name - SubServer Name
      response - Response Code
    • recycleSubServer

      public void recycleSubServer(String name)
      Deletes a SubServer (will move to 'Recently Deleted')
      Parameters:
      name - SubServer Name
    • recycleSubServer

      public void recycleSubServer(UUID player, String name)
      Deletes a SubServer (will move to 'Recently Deleted')
      Parameters:
      player - Player Deleting
      name - SubServer Name
    • forceRecycleSubServer

      public void forceRecycleSubServer(String name)
      Forces the Deletion of a SubServer (will move to 'Recently Deleted')
      Parameters:
      name - SubServer Name
    • forceRecycleSubServer

      public void forceRecycleSubServer(UUID player, String name)
      Forces the Deletion of a SubServer (will move to 'Recently Deleted')
      Parameters:
      player - Player Deleting
      name - SubServer Name
    • recycleSubServer

      public void recycleSubServer(String name, IntConsumer response)
      Deletes a SubServer (will move to 'Recently Deleted')
      Parameters:
      name - SubServer Name
      response - Response Code
    • recycleSubServer

      public void recycleSubServer(UUID player, String name, IntConsumer response)
      Deletes a SubServer (will move to 'Recently Deleted')
      Parameters:
      player - Player Deleting
      name - SubServer Name
      response - Response Code
    • forceRecycleSubServer

      public void forceRecycleSubServer(String name, IntConsumer response)
      Forces the Deletion of a SubServer (will move to 'Recently Deleted')
      Parameters:
      name - SubServer Name
      response - Response Code
    • forceRecycleSubServer

      public void forceRecycleSubServer(UUID player, String name, IntConsumer response)
      Forces the Deletion of a SubServer (will move to 'Recently Deleted')
      Parameters:
      player - Player Deleting
      name - SubServer Name
      response - Response Code
    • deleteSubServer

      public void deleteSubServer(String name)
      Deletes a SubServer
      Parameters:
      name - SubServer Name
    • deleteSubServer

      public void deleteSubServer(UUID player, String name)
      Deletes a SubServer
      Parameters:
      player - Player Deleting
      name - SubServer Name
    • forceDeleteSubServer

      public void forceDeleteSubServer(String name)
      Forces the Deletion of a SubServer
      Parameters:
      name - SubServer Name
    • forceDeleteSubServer

      public void forceDeleteSubServer(UUID player, String name)
      Forces the Deletion of a SubServer
      Parameters:
      player - Player Deleting
      name - SubServer Name
    • deleteSubServer

      public void deleteSubServer(String name, IntConsumer response)
      Deletes a SubServer
      Parameters:
      name - SubServer Name
    • deleteSubServer

      public void deleteSubServer(UUID player, String name, IntConsumer response)
      Deletes a SubServer
      Parameters:
      player - Player Deleting
      name - SubServer Name
    • forceDeleteSubServer

      public void forceDeleteSubServer(String name, IntConsumer response)
      Forces the Deletion of a SubServer
      Parameters:
      name - SubServer Name
    • forceDeleteSubServer

      public void forceDeleteSubServer(UUID player, String name, IntConsumer response)
      Forces the Deletion of a SubServer
      Parameters:
      player - Player Deleting
      name - SubServer Name
    • getSignature

      public final String getSignature()
      Get the Signature of this Object
      Returns:
      Object Signature
    • getTimestamp

      public long getTimestamp()
      Get the Timestamp for when the data was last refreshed
      Returns:
      Data Timestamp
    • hasExtra

      public boolean hasExtra(String handle)
      Determine if an extra value exists
      Parameters:
      handle - Handle
      Returns:
      Value Status
    • getExtra

      public ObjectMapValue<String> getExtra(String handle)
      Get an extra value
      Parameters:
      handle - Handle
      Returns:
      Value
    • getExtra

      public ObjectMap<String> getExtra()
      Get the extra value section
      Returns:
      Extra Value Section
    • getRaw

      public ObjectMap<String> getRaw()
      Get the raw representation of the Host
      Returns:
      Raw Host