Interface CompoundBinaryTag

All Superinterfaces:
BinaryTag, BinaryTagLike, CompoundTagSetter<CompoundBinaryTag>, net.kyori.examination.Examinable, Iterable<Map.Entry<String,​? extends BinaryTag>>

public interface CompoundBinaryTag
extends BinaryTag, CompoundTagSetter<CompoundBinaryTag>, Iterable<Map.Entry<String,​? extends BinaryTag>>
Binary tag holding a mapping of string keys to BinaryTag values.
Since:
4.0.0
  • Method Details

    • empty

      static @NonNull CompoundBinaryTag empty()
      Gets an empty compound tag.
      Returns:
      an empty tag
      Since:
      4.0.0
    • from

      static @NonNull CompoundBinaryTag from​(@NonNull Map<String,​? extends BinaryTag> tags)
      Creates a compound tag populated with tags.

      If tags is empty, empty() will be returned.

      Returns:
      a compound tag
      Since:
      4.4.0
    • builder

      static @NonNull CompoundBinaryTag.Builder builder()
      Creates a builder.
      Returns:
      a new builder
      Since:
      4.0.0
    • type

      default @NonNull BinaryTagType<CompoundBinaryTag> type()
      Description copied from interface: BinaryTag
      Gets the tag type.
      Specified by:
      type in interface BinaryTag
      Returns:
      the tag type
    • keySet

      @NonNull Set<String> keySet()
      Gets a set of all keys.
      Returns:
      the keys
      Since:
      4.0.0
    • get

      @Nullable BinaryTag get​(String key)
      Gets a tag.
      Parameters:
      key - the key
      Returns:
      a tag
      Since:
      4.0.0
    • getBoolean

      default boolean getBoolean​(@NonNull String key)
      Gets a boolean.

      Booleans are stored as a ByteBinaryTag with a value of 0 for false and 1 for true.

      Parameters:
      key - the key
      Returns:
      the boolean value, or false if this compound does not contain a boolean tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getBoolean

      default boolean getBoolean​(@NonNull String key, boolean defaultValue)
      Gets a boolean.

      Booleans are stored as a ByteBinaryTag with a value of 0 for false and 1 for true.

      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the boolean value, or defaultValue if this compound does not contain a boolean tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getByte

      default byte getByte​(@NonNull String key)
      Gets a byte.
      Parameters:
      key - the key
      Returns:
      the byte value, or 0 if this compound does not contain a byte tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getByte

      byte getByte​(@NonNull String key, byte defaultValue)
      Gets a byte.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the byte value, or defaultValue if this compound does not contain a byte tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getShort

      default short getShort​(@NonNull String key)
      Gets a short.
      Parameters:
      key - the key
      Returns:
      the short value, or 0 if this compound does not contain a short tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getShort

      short getShort​(@NonNull String key, short defaultValue)
      Gets a short.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the short value, or defaultValue if this compound does not contain a short tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getInt

      default int getInt​(@NonNull String key)
      Gets an int.
      Parameters:
      key - the key
      Returns:
      the int value, or 0 if this compound does not contain an int tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getInt

      int getInt​(@NonNull String key, int defaultValue)
      Gets an int.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the int value, or defaultValue if this compound does not contain an int tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getLong

      default long getLong​(@NonNull String key)
      Gets a long.
      Parameters:
      key - the key
      Returns:
      the long value, or 0 if this compound does not contain a long tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getLong

      long getLong​(@NonNull String key, long defaultValue)
      Gets a long.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the long value, or defaultValue if this compound does not contain a long tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getFloat

      default float getFloat​(@NonNull String key)
      Gets a float.
      Parameters:
      key - the key
      Returns:
      the float value, or 0 if this compound does not contain a float tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getFloat

      float getFloat​(@NonNull String key, float defaultValue)
      Gets a float.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the float value, or defaultValue if this compound does not contain a float tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getDouble

      default double getDouble​(@NonNull String key)
      Gets a double.
      Parameters:
      key - the key
      Returns:
      the double value, or 0 if this compound does not contain a double tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getDouble

      double getDouble​(@NonNull String key, double defaultValue)
      Gets a double.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the double value, or defaultValue if this compound does not contain a double tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getByteArray

      byte @NonNull [] getByteArray​(@NonNull String key)
      Gets an array of bytes.
      Parameters:
      key - the key
      Returns:
      the array of bytes, or a zero-length array if this compound does not contain a byte array tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getByteArray

      byte @NonNull [] getByteArray​(@NonNull String key, byte @NonNull [] defaultValue)
      Gets an array of bytes.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the array of bytes, or defaultValue
      Since:
      4.0.0
    • getString

      default @NonNull String getString​(@NonNull String key)
      Gets a string.
      Parameters:
      key - the key
      Returns:
      the string value, or "" if this compound does not contain a string tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getString

      @NonNull String getString​(@NonNull String key, @NonNull String defaultValue)
      Gets a string.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the string value, or defaultValue if this compound does not contain a string tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getList

      default @NonNull ListBinaryTag getList​(@NonNull String key)
      Gets a list.
      Parameters:
      key - the key
      Returns:
      the list, or a new list if this compound does not contain a list tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getList

      @NonNull ListBinaryTag getList​(@NonNull String key, @NonNull ListBinaryTag defaultValue)
      Gets a list.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the list, or defaultValue if this compound does not contain a list tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getList

      default @NonNull ListBinaryTag getList​(@NonNull String key, @NonNull BinaryTagType<? extends BinaryTag> expectedType)
      Gets a list, ensuring that the type is the same as type.
      Parameters:
      key - the key
      expectedType - the expected list type
      Returns:
      the list, or a new list if this compound does not contain a list tag with the specified key, has a tag with a different type, or the list type does not match expectedType
      Since:
      4.0.0
    • getList

      @NonNull ListBinaryTag getList​(@NonNull String key, @NonNull BinaryTagType<? extends BinaryTag> expectedType, @NonNull ListBinaryTag defaultValue)
      Gets a list, ensuring that the type is the same as type.
      Parameters:
      key - the key
      expectedType - the expected list type
      defaultValue - the default value
      Returns:
      the list, or defaultValue if this compound does not contain a list tag with the specified key, has a tag with a different type, or the list type does not match expectedType
      Since:
      4.0.0
    • getCompound

      default @NonNull CompoundBinaryTag getCompound​(@NonNull String key)
      Gets a compound.
      Parameters:
      key - the key
      Returns:
      the compound, or a new compound if this compound does not contain a compound tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getCompound

      @NonNull CompoundBinaryTag getCompound​(@NonNull String key, @NonNull CompoundBinaryTag defaultValue)
      Gets a compound.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the compound, or defaultValue if this compound does not contain a compound tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getIntArray

      int @NonNull [] getIntArray​(@NonNull String key)
      Gets an array of ints.
      Parameters:
      key - the key
      Returns:
      the array of ints, or a zero-length array if this compound does not contain a int array tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getIntArray

      int @NonNull [] getIntArray​(@NonNull String key, int @NonNull [] defaultValue)
      Gets an array of ints.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the array of ints, or defaultValue
      Since:
      4.0.0
    • getLongArray

      long @NonNull [] getLongArray​(@NonNull String key)
      Gets an array of longs.
      Parameters:
      key - the key
      Returns:
      the array of longs, or a zero-length array if this compound does not contain a long array tag with the specified key, or has a tag with a different type
      Since:
      4.0.0
    • getLongArray

      long @NonNull [] getLongArray​(@NonNull String key, long @NonNull [] defaultValue)
      Gets an array of longs.
      Parameters:
      key - the key
      defaultValue - the default value
      Returns:
      the array of longs, or defaultValue
      Since:
      4.0.0