public abstract class Representation extends RepresentationInfo
Modifier and Type | Field and Description |
---|---|
static long |
UNKNOWN_SIZE
Indicates that the size of the representation can't be known in advance.
|
Constructor and Description |
---|
Representation()
Default constructor.
|
Representation(MediaType mediaType)
Constructor.
|
Representation(MediaType mediaType,
java.util.Date modificationDate)
Constructor.
|
Representation(MediaType mediaType,
java.util.Date modificationDate,
Tag tag)
Constructor.
|
Representation(MediaType mediaType,
Tag tag)
Constructor.
|
Representation(Variant variant,
java.util.Date modificationDate)
Constructor from a variant.
|
Representation(Variant variant,
java.util.Date modificationDate,
Tag tag)
Constructor from a variant.
|
Representation(Variant variant,
Tag tag)
Constructor from a variant.
|
Modifier and Type | Method and Description |
---|---|
void |
append(java.lang.Appendable appendable)
Appends the representation to an appendable sequence of characters.
|
long |
exhaust()
Exhaust the content of the representation by reading it and silently
discarding anything read.
|
long |
getAvailableSize()
Returns the size effectively available.
|
abstract java.nio.channels.ReadableByteChannel |
getChannel()
Returns a channel with the representation's content.
|
Digest |
getDigest()
Returns the representation digest if any.
|
Disposition |
getDisposition()
Returns the disposition characteristics of the representation.
|
java.util.Date |
getExpirationDate()
Returns the future date when this representation expire.
|
Range |
getRange()
Returns the range where in the full content the partial content available
should be applied.
|
abstract java.io.Reader |
getReader()
Returns a characters reader with the representation's content.
|
SelectionRegistration |
getRegistration()
Returns the NIO registration of the related channel with its selector.
|
long |
getSize()
Returns the total size in bytes if known, UNKNOWN_SIZE (-1) otherwise.
|
abstract java.io.InputStream |
getStream()
Returns a stream with the representation's content.
|
java.lang.String |
getText()
Converts the representation to a string value.
|
boolean |
hasKnownSize()
Indicates if the size of representation is known.
|
boolean |
isAvailable()
Indicates if some fresh content is potentially available, without having
to actually call one of the content manipulation method like getStream()
that would actually consume it.
|
boolean |
isEmpty()
Indicates if the representation is empty.
|
boolean |
isSelectable()
Indicates if the representation content supports NIO selection.
|
boolean |
isTransient()
Indicates if the representation's content is transient, which means that
it can be obtained only once.
|
void |
release()
Releases the representation and all associated objects like streams,
channels or files which are used to produce its content, transient or
not.
|
void |
setAvailable(boolean available)
Indicates if some fresh content is available.
|
void |
setDigest(Digest digest)
Sets the representation digest.
|
void |
setDisposition(Disposition disposition)
Sets the disposition characteristics of the representation.
|
void |
setExpirationDate(java.util.Date expirationDate)
Sets the future date when this representation expire.
|
void |
setListener(ReadingListener readingListener)
Sets a listener for NIO read events.
|
void |
setRange(Range range)
Sets the range where in the full content the partial content available
should be applied.
|
void |
setSize(long expectedSize)
Sets the expected size in bytes if known, -1 otherwise.
|
void |
setTransient(boolean isTransient)
Indicates if the representation's content is transient.
|
abstract void |
write(java.io.OutputStream outputStream)
Writes the representation to a byte stream.
|
abstract void |
write(java.nio.channels.WritableByteChannel writableChannel)
Writes the representation to a byte channel.
|
abstract void |
write(java.io.Writer writer)
Writes the representation to a characters writer.
|
getModificationDate, getTag, setModificationDate, setTag
createClientInfo, equals, getCharacterSet, getEncodings, getLanguages, getLocationRef, getMediaType, hashCode, includes, isCompatible, setCharacterSet, setEncodings, setLanguages, setLocationRef, setLocationRef, setMediaType, toString
public static final long UNKNOWN_SIZE
public Representation()
public Representation(MediaType mediaType)
mediaType
- The media type.public Representation(MediaType mediaType, java.util.Date modificationDate)
mediaType
- The media type.modificationDate
- The modification date.public Representation(MediaType mediaType, java.util.Date modificationDate, Tag tag)
mediaType
- The media type.modificationDate
- The modification date.tag
- The tag.public Representation(MediaType mediaType, Tag tag)
mediaType
- The media type.tag
- The tag.public Representation(Variant variant, java.util.Date modificationDate)
variant
- The variant to copy.modificationDate
- The modification date.public Representation(Variant variant, java.util.Date modificationDate, Tag tag)
variant
- The variant to copy.modificationDate
- The modification date.tag
- The tag.public void append(java.lang.Appendable appendable) throws java.io.IOException
getText()
is used by the default implementation.appendable
- The appendable sequence of characters.java.io.IOException
public long exhaust() throws java.io.IOException
getStream()
and closes the retrieved stream in the end.java.io.IOException
public long getAvailableSize()
getSize()
if no range is defined, otherwise it returns the size
of the range using Range.getSize()
.public abstract java.nio.channels.ReadableByteChannel getChannel() throws java.io.IOException
java.io.IOException
public Digest getDigest()
public Disposition getDisposition()
public java.util.Date getExpirationDate()
public Range getRange()
public abstract java.io.Reader getReader() throws java.io.IOException
java.io.IOException
public SelectionRegistration getRegistration() throws java.io.IOException
java.io.IOException
isSelectable()
public long getSize()
getAvailableSize()
method.isEmpty()
public abstract java.io.InputStream getStream() throws java.io.IOException
java.io.IOException
public java.lang.String getText() throws java.io.IOException
java.io.IOException
public boolean hasKnownSize()
public boolean isAvailable()
public boolean isEmpty()
public boolean isSelectable()
org.restlet.ext.nio.internal.ConnectionController#register(java.nio.channels.SelectableChannel, int, org.restlet.util.SelectionListener)
method can be called to be notified when new content is ready for
reading.org.restlet.ext.nio.internal.ConnectionController
public boolean isTransient()
public void release()
setAvailable(boolean)
method
with "false" as a value.exhaust()
method or if this
could be too costly, you should instead explicitly abort the parent
request and the underlying connections using the Request.abort()
method or a shortcut one like
ServerResource.abort()
or
Response.abort()
.public void setAvailable(boolean available)
available
- True if some fresh content is available.public void setDigest(Digest digest)
digest
- The representation digest.public void setDisposition(Disposition disposition)
disposition
- The disposition characteristics of the representation.public void setExpirationDate(java.util.Date expirationDate)
expirationDate
- The expiration date.public void setListener(ReadingListener readingListener)
readingListener
- The listener for NIO read events.public void setRange(Range range)
range
- The content range.public void setSize(long expectedSize)
getAvailableSize()
method.expectedSize
- The expected size in bytes if known, -1 otherwise.public void setTransient(boolean isTransient)
isTransient
- True if the representation's content is transient.public abstract void write(java.io.Writer writer) throws java.io.IOException
Writer
after writing to it as this will be handled
by the Restlet connectors automatically.writer
- The characters writer.java.io.IOException
public abstract void write(java.nio.channels.WritableByteChannel writableChannel) throws java.io.IOException
writableChannel
- A writable byte channel.java.io.IOException
public abstract void write(java.io.OutputStream outputStream) throws java.io.IOException
OutputStream
after writing to it as this will be handled by
the Restlet connectors automatically.outputStream
- The output stream.java.io.IOException
Copyright © 2005-2024 Restlet.