Interface TextResourceFactory


  • @Incubating
    public interface TextResourceFactory
    Creates TextResources backed by sources such as strings, files, and archive entries.

    Example usages:

     def sourcedFromString = resources.text.fromString("some text content")
    
     def sourcedFromFile = resources.text.fromFile("path/to/file.txt")
    
     task someTask {} // assumption: produces a text file and declares it as output
     def sourcedFromTask = resources.text.fromFile(someTask)
    
     def sourcedFromArchiveEntry =
       resources.text.fromArchiveEntry("path/to/archive.zip", "path/to/archive/entry.txt")
    
     configurations { someConfig } // assumption: contains a single archive
     def sourcedFromConfiguration =
       resources.text.fromArchiveEntry(configurations.someConfig, "path/to/archive/entry.txt")
     
    File based factory methods optionally accept a character encoding. If no encoding is specified, the platform's default encoding is used.
    Since:
    2.2
    • Method Detail

      • fromString

        TextResource fromString​(String string)
        Creates a text resource backed by the given string.
        Parameters:
        string - a string
        Returns:
        a text resource backed by the given string
      • fromFile

        TextResource fromFile​(Object file,
                              String charset)
        Creates a text resource backed by the given file.
        Parameters:
        file - a text file evaluated as per Project.files(Object...)
        charset - the file's character encoding (e.g. "utf-8")
        Returns:
        a text resource backed by the given file
      • fromFile

        TextResource fromFile​(Object file)
        Same as fromFile(file, Charset.defaultCharset()).
      • fromArchiveEntry

        TextResource fromArchiveEntry​(Object archive,
                                      String entryPath,
                                      String charset)
        Creates a text resource backed by the archive entry at the given path within the given archive. The archive format is determined based on the archive's file extension. If the archive format is not supported or cannot be determined, any attempt to access the resource will fail with an exception.
        Parameters:
        archive - an archive file evaluated as per Project.files(Object...)
        entryPath - the path to an archive entry
        charset - the archive entry's character encoding (e.g. "utf-8")
        Returns:
        a text resource backed by the archive entry at the given path within the given archive
      • fromArchiveEntry

        TextResource fromArchiveEntry​(Object archive,
                                      String path)
        Same as fromArchiveEntry(archive, path, Charset.defaultCharset().name()).