Class PermissionUserGroupInfo

java.lang.Object
eu.cloudnetservice.driver.permission.PermissionUserGroupInfo
All Implemented Interfaces:
eu.cloudnetservice.common.document.property.DefaultedDocPropertyHolder<eu.cloudnetservice.common.document.gson.JsonDocument,PermissionUserGroupInfo>, eu.cloudnetservice.common.document.property.DocPropertyHolder<eu.cloudnetservice.common.document.gson.JsonDocument,PermissionUserGroupInfo>

public class PermissionUserGroupInfo extends Object implements eu.cloudnetservice.common.document.property.DefaultedDocPropertyHolder<eu.cloudnetservice.common.document.gson.JsonDocument,PermissionUserGroupInfo>
The permission user group info specifies the time-out of a permission group for a permission user.
Since:
4.0
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    A builder for permission user group infos.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final String
     
    private final eu.cloudnetservice.common.document.gson.JsonDocument
     
    private final long
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    PermissionUserGroupInfo(@NonNull String group, long timeOutMillis, @NonNull eu.cloudnetservice.common.document.gson.JsonDocument properties)
    Creates a new permission user group info, that creates a relation between a permission user and a permission group.
  • Method Summary

    Modifier and Type
    Method
    Description
    Creates a new permission group info builder instance with all default values.
    Creates a new permission group info builder instance and copies all values from the given permission group info.
    Gets the name of the permission user group info.
    @NonNull eu.cloudnetservice.common.document.gson.JsonDocument
    long
    Gets the expiry timeout for this group.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface eu.cloudnetservice.common.document.property.DefaultedDocPropertyHolder

    propertyAbsent, propertyPresent, readProperty, readPropertyOrDefault, readPropertyOrGet, readPropertyOrThrow, readPropertyOrThrow, removeProperty, writeProperty, writePropertyIfAbsent, writePropertyIfAbsent, writePropertyIfPresent, writePropertyIfPresent
  • Field Details

    • group

      private final String group
    • timeOutMillis

      private final long timeOutMillis
    • properties

      private final eu.cloudnetservice.common.document.gson.JsonDocument properties
  • Constructor Details

    • PermissionUserGroupInfo

      protected PermissionUserGroupInfo(@NonNull @NonNull String group, long timeOutMillis, @NonNull @NonNull eu.cloudnetservice.common.document.gson.JsonDocument properties)
      Creates a new permission user group info, that creates a relation between a permission user and a permission group.
      Parameters:
      group - the name of the group.
      timeOutMillis - the timestamp for the timeout of the group.
      properties - extra properties for the group info.
  • Method Details

    • builder

      Creates a new permission group info builder instance with all default values.
      Returns:
      the new builder instance.
    • builder

      Creates a new permission group info builder instance and copies all values from the given permission group info.
      Parameters:
      info - the group info to copy from.
      Returns:
      the new builder instance.
      Throws:
      NullPointerException - if the given info is null.
    • group

      @NonNull public @NonNull String group()
      Gets the name of the permission user group info.
      Returns:
      the group name.
    • timeOutMillis

      public long timeOutMillis()
      Gets the expiry timeout for this group.

      The timeout is a unix timestamp, which specifies at which absolute time the given permission should expire. A timeout less than 1 indicated that this group does not expire.

      Returns:
      the timeout timestamp.
    • propertyHolder

      @NonNull public @NonNull eu.cloudnetservice.common.document.gson.JsonDocument propertyHolder()
      Specified by:
      propertyHolder in interface eu.cloudnetservice.common.document.property.DocPropertyHolder<eu.cloudnetservice.common.document.gson.JsonDocument,PermissionUserGroupInfo>