Interface ConfigList

All Superinterfaces:
Collection<ConfigValue>, ConfigMergeable, ConfigValue, Iterable<ConfigValue>, List<ConfigValue>, SequencedCollection<ConfigValue>

public interface ConfigList extends List<ConfigValue>, ConfigValue
Subtype of ConfigValue representing a list value, as in JSON's [1,2,3] syntax.

ConfigList implements java.util.List<ConfigValue> so you can use it like a regular Java list. Or call unwrapped() to unwrap the list elements into plain Java values.

Like all ConfigValue subtypes, ConfigList is immutable. This makes it threadsafe and you never have to create "defensive copies." The mutator methods from List all throw UnsupportedOperationException.

The ConfigValue.valueType() method on a list returns ConfigValueType.LIST.

Do not implement ConfigList; it should only be implemented by the config library. Arbitrary implementations will not work because the library internals assume a specific concrete implementation. Also, this interface is likely to grow new methods over time, so third-party implementations will break.

  • Method Details

    • unwrapped

      List<Object> unwrapped()
      Recursively unwraps the list, returning a list of plain Java values such as Integer or String or whatever is in the list.
      Specified by:
      unwrapped in interface ConfigValue
      Returns:
      a List containing plain Java objects
    • withOrigin

      ConfigList withOrigin(ConfigOrigin origin)
      Description copied from interface: ConfigValue
      Returns a ConfigValue based on this one, but with the given origin. This is useful when you are parsing a new format of file or setting comments for a single ConfigValue.
      Specified by:
      withOrigin in interface ConfigValue
      Parameters:
      origin - the origin set on the returned value
      Returns:
      the new ConfigValue with the given origin