org.restlet.representation

## Class StringRepresentation

- java.lang.Object
- - org.restlet.representation.Variant
  - - org.restlet.representation.RepresentationInfo
    - - org.restlet.representation.Representation
      - - org.restlet.representation.CharacterRepresentation
        - - org.restlet.representation.StringRepresentation

Direct Known Subclasses:
  AppendableRepresentation

    public class StringRepresentation
    extends CharacterRepresentation

Represents an Unicode string that can be converted to any character set supported by Java.

Author:
  Jerome Louvel

### Field Summary

### Fields inherited from class org.restlet.representation.Representation

`UNKNOWN_SIZE`

### Constructor Summary

Constructors
Constructor and Description
`StringRepresentation(java.lang.CharSequence text)` Constructor.
`StringRepresentation(java.lang.CharSequence text, Language language)` Constructor.
`StringRepresentation(java.lang.CharSequence text, MediaType mediaType)` Constructor.
`StringRepresentation(java.lang.CharSequence text, MediaType mediaType, Language language)` Constructor.
`StringRepresentation(java.lang.CharSequence text, MediaType mediaType, Language language, CharacterSet characterSet)` Constructor.

### Method Summary

Methods
`java.io.Reader` `getReader()` Returns a characters reader with the representation's content.
`java.io.InputStream` `getStream()` Returns a stream with the representation's content.
`java.lang.String` `getText()` Converts the representation to a string value.
`void` `release()` Closes and releases the input stream.
`void` `setCharacterSet(CharacterSet characterSet)` Sets the character set or null if not applicable. Note that when used with HTTP connectors, this property maps to the "Content-Type" header.
`void` `setText(java.lang.CharSequence text)` Sets the string value.
`void` `setText(java.lang.String text)` Sets the string value.
`protected void` `updateSize()` Updates the expected size according to the current string value.
`void` `write(java.io.Writer writer)` Writes the representation to a characters writer.

### Methods inherited from class org.restlet.representation.CharacterRepresentation

`getChannel, write, write`

### Methods inherited from class org.restlet.representation.Representation

`checkDigest, checkDigest, computeDigest, createEmpty, exhaust, getAvailableSize, getDigest, getDisposition, getDownloadName, getExpirationDate, getRange, getSize, isAvailable, isDownloadable, isTransient, setAvailable, setDigest, setDisposition, setDownloadable, setDownloadName, setExpirationDate, setRange, setSize, setTransient`

### Methods inherited from class org.restlet.representation.RepresentationInfo

`getModificationDate, getTag, setModificationDate, setTag`

### Methods inherited from class org.restlet.representation.Variant

`createClientInfo, equals, getCharacterSet, getEncodings, getIdentifier, getLanguages, getLocationRef, getMediaType, includes, isCompatible, setEncodings, setIdentifier, setIdentifier, setLanguages, setLocationRef, setLocationRef, setMediaType, toString`

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

`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### StringRepresentation

    public StringRepresentation(java.lang.CharSequence text)

Constructor. The following metadata are used by default: "text/plain" media type, no language and the UTF-8 character set.

Parameters:
  `text` - The string value.

#### StringRepresentation

    public StringRepresentation(java.lang.CharSequence text,
                        Language language)

Constructor. The following metadata are used by default: "text/plain" media type, no language and the UTF-8 character set.

Parameters:
  `text` - The string value.
  `language` - The language.

#### StringRepresentation

    public StringRepresentation(java.lang.CharSequence text,
                        MediaType mediaType)

Constructor. The following metadata are used by default: no language and the UTF-8 character set.

Parameters:
  `text` - The string value.
  `mediaType` - The media type.

#### StringRepresentation

    public StringRepresentation(java.lang.CharSequence text,
                        MediaType mediaType,
                        Language language)

Constructor. The following metadata are used by default: UTF-8 character set.

Parameters:
  `text` - The string value.
  `mediaType` - The media type.
  `language` - The language.

#### StringRepresentation

    public StringRepresentation(java.lang.CharSequence text,
                        MediaType mediaType,
                        Language language,
                        CharacterSet characterSet)

Constructor.

Parameters:
  `text` - The string value.
  `mediaType` - The media type.
  `language` - The language.
  `characterSet` - The character set.

### Method Detail

#### getStream

    public java.io.InputStream getStream()
                                  throws java.io.IOException

Description copied from class: `Representation`
Returns a stream with the representation's content. This method is ensured to return a fresh stream for each invocation unless it is a transient representation, in which case null is returned.

Overrides:
  `getStream` in class `CharacterRepresentation`
Returns:
  A stream with the representation's content.
Throws:
  `java.io.IOException`

#### getReader

    public java.io.Reader getReader()
                             throws java.io.IOException

Description copied from class: `Representation`
Returns a characters reader with the representation's content. This method is ensured to return a fresh reader for each invocation unless it is a transient representation, in which case null is returned. If the representation has no character set defined, the system's default one will be used.

Specified by:
  `getReader` in class `Representation`
Returns:
  A reader with the representation's content.
Throws:
  `java.io.IOException`

#### getText

    public java.lang.String getText()

Description copied from class: `Representation`
Converts the representation to a string value. Be careful when using this method as the conversion of large content to a string fully stored in memory can result in OutOfMemoryErrors being thrown.

Overrides:
  `getText` in class `Representation`
Returns:
  The representation as a string value.

#### release

    public void release()

Closes and releases the input stream.

Overrides:
  `release` in class `Representation`

#### setCharacterSet

    public void setCharacterSet(CharacterSet characterSet)

Description copied from class: `Variant`
Sets the character set or null if not applicable.
Note that when used with HTTP connectors, this property maps to the "Content-Type" header.

Overrides:
  `setCharacterSet` in class `Variant`
Parameters:
  `characterSet` - The character set or null if not applicable.

#### setText

    public void setText(java.lang.CharSequence text)

Sets the string value.

Parameters:
  `text` - The string value.

#### setText

    public void setText(java.lang.String text)

Sets the string value.

Parameters:
  `text` - The string value.

#### updateSize

    protected void updateSize()

Updates the expected size according to the current string value.

#### write

    public void write(java.io.Writer writer)
               throws java.io.IOException

Description copied from class: `Representation`
Writes the representation to a characters writer. This method is ensured to write the full content for each invocation unless it is a transient representation, in which case an exception is thrown.
Note that the class implementing this method shouldn't flush or close the given `Writer` after writing to it as this will be handled by the Restlet connectors automatically.

Specified by:
  `write` in class `Representation`
Parameters:
  `writer` - The characters writer.
Throws:
  `java.io.IOException`