org.restlet
Class Message

java.lang.Object
  extended by org.restlet.Message
Direct Known Subclasses:
Request, Response

public abstract class Message
extends Object

Generic message exchanged between components.

Author:
Jerome Louvel

Constructor Summary
Message()
          Constructor.
Message(Representation entity)
          Constructor.
 
Method Summary
 ConcurrentMap<String,Object> getAttributes()
          Returns the modifiable map of attributes that can be used by developers to save information relative to the message.
 List<CacheDirective> getCacheDirectives()
          Returns the cache directives.

Note that when used with HTTP connectors, this property maps to the "Cache-Control" header.
 Date getDate()
          Returns the date and time at which the message was originated.
 Representation getEntity()
          Returns the entity representation.
 String getEntityAsText()
          Returns the entity as text.
 Uniform getOnError()
          Returns the callback invoked when an error occurs when sending the message.
 Uniform getOnSent()
          Returns the callback invoked after sending the message.
 List<RecipientInfo> getRecipientsInfo()
          Returns the intermediary recipient information.

Note that when used with HTTP connectors, this property maps to the "Via" headers.
 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(Map<String,Object> attributes)
          Sets the modifiable map of attributes.
 void setCacheDirectives(List<CacheDirective> cacheDirectives)
          Sets the cache directives.
 void setDate(Date date)
          Sets the date and time at which the message was originated.
 void setEntity(Representation entity)
          Sets the entity representation.
 void setEntity(String value, MediaType mediaType)
          Sets a textual entity.
 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(List<RecipientInfo> recipientsInfo)
          Sets the modifiable list of intermediary recipients.
 void setWarnings(List<Warning> warnings)
          Sets the additional warnings information.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Message

public Message()
Constructor.


Message

public Message(Representation entity)
Constructor.

Parameters:
entity - The payload of the message.
Method Detail

getAttributes

public ConcurrentMap<String,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:
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 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 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 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 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.

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 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 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(Map<String,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(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(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(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(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(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.


Copyright © 2005-2013 Restlet.