# Interface TextResource

All Superinterfaces:
  `Buildable`

public interface TextResource extends Buildable
A read-only body of text backed by a string, file, archive entry, or other source. To create a text resource, use one of the factory methods in `TextResourceFactory` (e.g. `project.resources.text.fromFile(myFile)`).

Since:
  2.2

- ## Method Summary

  Modifier and Type
  Method
  Description
  `File`
  `asFile()`
  Same as `asFile(Charset.defaultCharset().name())`.
  `File`
  `asFile(String charset)`
  Returns a file containing the resource's text and using the given character encoding.
  `Reader`
  `asReader()`
  Returns an unbuffered `Reader` that allows the resource's text to be read.
  `String`
  `asString()`
  Returns a string containing the resource's text
  `TaskDependency`
  `getBuildDependencies()`
  Returns a dependency which contains the tasks which build this artifact.
  `@Nullable FileCollection`
  `getInputFiles()`
  Returns the input files registered when this resource is used as task input.
  `@Nullable Object`
  `getInputProperties()`
  Returns the input properties registered when this resource is used as task input.

- ## Method Details

  - ### asString

    String asString()
    Returns a string containing the resource's text
    Returns:
      a string containing the resource's text

  - ### asReader

    Reader asReader()
    Returns an unbuffered `Reader` that allows the resource's text to be read. The caller is responsible for closing the reader.
    Returns:
      a reader that allows the resource's text to be read.

  - ### asFile

    File asFile(String charset)
    Returns a file containing the resource's text and using the given character encoding. If this resource is backed by a file with a matching encoding, that file may be returned. Otherwise, a temporary file will be created and returned.
    Parameters:
      `charset` - a character encoding (e.g. `"utf-8"`)
    Returns:
      a file containing the resource's text and using the given character encoding

  - ### asFile

    File asFile()
    Same as `asFile(Charset.defaultCharset().name())`.

  - ### getInputProperties

    @Optional @Input @Nullable Object getInputProperties()
    Returns the input properties registered when this resource is used as task input. Not typically used directly.
    Returns:
      the input properties registered when this resource is used as task input

  - ### getInputFiles

    @Optional @PathSensitive(NONE) @InputFiles @Nullable FileCollection getInputFiles()
    Returns the input files registered when this resource is used as task input. Not typically used directly.
    Returns:
      the input files registered when this resource is used as task input

  - ### getBuildDependencies

    @Internal TaskDependency getBuildDependencies()
    Description copied from interface: `Buildable`
    Returns a dependency which contains the tasks which build this artifact. All `Buildable` implementations must ensure that the returned dependency object is live, so that it tracks changes to the dependencies of this buildable.
    Specified by:
      `getBuildDependencies` in interface `Buildable`
    Returns:
      The dependency. Never returns null. Returns an empty dependency when this artifact is not built by any tasks.