Class MemorySection

    • Constructor Detail

      • MemorySection

        protected MemorySection​(@NotNull
                                ConfigurationSection parent,
                                @NotNull
                                String path)
        Creates an empty MemorySection with the specified parent and path.
        Parameters:
        parent - Parent section that contains this own section.
        path - Path that you may access this section from via the root Configuration.
        Throws:
        IllegalArgumentException - Thrown is parent or path is null, or if parent contains no root Configuration.
    • Method Detail

      • getKeys

        @NotNull
        public Set<String> getKeys​(boolean deep)
        Description copied from interface: ConfigurationSection
        Gets a set containing all keys in this section.

        If deep is set to true, then this will contain all the keys within any child ConfigurationSections (and their children, etc). These will be in a valid path notation for you to use.

        If deep is set to false, then this will contain only the keys of any direct children, and not their own children.

        Specified by:
        getKeys in interface ConfigurationSection
        Parameters:
        deep - Whether or not to get a deep list, as opposed to a shallow list.
        Returns:
        Set of keys contained within this ConfigurationSection.
      • getValues

        @NotNull
        public Map<String,​Object> getValues​(boolean deep)
        Description copied from interface: ConfigurationSection
        Gets a Map containing all keys and their values for this section.

        If deep is set to true, then this will contain all the keys and values within any child ConfigurationSections (and their children, etc). These keys will be in a valid path notation for you to use.

        If deep is set to false, then this will contain only the keys and values of any direct children, and not their own children.

        Specified by:
        getValues in interface ConfigurationSection
        Parameters:
        deep - Whether or not to get a deep list, as opposed to a shallow list.
        Returns:
        Map of keys and values of this section.
      • contains

        public boolean contains​(@NotNull
                                String path)
        Description copied from interface: ConfigurationSection
        Checks if this ConfigurationSection contains the given path.

        If the value for the requested path does not exist but a default value has been specified, this will return true.

        Specified by:
        contains in interface ConfigurationSection
        Parameters:
        path - Path to check for existence.
        Returns:
        True if this section contains the requested path, either via default or being set.
      • contains

        public boolean contains​(@NotNull
                                String path,
                                boolean ignoreDefault)
        Description copied from interface: ConfigurationSection
        Checks if this ConfigurationSection contains the given path.

        If the value for the requested path does not exist, the boolean parameter of true has been specified, a default value for the path exists, this will return true.

        If a boolean parameter of false has been specified, true will only be returned if there is a set value for the specified path.

        Specified by:
        contains in interface ConfigurationSection
        Parameters:
        path - Path to check for existence.
        ignoreDefault - Whether or not to ignore if a default value for the specified path exists.
        Returns:
        True if this section contains the requested path, or if a default value exist and the boolean parameter for this method is true.
      • isSet

        public boolean isSet​(@NotNull
                             String path)
        Description copied from interface: ConfigurationSection
        Checks if this ConfigurationSection has a value set for the given path.

        If the value for the requested path does not exist but a default value has been specified, this will still return false.

        Specified by:
        isSet in interface ConfigurationSection
        Parameters:
        path - Path to check for existence.
        Returns:
        True if this section contains the requested path, regardless of having a default.
      • addDefault

        public void addDefault​(@NotNull
                               String path,
                               @Nullable
                               Object value)
        Description copied from interface: ConfigurationSection
        Sets the default value in the root at the given path as provided.

        If no source Configuration was provided as a default collection, then a new MemoryConfiguration will be created to hold the new default value.

        If value is null, the value will be removed from the default Configuration source.

        If the value as returned by ConfigurationSection.getDefaultSection() is null, then this will create a new section at the path, replacing anything that may have existed there previously.

        Specified by:
        addDefault in interface ConfigurationSection
        Parameters:
        path - Path of the value to set.
        value - Value to set the default to.
      • set

        public void set​(@NotNull
                        String path,
                        @Nullable
                        Object value)
        Description copied from interface: ConfigurationSection
        Sets the specified path to the given value.

        If value is null, the entry will be removed. Any existing entry will be replaced, regardless of what the new value is.

        Some implementations may have limitations on what you may store. See their individual javadocs for details. No implementations should allow you to store Configurations or ConfigurationSections, please use ConfigurationSection.createSection(java.lang.String) for that.

        Specified by:
        set in interface ConfigurationSection
        Parameters:
        path - Path of the object to set.
        value - New value to set the path to.
      • get

        @Nullable
        public Object get​(@NotNull
                          String path)
        Description copied from interface: ConfigurationSection
        Gets the requested Object by path.

        If the Object does not exist but a default value has been specified, this will return the default value. If the Object does not exist and no default value was specified, this will return null.

        Specified by:
        get in interface ConfigurationSection
        Parameters:
        path - Path of the Object to get.
        Returns:
        Requested Object.
      • get

        @Nullable
        public Object get​(@NotNull
                          String path,
                          @Nullable
                          Object def)
        Description copied from interface: ConfigurationSection
        Gets the requested Object by path, returning a default value if not found.

        If the Object does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        get in interface ConfigurationSection
        Parameters:
        path - Path of the Object to get.
        def - The default value to return if the path is not found.
        Returns:
        Requested Object.
      • getString

        @Nullable
        public String getString​(@NotNull
                                String path)
        Description copied from interface: ConfigurationSection
        Gets the requested String by path.

        If the String does not exist but a default value has been specified, this will return the default value. If the String does not exist and no default value was specified, this will return null.

        Specified by:
        getString in interface ConfigurationSection
        Parameters:
        path - Path of the String to get.
        Returns:
        Requested String.
      • getString

        @Nullable
        public String getString​(@NotNull
                                String path,
                                @Nullable
                                String def)
        Description copied from interface: ConfigurationSection
        Gets the requested String by path, returning a default value if not found.

        If the String does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getString in interface ConfigurationSection
        Parameters:
        path - Path of the String to get.
        def - The default value to return if the path is not found or is not a String.
        Returns:
        Requested String.
      • isString

        public boolean isString​(@NotNull
                                String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is a String.

        If the path exists but is not a String, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a String and return appropriately.

        Specified by:
        isString in interface ConfigurationSection
        Parameters:
        path - Path of the String to check.
        Returns:
        Whether or not the specified path is a String.
      • getInt

        public int getInt​(@NotNull
                          String path)
        Description copied from interface: ConfigurationSection
        Gets the requested int by path.

        If the int does not exist but a default value has been specified, this will return the default value. If the int does not exist and no default value was specified, this will return 0.

        Specified by:
        getInt in interface ConfigurationSection
        Parameters:
        path - Path of the int to get.
        Returns:
        Requested int.
      • getInt

        public int getInt​(@NotNull
                          String path,
                          int def)
        Description copied from interface: ConfigurationSection
        Gets the requested int by path, returning a default value if not found.

        If the int does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getInt in interface ConfigurationSection
        Parameters:
        path - Path of the int to get.
        def - The default value to return if the path is not found or is not an int.
        Returns:
        Requested int.
      • isInt

        public boolean isInt​(@NotNull
                             String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is an int.

        If the path exists but is not a int, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a int and return appropriately.

        Specified by:
        isInt in interface ConfigurationSection
        Parameters:
        path - Path of the int to check.
        Returns:
        Whether or not the specified path is an int.
      • getBoolean

        public boolean getBoolean​(@NotNull
                                  String path)
        Description copied from interface: ConfigurationSection
        Gets the requested boolean by path.

        If the boolean does not exist but a default value has been specified, this will return the default value. If the boolean does not exist and no default value was specified, this will return false.

        Specified by:
        getBoolean in interface ConfigurationSection
        Parameters:
        path - Path of the boolean to get.
        Returns:
        Requested boolean.
      • getBoolean

        public boolean getBoolean​(@NotNull
                                  String path,
                                  boolean def)
        Description copied from interface: ConfigurationSection
        Gets the requested boolean by path, returning a default value if not found.

        If the boolean does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getBoolean in interface ConfigurationSection
        Parameters:
        path - Path of the boolean to get.
        def - The default value to return if the path is not found or is not a boolean.
        Returns:
        Requested boolean.
      • isBoolean

        public boolean isBoolean​(@NotNull
                                 String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is a boolean.

        If the path exists but is not a boolean, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a boolean and return appropriately.

        Specified by:
        isBoolean in interface ConfigurationSection
        Parameters:
        path - Path of the boolean to check.
        Returns:
        Whether or not the specified path is a boolean.
      • getDouble

        public double getDouble​(@NotNull
                                String path)
        Description copied from interface: ConfigurationSection
        Gets the requested double by path.

        If the double does not exist but a default value has been specified, this will return the default value. If the double does not exist and no default value was specified, this will return 0.

        Specified by:
        getDouble in interface ConfigurationSection
        Parameters:
        path - Path of the double to get.
        Returns:
        Requested double.
      • getDouble

        public double getDouble​(@NotNull
                                String path,
                                double def)
        Description copied from interface: ConfigurationSection
        Gets the requested double by path, returning a default value if not found.

        If the double does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getDouble in interface ConfigurationSection
        Parameters:
        path - Path of the double to get.
        def - The default value to return if the path is not found or is not a double.
        Returns:
        Requested double.
      • isDouble

        public boolean isDouble​(@NotNull
                                String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is a double.

        If the path exists but is not a double, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a double and return appropriately.

        Specified by:
        isDouble in interface ConfigurationSection
        Parameters:
        path - Path of the double to check.
        Returns:
        Whether or not the specified path is a double.
      • getLong

        public long getLong​(@NotNull
                            String path)
        Description copied from interface: ConfigurationSection
        Gets the requested long by path.

        If the long does not exist but a default value has been specified, this will return the default value. If the long does not exist and no default value was specified, this will return 0.

        Specified by:
        getLong in interface ConfigurationSection
        Parameters:
        path - Path of the long to get.
        Returns:
        Requested long.
      • getLong

        public long getLong​(@NotNull
                            String path,
                            long def)
        Description copied from interface: ConfigurationSection
        Gets the requested long by path, returning a default value if not found.

        If the long does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getLong in interface ConfigurationSection
        Parameters:
        path - Path of the long to get.
        def - The default value to return if the path is not found or is not a long.
        Returns:
        Requested long.
      • isLong

        public boolean isLong​(@NotNull
                              String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is a long.

        If the path exists but is not a long, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a long and return appropriately.

        Specified by:
        isLong in interface ConfigurationSection
        Parameters:
        path - Path of the long to check.
        Returns:
        Whether or not the specified path is a long.
      • getList

        @Nullable
        public List<?> getList​(@NotNull
                               String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return null.

        Specified by:
        getList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List.
      • getList

        @Nullable
        public List<?> getList​(@NotNull
                               String path,
                               @Nullable
                               List<?> def)
        Description copied from interface: ConfigurationSection
        Gets the requested List by path, returning a default value if not found.

        If the List does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        def - The default value to return if the path is not found or is not a List.
        Returns:
        Requested List.
      • isList

        public boolean isList​(@NotNull
                              String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is a List.

        If the path exists but is not a List, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a List and return appropriately.

        Specified by:
        isList in interface ConfigurationSection
        Parameters:
        path - Path of the List to check.
        Returns:
        Whether or not the specified path is a List.
      • getStringList

        @NotNull
        public List<String> getStringList​(@NotNull
                                          String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List of String by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

        This method will attempt to cast any values into a String if possible, but may miss any values out if they are not compatible.

        Specified by:
        getStringList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List of String.
      • getIntegerList

        @NotNull
        public List<Integer> getIntegerList​(@NotNull
                                            String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List of Integer by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

        This method will attempt to cast any values into a Integer if possible, but may miss any values out if they are not compatible.

        Specified by:
        getIntegerList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List of Integer.
      • getBooleanList

        @NotNull
        public List<Boolean> getBooleanList​(@NotNull
                                            String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List of Boolean by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

        This method will attempt to cast any values into a Boolean if possible, but may miss any values out if they are not compatible.

        Specified by:
        getBooleanList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List of Boolean.
      • getDoubleList

        @NotNull
        public List<Double> getDoubleList​(@NotNull
                                          String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List of Double by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

        This method will attempt to cast any values into a Double if possible, but may miss any values out if they are not compatible.

        Specified by:
        getDoubleList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List of Double.
      • getFloatList

        @NotNull
        public List<Float> getFloatList​(@NotNull
                                        String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List of Float by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

        This method will attempt to cast any values into a Float if possible, but may miss any values out if they are not compatible.

        Specified by:
        getFloatList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List of Float.
      • getLongList

        @NotNull
        public List<Long> getLongList​(@NotNull
                                      String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List of Long by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

        This method will attempt to cast any values into a Long if possible, but may miss any values out if they are not compatible.

        Specified by:
        getLongList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List of Long.
      • getByteList

        @NotNull
        public List<Byte> getByteList​(@NotNull
                                      String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List of Byte by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

        This method will attempt to cast any values into a Byte if possible, but may miss any values out if they are not compatible.

        Specified by:
        getByteList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List of Byte.
      • getCharacterList

        @NotNull
        public List<Character> getCharacterList​(@NotNull
                                                String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List of Character by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

        This method will attempt to cast any values into a Character if possible, but may miss any values out if they are not compatible.

        Specified by:
        getCharacterList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List of Character.
      • getShortList

        @NotNull
        public List<Short> getShortList​(@NotNull
                                        String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List of Short by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

        This method will attempt to cast any values into a Short if possible, but may miss any values out if they are not compatible.

        Specified by:
        getShortList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List of Short.
      • getMapList

        @NotNull
        public List<Map<?,​?>> getMapList​(@NotNull
                                               String path)
        Description copied from interface: ConfigurationSection
        Gets the requested List of Maps by path.

        If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

        This method will attempt to cast any values into a Map if possible, but may miss any values out if they are not compatible.

        Specified by:
        getMapList in interface ConfigurationSection
        Parameters:
        path - Path of the List to get.
        Returns:
        Requested List of Maps.
      • getObject

        @Nullable
        public <T> T getObject​(@NotNull
                               String path,
                               @NotNull
                               Class<T> clazz)
        Description copied from interface: ConfigurationSection
        Gets the requested object at the given path. If the Object does not exist but a default value has been specified, this will return the default value. If the Object does not exist and no default value was specified, this will return null. Note: For example #getObject(path, String.class) is not equivalent to #getString(path) because #getString(path) converts internally all Objects to Strings. However, #getObject(path, Boolean.class) is equivalent to #getBoolean(path) for example.
        Specified by:
        getObject in interface ConfigurationSection
        Type Parameters:
        T - the type of the requested object
        Parameters:
        path - the path to the object.
        clazz - the type of the requested object
        Returns:
        Requested object
      • getObject

        @Nullable
        public <T> T getObject​(@NotNull
                               String path,
                               @NotNull
                               Class<T> clazz,
                               @Nullable
                               T def)
        Description copied from interface: ConfigurationSection
        Gets the requested object at the given path, returning a default value if not found If the Object does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration. Note: For example #getObject(path, String.class, def) is not equivalent to #getString(path, def) because #getString(path, def) converts internally all Objects to Strings. However, #getObject(path, Boolean.class, def) is equivalent to #getBoolean(path, def) for example.
        Specified by:
        getObject in interface ConfigurationSection
        Type Parameters:
        T - the type of the requested object
        Parameters:
        path - the path to the object.
        clazz - the type of the requested object
        def - the default object to return if the object is not present at the path
        Returns:
        Requested object
      • getVector

        @Nullable
        public Vector getVector​(@NotNull
                                String path)
        Description copied from interface: ConfigurationSection
        Gets the requested Vector by path.

        If the Vector does not exist but a default value has been specified, this will return the default value. If the Vector does not exist and no default value was specified, this will return null.

        Specified by:
        getVector in interface ConfigurationSection
        Parameters:
        path - Path of the Vector to get.
        Returns:
        Requested Vector.
      • getVector

        @Nullable
        public Vector getVector​(@NotNull
                                String path,
                                @Nullable
                                Vector def)
        Description copied from interface: ConfigurationSection
        Gets the requested Vector by path, returning a default value if not found.

        If the Vector does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getVector in interface ConfigurationSection
        Parameters:
        path - Path of the Vector to get.
        def - The default value to return if the path is not found or is not a Vector.
        Returns:
        Requested Vector.
      • isVector

        public boolean isVector​(@NotNull
                                String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is a Vector.

        If the path exists but is not a Vector, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a Vector and return appropriately.

        Specified by:
        isVector in interface ConfigurationSection
        Parameters:
        path - Path of the Vector to check.
        Returns:
        Whether or not the specified path is a Vector.
      • getOfflinePlayer

        @Nullable
        public OfflinePlayer getOfflinePlayer​(@NotNull
                                              String path)
        Description copied from interface: ConfigurationSection
        Gets the requested OfflinePlayer by path.

        If the OfflinePlayer does not exist but a default value has been specified, this will return the default value. If the OfflinePlayer does not exist and no default value was specified, this will return null.

        Specified by:
        getOfflinePlayer in interface ConfigurationSection
        Parameters:
        path - Path of the OfflinePlayer to get.
        Returns:
        Requested OfflinePlayer.
      • getOfflinePlayer

        @Nullable
        public OfflinePlayer getOfflinePlayer​(@NotNull
                                              String path,
                                              @Nullable
                                              OfflinePlayer def)
        Description copied from interface: ConfigurationSection
        Gets the requested OfflinePlayer by path, returning a default value if not found.

        If the OfflinePlayer does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getOfflinePlayer in interface ConfigurationSection
        Parameters:
        path - Path of the OfflinePlayer to get.
        def - The default value to return if the path is not found or is not an OfflinePlayer.
        Returns:
        Requested OfflinePlayer.
      • isOfflinePlayer

        public boolean isOfflinePlayer​(@NotNull
                                       String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is an OfflinePlayer.

        If the path exists but is not a OfflinePlayer, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a OfflinePlayer and return appropriately.

        Specified by:
        isOfflinePlayer in interface ConfigurationSection
        Parameters:
        path - Path of the OfflinePlayer to check.
        Returns:
        Whether or not the specified path is an OfflinePlayer.
      • getItemStack

        @Nullable
        public ItemStack getItemStack​(@NotNull
                                      String path)
        Description copied from interface: ConfigurationSection
        Gets the requested ItemStack by path.

        If the ItemStack does not exist but a default value has been specified, this will return the default value. If the ItemStack does not exist and no default value was specified, this will return null.

        Specified by:
        getItemStack in interface ConfigurationSection
        Parameters:
        path - Path of the ItemStack to get.
        Returns:
        Requested ItemStack.
      • getItemStack

        @Nullable
        public ItemStack getItemStack​(@NotNull
                                      String path,
                                      @Nullable
                                      ItemStack def)
        Description copied from interface: ConfigurationSection
        Gets the requested ItemStack by path, returning a default value if not found.

        If the ItemStack does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getItemStack in interface ConfigurationSection
        Parameters:
        path - Path of the ItemStack to get.
        def - The default value to return if the path is not found or is not an ItemStack.
        Returns:
        Requested ItemStack.
      • isItemStack

        public boolean isItemStack​(@NotNull
                                   String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is an ItemStack.

        If the path exists but is not a ItemStack, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a ItemStack and return appropriately.

        Specified by:
        isItemStack in interface ConfigurationSection
        Parameters:
        path - Path of the ItemStack to check.
        Returns:
        Whether or not the specified path is an ItemStack.
      • getColor

        @Nullable
        public Color getColor​(@NotNull
                              String path)
        Description copied from interface: ConfigurationSection
        Gets the requested Color by path.

        If the Color does not exist but a default value has been specified, this will return the default value. If the Color does not exist and no default value was specified, this will return null.

        Specified by:
        getColor in interface ConfigurationSection
        Parameters:
        path - Path of the Color to get.
        Returns:
        Requested Color.
      • getColor

        @Nullable
        public Color getColor​(@NotNull
                              String path,
                              @Nullable
                              Color def)
        Description copied from interface: ConfigurationSection
        Gets the requested Color by path, returning a default value if not found.

        If the Color does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getColor in interface ConfigurationSection
        Parameters:
        path - Path of the Color to get.
        def - The default value to return if the path is not found or is not a Color.
        Returns:
        Requested Color.
      • isColor

        public boolean isColor​(@NotNull
                               String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is a Color.

        If the path exists but is not a Color, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a Color and return appropriately.

        Specified by:
        isColor in interface ConfigurationSection
        Parameters:
        path - Path of the Color to check.
        Returns:
        Whether or not the specified path is a Color.
      • getLocation

        @Nullable
        public Location getLocation​(@NotNull
                                    String path)
        Description copied from interface: ConfigurationSection
        Gets the requested Location by path.

        If the Location does not exist but a default value has been specified, this will return the default value. If the Location does not exist and no default value was specified, this will return null.

        Specified by:
        getLocation in interface ConfigurationSection
        Parameters:
        path - Path of the Location to get.
        Returns:
        Requested Location.
      • getLocation

        @Nullable
        public Location getLocation​(@NotNull
                                    String path,
                                    @Nullable
                                    Location def)
        Description copied from interface: ConfigurationSection
        Gets the requested Location by path, returning a default value if not found.

        If the Location does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

        Specified by:
        getLocation in interface ConfigurationSection
        Parameters:
        path - Path of the Location to get.
        def - The default value to return if the path is not found or is not a Location.
        Returns:
        Requested Location.
      • isLocation

        public boolean isLocation​(@NotNull
                                  String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is a Location.

        If the path exists but is not a Location, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a Location and return appropriately.

        Specified by:
        isLocation in interface ConfigurationSection
        Parameters:
        path - Path of the Location to check.
        Returns:
        Whether or not the specified path is a Location.
      • getConfigurationSection

        @Nullable
        public ConfigurationSection getConfigurationSection​(@NotNull
                                                            String path)
        Description copied from interface: ConfigurationSection
        Gets the requested ConfigurationSection by path.

        If the ConfigurationSection does not exist but a default value has been specified, this will return the default value. If the ConfigurationSection does not exist and no default value was specified, this will return null.

        Specified by:
        getConfigurationSection in interface ConfigurationSection
        Parameters:
        path - Path of the ConfigurationSection to get.
        Returns:
        Requested ConfigurationSection.
      • isConfigurationSection

        public boolean isConfigurationSection​(@NotNull
                                              String path)
        Description copied from interface: ConfigurationSection
        Checks if the specified path is a ConfigurationSection.

        If the path exists but is not a ConfigurationSection, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a ConfigurationSection and return appropriately.

        Specified by:
        isConfigurationSection in interface ConfigurationSection
        Parameters:
        path - Path of the ConfigurationSection to check.
        Returns:
        Whether or not the specified path is a ConfigurationSection.
      • isPrimitiveWrapper

        protected boolean isPrimitiveWrapper​(@Nullable
                                             Object input)
      • getDefault

        @Nullable
        protected Object getDefault​(@NotNull
                                    String path)
      • createPath

        @NotNull
        public static String createPath​(@NotNull
                                        ConfigurationSection section,
                                        @Nullable
                                        String key,
                                        @Nullable
                                        ConfigurationSection relativeTo)
        Creates a relative path to the given ConfigurationSection from the given relative section.

        You may use this method for any given ConfigurationSection, not only MemorySection.

        Parameters:
        section - Section to create a path for.
        key - Name of the specified section.
        relativeTo - Section to create the path relative to.
        Returns:
        Full path of the section from its root.