Package org.restlet
Class Message
- java.lang.Object
-
- org.restlet.Message
-
-
Constructor Summary
Constructors Constructor Description Message()
Constructor.Message(Representation entity)
Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
bufferEntity()
If the entity is transient or its size unknown in advance but available, then the entity is wrapped with aBufferingRepresentation
.
Be careful as this method could create potentially very large byte buffers in memory that could impact your application performance.void
flushBuffers()
Asks the underlying connector to immediately flush the network buffers.java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object>
getAttributes()
Returns the modifiable map of attributes that can be used by developers to save information relative to the message.java.util.List<CacheDirective>
getCacheDirectives()
Returns the cache directives.
Note that when used with HTTP connectors, this property maps to the "Cache-Control" header.java.util.Date
getDate()
Returns the date and time at which the message was originated.Representation
getEntity()
Returns the entity representation.java.lang.String
getEntityAsText()
Returns the entity as text.Series<Header>
getHeaders()
Returns the series of lower-level HTTP headers.Uniform
getOnError()
Returns the callback invoked when an error occurs when sending the message.Uniform
getOnSent()
Returns the callback invoked after sending the message.java.util.List<RecipientInfo>
getRecipientsInfo()
Returns the intermediary recipient information.
Note that when used with HTTP connectors, this property maps to the "Via" headers.java.util.List<Warning>
getWarnings()
Returns the additional warnings information.
Note that when used with HTTP connectors, this property maps to the "Warning" headers.abstract boolean
isConfidential()
Indicates if the message was or will be exchanged confidentially, for example via a SSL-secured connection.boolean
isEntityAvailable()
Indicates if a content is available and can be sent or received.void
release()
Releases the message's entity if present.void
setAttributes(java.util.Map<java.lang.String,java.lang.Object> attributes)
Sets the modifiable map of attributes.void
setCacheDirectives(java.util.List<CacheDirective> cacheDirectives)
Sets the cache directives.void
setDate(java.util.Date date)
Sets the date and time at which the message was originated.void
setEntity(java.lang.String value, MediaType mediaType)
Sets a textual entity.void
setEntity(Representation entity)
Sets the entity representation.void
setOnError(Uniform onError)
Sets the callback invoked when an error occurs when sending the message.void
setOnSent(Uniform onSentCallback)
Sets the callback invoked after sending the message.void
setRecipientsInfo(java.util.List<RecipientInfo> recipientsInfo)
Sets the modifiable list of intermediary recipients.void
setWarnings(java.util.List<Warning> warnings)
Sets the additional warnings information.
-
-
-
Constructor Detail
-
Message
public Message()
Constructor.
-
Message
public Message(Representation entity)
Constructor.- Parameters:
entity
- The payload of the message.
-
-
Method Detail
-
bufferEntity
public void bufferEntity()
If the entity is transient or its size unknown in advance but available, then the entity is wrapped with aBufferingRepresentation
.
Be careful as this method could create potentially very large byte buffers in memory that could impact your application performance.
-
flushBuffers
public void flushBuffers() throws java.io.IOException
Asks the underlying connector to immediately flush the network buffers.- Throws:
java.io.IOException
-
getAttributes
public java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> getAttributes()
Returns the modifiable map of attributes that can be used by developers to save information relative to the message. Creates a new instance if no one has been set. This is an easier alternative to the creation of a wrapper instance around the whole message.
In addition, this map is a shared space between the developer and the connectors. In this case, it is used to exchange information that is not uniform across all protocols and couldn't therefore be directly included in the API. For this purpose, all attribute names starting with "org.restlet" are reserved. Currently the following attributes are used:list of currently used attributes Attribute name Class name Description org.restlet.http.headers org.restlet.util.Series<org.restlet.engine.header.Header> Server HTTP connectors must provide all request headers and client HTTP connectors must provide all response headers, exactly as they were received. In addition, developers can also use this attribute to specify non-standard headers that should be added to the request or to the response. org.restlet.https.clientCertificates List<java.security.cert.Certificate> For requests received via a secure connector, indicates the ordered list of client certificates, if they are available and accessible.
Most of the standard HTTP headers are directly supported via the Restlet API. Thus, adding such HTTP headers is forbidden because it could conflict with the connector's internal behavior, limit portability or prevent future optimizations. The other standard HTTP headers (that are not supported) can be added as attributes via the "org.restlet.http.headers" key.- Returns:
- The modifiable attributes map.
-
getCacheDirectives
public java.util.List<CacheDirective> getCacheDirectives()
Returns the cache directives.
Note that when used with HTTP connectors, this property maps to the "Cache-Control" header.- Returns:
- The cache directives.
-
getDate
public java.util.Date getDate()
Returns the date and time at which the message was originated.- Returns:
- The date and time at which the message was originated.
-
getEntity
public Representation getEntity()
Returns the entity representation.- Returns:
- The entity representation.
-
getEntityAsText
public java.lang.String getEntityAsText()
Returns the entity as text. This method can be called several times and will always return the same text. Note that if the entity is large this method can result in important memory consumption.- Returns:
- The entity as text.
-
getHeaders
public Series<Header> getHeaders()
Returns the series of lower-level HTTP headers. Please not that this method should rarely be used as most HTTP headers are already surfaced by the Restlet API. The result series can be used to deal with HTTP extension headers.- Returns:
- The HTTP headers.
-
getOnError
public Uniform getOnError()
Returns the callback invoked when an error occurs when sending the message.- Returns:
- The callback invoked when an error occurs when sending the message.
-
getOnSent
public Uniform getOnSent()
Returns the callback invoked after sending the message.- Returns:
- The callback invoked after sending the message.
-
getRecipientsInfo
public java.util.List<RecipientInfo> getRecipientsInfo()
Returns the intermediary recipient information.
Note that when used with HTTP connectors, this property maps to the "Via" headers.- Returns:
- The intermediary recipient information.
-
getWarnings
public java.util.List<Warning> getWarnings()
Returns the additional warnings information.
Note that when used with HTTP connectors, this property maps to the "Warning" headers.- Returns:
- The additional warnings information.
-
isConfidential
public abstract boolean isConfidential()
Indicates if the message was or will be exchanged confidentially, for example via a SSL-secured connection.- Returns:
- True if the message is confidential.
-
isEntityAvailable
public boolean isEntityAvailable()
Indicates if a content is available and can be sent or received. Several conditions must be met: the content must exists and have some available data.- Returns:
- True if a content is available and can be sent.
-
release
public void release()
Releases the message's entity if present.- See Also:
Representation.release()
-
setAttributes
public void setAttributes(java.util.Map<java.lang.String,java.lang.Object> attributes)
Sets the modifiable map of attributes. This method clears the current map and puts all entries in the parameter map.- Parameters:
attributes
- A map of attributes
-
setCacheDirectives
public void setCacheDirectives(java.util.List<CacheDirective> cacheDirectives)
Sets the cache directives. Note that when used with HTTP connectors, this property maps to the "Cache-Control" header. This method clears the current list and adds all entries in the parameter list.- Parameters:
cacheDirectives
- The cache directives.
-
setDate
public void setDate(java.util.Date date)
Sets the date and time at which the message was originated.- Parameters:
date
- The date and time at which the message was originated.
-
setEntity
public void setEntity(Representation entity)
Sets the entity representation.- Parameters:
entity
- The entity representation.
-
setEntity
public void setEntity(java.lang.String value, MediaType mediaType)
Sets a textual entity.- Parameters:
value
- The represented string.mediaType
- The representation's media type.
-
setOnError
public void setOnError(Uniform onError)
Sets the callback invoked when an error occurs when sending the message.- Parameters:
onError
- The callback invoked when an error occurs when sending the message.
-
setOnSent
public void setOnSent(Uniform onSentCallback)
Sets the callback invoked after sending the message.- Parameters:
onSentCallback
- The callback invoked after sending the message.
-
setRecipientsInfo
public void setRecipientsInfo(java.util.List<RecipientInfo> recipientsInfo)
Sets the modifiable list of intermediary recipients. Note that when used with HTTP connectors, this property maps to the "Via" headers. This method clears the current list and adds all entries in the parameter list.- Parameters:
recipientsInfo
- A list of intermediary recipients.
-
setWarnings
public void setWarnings(java.util.List<Warning> warnings)
Sets the additional warnings information. Note that when used with HTTP connectors, this property maps to the "Warning" headers. This method clears the current list and adds all entries in the parameter list.- Parameters:
warnings
- The warnings.
-
-