Package org.apache.tools.ant.types.resources

# Class StringResource

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.Resource
org.apache.tools.ant.types.resources.StringResource

All Implemented Interfaces:
  `Cloneable`, `Comparable<Resource>`, `Iterable<Resource>`, `ResourceCollection`

public class StringResource extends Resource
Exposes a string as a Resource.

Since:
  Ant 1.7

## Field Summary

### Fields inherited from class org.apache.tools.ant.types.Resource

`MAGIC, UNKNOWN_DATETIME, UNKNOWN_SIZE`

### Fields inherited from class org.apache.tools.ant.types.DataType

`checked, ref`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

## Constructor Summary

Constructors
Constructor
Description
`StringResource()`
Default constructor.
`StringResource(String value)`
Construct a StringResource with the supplied value.
`StringResource(Project project, String value)`
Construct a StringResource with the supplied project and value, doing property replacement against the project if non-null.

## Method Summary

Modifier and Type
Method
Description
`void`
`addText(String text)`
Add nested text to this resource.
`protected String`
`getContent()`
Get the content of this StringResource.
`String`
`getEncoding()`
Get the encoding used by this StringResource.
`InputStream`
`getInputStream()`
Get an InputStream for the Resource.
`String`
`getName()`
Synchronize access.
`OutputStream`
`getOutputStream()`
Get an OutputStream for the Resource.
`protected StringResource`
`getRef()`
Perform the check for circular references and return the referenced Resource.
`long`
`getSize()`
Get the size of this Resource.
`String`
`getValue()`
Get the value of this StringResource, resolving to the root reference if needed.
`int`
`hashCode()`
Get the hash code for this Resource.
`boolean`
`isExists()`
The exists attribute tells whether a resource exists.
`void`
`setEncoding(String s)`
Set the encoding to be used for this StringResource.
`void`
`setName(String s)`
Enforce String immutability.
`void`
`setRefid(Reference r)`
Overrides the super version.
`void`
`setValue(String s)`
The value attribute is a semantically superior alias for the name attribute.
`String`
`toString()`
Get the string.

### Methods inherited from class org.apache.tools.ant.types.Resource

`as, asOptional, clone, compareTo, equals, getLastModified, getMagicNumber, isDirectory, isFilesystemOnly, iterator, setDirectory, setExists, setLastModified, setSize, size, toLongString`

### Methods inherited from class org.apache.tools.ant.types.DataType

`checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Methods inherited from interface org.apache.tools.ant.types.ResourceCollection

`isEmpty, stream`

## Constructor Details

### StringResource

public StringResource()
Default constructor.

### StringResource

public StringResource(String value)
Construct a StringResource with the supplied value.

Parameters:
  `value` - the value of this StringResource.

### StringResource

public StringResource(Project project, String value)
Construct a StringResource with the supplied project and value, doing property replacement against the project if non-null.

Parameters:
  `project` - the owning Project.
  `value` - the value of this StringResource.

## Method Details

### setName

public void setName(String s)
Enforce String immutability.

Overrides:
  `setName` in class `Resource`
Parameters:
  `s` - the new name/value for this StringResource.

### setValue

public void setValue(String s)
The value attribute is a semantically superior alias for the name attribute.

Parameters:
  `s` - the String's value.

### getName

public String getName()
Synchronize access.

Overrides:
  `getName` in class `Resource`
Returns:
  the name/value of this StringResource.

### getValue

public String getValue()
Get the value of this StringResource, resolving to the root reference if needed.

Returns:
  the represented String.

### isExists

public boolean isExists()
The exists attribute tells whether a resource exists.

Overrides:
  `isExists` in class `Resource`
Returns:
  true if this resource exists.

### addText

public void addText(String text)
Add nested text to this resource. Properties will be expanded during this process.

Parameters:
  `text` - text to use as the string resource
Since:
  Ant 1.7.1

### setEncoding

public void setEncoding(String s)
Set the encoding to be used for this StringResource.

Parameters:
  `s` - the encoding name.

### getEncoding

public String getEncoding()
Get the encoding used by this StringResource.

Returns:
  the encoding name.

### getSize

public long getSize()
Get the size of this Resource.

Overrides:
  `getSize` in class `Resource`
Returns:
  the size, as a long, 0 if the Resource does not exist (for compatibility with java.io.File), or UNKNOWN_SIZE if not known.

### hashCode

public int hashCode()
Get the hash code for this Resource.

Overrides:
  `hashCode` in class `Resource`
Returns:
  hash code as int.

### toString

public String toString()
Get the string. See `getContent()`

Overrides:
  `toString` in class `Resource`
Returns:
  the string contents of the resource.
Since:
  Ant 1.7

### getInputStream

public InputStream getInputStream() throws IOException
Get an InputStream for the Resource.

Overrides:
  `getInputStream` in class `Resource`
Returns:
  an InputStream containing this Resource's content.
Throws:
  `IOException` - if unable to provide the content of this Resource as a stream.
  `UnsupportedOperationException` - if InputStreams are not supported for this Resource type.

### getOutputStream

public OutputStream getOutputStream() throws IOException
Get an OutputStream for the Resource.

Overrides:
  `getOutputStream` in class `Resource`
Returns:
  an OutputStream to which content can be written.
Throws:
  `IOException` - if unable to provide the content of this Resource as a stream.
  `UnsupportedOperationException` - if OutputStreams are not supported for this Resource type.

### setRefid

public void setRefid(Reference r)
Overrides the super version.

Overrides:
  `setRefid` in class `Resource`
Parameters:
  `r` - the Reference to set.

### getContent

protected String getContent()
Get the content of this StringResource. See `getValue()`

Returns:
  a String or null if there is no value.

### getRef

protected StringResource getRef()
Description copied from class: `Resource`
Perform the check for circular references and return the referenced Resource.

Overrides:
  `getRef` in class `Resource`
Returns:
  `Resource`.