Interface PackContents

All Superinterfaces:
AutoCloseable, Nameable

public interface PackContents extends Nameable, AutoCloseable
Represents the container that stores resources for retrieval.
  • Method Details

    • resource

      Optional<Resource> resource(PackType type, ResourcePath path) throws IOException
      Gets a resource within a path per type.

      If a resource is returned, be aware that is requires closing when you have finished working with the resource.

      Parameters:
      type - The type
      path - The domain named path
      Returns:
      The resource
      Throws:
      IOException
    • requireResource

      Resource requireResource(PackType type, ResourcePath path) throws IOException
      Gets a resource within a path per type.

      Ensure that you close the resource once you have finished working with it!

      Parameters:
      type - The type
      path - The domain named path
      Returns:
      The resource
      Throws:
      IOException
    • paths

      Collection<ResourcePath> paths(PackType type, String namespace, String prefix, int depth, Predicate<String> filter)
      Finds all the ResourcePaths in this pack matching the prefix and filter, and within the given depth.
      Parameters:
      type - The type
      namespace - The namespace to search
      prefix - The prefix of the path
      depth - The depth to search
      filter - The filter every path must match
      Returns:
      A collection of matching paths
      See Also:
    • exists

      boolean exists(PackType type, ResourcePath path)
      Tests if this pack contains an entry at the given ResourcePath.
      Parameters:
      type - The type
      path - The resource path
      Returns:
      True if it exists, false if it does not
      See Also:
    • namespaces

      Set<String> namespaces(PackType type)
      Gets the namespaces per type.
      Parameters:
      type - The type
      Returns:
      The set of namespaces
    • close

      void close()
      Specified by:
      close in interface AutoCloseable