Class ConfigValue<T>

    • Constructor Detail

      • ConfigValue

        protected ConfigValue​(@NotNull
                              @NotNull ValueManifest<T> manifest)
    • Method Detail

      • get

        @Nullable
        public abstract T get()
        Gets the configured value (i.e., the value read from the source).
        If no default value was written during initialization, you can use the getOrDefault() method to obtain the default value when this value is empty.
        Returns:
        Configured value
      • getOrDefault

        public T getOrDefault()
        Gets the configured value, or returns the default value if not present.
        Returns:
        Configured value or default value
      • resolve

        @NotNull
        public T resolve()
        Gets the non-null value of this configuration.
        Returns:
        Non-null value
        Throws:
        java.lang.NullPointerException - Thrown when the corresponding data is null
      • getNotNull

        @NotNull
        public T getNotNull()
        Gets the non-null value of this configuration.
        Returns:
        Non-null value
        Throws:
        java.lang.NullPointerException - Thrown when the corresponding data is null
        See Also:
        for a more descriptive function
      • optional

        @NotNull
        public @NotNull java.util.Optional<@Nullable T> optional()
        Gets the value of this configuration as an Optional.
        Returns:
        Optional value
      • set

        public abstract void set​(@Nullable
                                 T value)
        Sets the value of this configuration.
        After setting, the configuration file will NOT be saved automatically. To save, call ConfigurationHolder.save().
        Parameters:
        value - The value to set
      • setDefault

        public void setDefault()
        Initializes the default value for this configuration.
        After setting, the configuration file will NOT be saved automatically. To save, call ConfigurationHolder.save().
      • setDefault

        public void setDefault​(boolean override)
        Sets the configuration value to its default.
        After setting, the configuration file will NOT be saved automatically. To save, call ConfigurationHolder.save().
        Parameters:
        override - Whether to overwrite existing configured value
      • isDefault

        public boolean isDefault()
        Checks if the loaded configuration value matches the default value.
        Returns:
        Whether the current value is the default value
      • save

        public void save()
                  throws java.lang.Exception
        Try to save the configuration.
        To save multiple modifications, it is recommended to call ConfigurationHolder.save() after all modifications are completed instead of this.
        Throws:
        java.lang.Exception - Thrown when an error occurs during saving