# Interface TextResource

All Superinterfaces:
  `Buildable`

@Incubating 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.
`FileCollection`
`getInputFiles()`
Returns the input files registered when this resource is used as task input.
`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

@Input @Optional 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

@PathSensitive(NONE) @InputFiles @Optional 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.