org.restlet.data
Class Message

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

public abstract class Message
extends Object

Generic message exchanged between client and server connectors.

Author:
Jerome Louvel (contact@noelios.com)

Constructor Summary
Message()
          Constructor.
Message(Representation entity)
          Constructor.
 
Method Summary
 Map<String,Object> getAttributes()
          Returns a modifiable attributes map that can be used by developers to save information relative to the message.
 Representation getEntity()
          Returns the entity representation.
 DomRepresentation getEntityAsDom()
          Returns the entity as a DOM representation.
Note that this triggers the parsing of the entity into a reusable DOM document stored in memory.
This method and the related getEntity*() methods can only be invoked once.
 Form getEntityAsForm()
          Returns the entity as a form.
Note that this triggers the parsing of the entity.
This method and the related getEntity*() methods can only be invoked once.
 Object getEntityAsObject()
          Returns the entity as a higher-level object.
 SaxRepresentation getEntityAsSax()
          Returns the entity as a SAX representation.
Note that this kind of representation can only be parsed once.
 boolean isEntityAvailable()
          Indicates if a content is available and can be sent.
 void setEntity(Object object)
          Sets the entity from a higher-level object.
 void setEntity(Representation entity)
          Sets the entity representation.
 void setEntity(String value, MediaType mediaType)
          Sets a textual entity.
 
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 Map<String,Object> getAttributes()
Returns a modifiable attributes map that can be used by developers to save information relative to the message. 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.data.Form 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.
Adding standard HTTP headers is forbidden because it could conflict with the connector's internal behavior, limit portability or prevent future optimizations.

Returns:
The modifiable attributes map.

getEntity

public Representation getEntity()
Returns the entity representation.

Returns:
The entity representation.

getEntityAsDom

public DomRepresentation getEntityAsDom()
Returns the entity as a DOM representation.
Note that this triggers the parsing of the entity into a reusable DOM document stored in memory.
This method and the related getEntity*() methods can only be invoked once.

Returns:
The entity as a DOM representation.

getEntityAsForm

public Form getEntityAsForm()
Returns the entity as a form.
Note that this triggers the parsing of the entity.
This method and the related getEntity*() methods can only be invoked once.

Returns:
The entity as a form.

getEntityAsObject

public Object getEntityAsObject()
Returns the entity as a higher-level object. This object is created by the Application's converter service. If you want to use this method to facilitate the processing of request entities, you need to provide a custom implementation of the ConverterService class, overriding the toObject(Representation) method.
Note that this triggers the parsing of the entity.
This method and the related getEntity*() methods can only be invoked once.

Returns:
The entity as a higher-level object.
See Also:
ConverterService

getEntityAsSax

public SaxRepresentation getEntityAsSax()
Returns the entity as a SAX representation.
Note that this kind of representation can only be parsed once. If you evaluate an XPath expression, it can also only be done once. If you need to reuse the entity multiple times, consider using the getEntityAsDom() method instead.

Returns:
The entity as a SAX representation.

isEntityAvailable

public boolean isEntityAvailable()
Indicates if a content is available and can be sent. 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.

setEntity

public void setEntity(Object object)
Sets the entity from a higher-level object. This object is converted to a representation using the Application's converter service. If you want to use this method to facilitate the setting of entities, you need to provide a custom implementation of the ConverterService class, overriding the toRepresentation(Object) method.

Parameters:
object - The higher-level object.
See Also:
ConverterService

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.


Copyright © 2005-2007 Noelios Consulting.