Interface Container

All Known Implementing Classes:
MetadataContainer

public interface Container
A container joins together global metadata with specific one or more plugin metadata.

How the vendor utilizes this concept is largely left up to their discretion. A typical use case would be to load a file as a container.

See Also:
  • Method Details

    • loader

      ContainerLoader loader()
      Returns:
      The loader.
    • license

      String license()
      Gets the license of the data within this container.

      Consult the vendor for how this field is used.

      In the generic implementation, a license's name is expected.

      Notable examples include MIT or All Rights Reserved.

      Returns:
      The license
    • mappings

      Optional<String> mappings()
      Gets the mappings that code within this container might be written in.

      The format of this string should be in maven dependency format (group:artifact:version).

      Consult the vendor for how this field is used. As an example, that entity could use this purely for information purposes or go farther and perform artifact remapping from these mappings to another.

      Returns:
      The mappings or Optional.empty() otherwise
    • globalMetadata

      Optional<Inheritable> globalMetadata()
      Returns:
      The global metadata or Optional.empty() otherwise
    • metadata

      Gets a plugin metadata by its id.

      This maps to PluginMetadata.id().

      Parameters:
      id - The id
      Returns:
      The plugin metadata or Optional.empty() otherwise
    • metadata

      Set<PluginMetadata> metadata()
      Returns:
      All of the plugin metadata as an unmodifiable Set.