org.restlet
Class Restlet

java.lang.Object
  extended by org.restlet.Restlet
All Implemented Interfaces:
Uniform
Direct Known Subclasses:
Application, Component, Connector, Filter, Finder, Redirector, Router, WrapperRestlet

public abstract class Restlet
extends Object
implements Uniform

Uniform class that provides a context and life cycle support. It has many subclasses that focus on specific ways to process calls. The context property is typically provided by a parent Component as a way to encapsulate access to shared features such as logging and client connectors.

Concurrency note: instances of this class or its subclasses can be invoked by several threads at the same time and therefore must be thread-safe. You should be especially careful when storing state in member variables.

Author:
Jerome Louvel

Constructor Summary
Restlet()
          Constructor with null context.
Restlet(Context context)
          Constructor with the Restlet's context which can be the parent's application context, but shouldn't be the parent Component's context for security reasons.
 
Method Summary
 Finder createFinder(Class<? extends ServerResource> resourceClass)
          Creates a new finder instance based on the "targetClass" property.
protected  void finalize()
          Attempts to stop() the Restlet if it is still started.
 Application getApplication()
          Returns the parent application if it exists, or null.
 String getAuthor()
          Returns the author(s).
 Context getContext()
          Returns the context.
 String getDescription()
          Returns the description.
 Class<? extends Finder> getFinderClass()
          Returns the finder class used to instantiate resource classes.
 Logger getLogger()
          Returns the context's logger.
 String getName()
          Returns the display name.
 String getOwner()
          Returns the owner(s).
 Response handle(Request request)
          Handles a call.
 void handle(Request request, Response response)
          Handles a call.
 void handle(Request request, Response response, Uniform onResponseCallback)
          Handles a call.
 void handle(Request request, Uniform onReceivedCallback)
          Handles a call.
 boolean isStarted()
          Indicates if the Restlet is started.
 boolean isStopped()
          Indicates if the Restlet is stopped.
 void setAuthor(String author)
          Sets the author(s).
 void setContext(Context context)
          Sets the context.
 void setDescription(String description)
          Sets the description.
 void setFinderClass(Class<? extends Finder> finderClass)
          Sets the finder class to instantiate.
 void setName(String name)
          Sets the display name.
 void setOwner(String owner)
          Sets the owner(s).
 void start()
          Starts the Restlet.
 void stop()
          Stops the Restlet.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Restlet

public Restlet()
Constructor with null context.


Restlet

public Restlet(Context context)
Constructor with the Restlet's context which can be the parent's application context, but shouldn't be the parent Component's context for security reasons.

Parameters:
context - The context of the Restlet.
See Also:
Context.createChildContext()
Method Detail

createFinder

public Finder createFinder(Class<? extends ServerResource> resourceClass)
Creates a new finder instance based on the "targetClass" property. If none is define, the createFinder(Class) method is invoked if available, otherwise the Finder.createFinder(Class, Class, Context, Logger) method is called with the Finder class as parameter.

Parameters:
resourceClass - The target ServerResource class to find.
Returns:
The new finder instance.
See Also:
Finder.createFinder(Class, Class, Context, Logger)

finalize

protected void finalize()
                 throws Throwable
Attempts to stop() the Restlet if it is still started.

Overrides:
finalize in class Object
Throws:
Throwable

getApplication

public Application getApplication()
Returns the parent application if it exists, or null.

Returns:
The parent application if it exists, or null.

getAuthor

public String getAuthor()
Returns the author(s).

Returns:
The author(s).

getContext

public Context getContext()
Returns the context.

Returns:
The context.

getDescription

public String getDescription()
Returns the description.

Returns:
The description

getFinderClass

public Class<? extends Finder> getFinderClass()
Returns the finder class used to instantiate resource classes. By default, it returns the Finder class. This property is leveraged by Application.setOutboundRoot(Class) and Application.setInboundRoot(Class) methods.

Returns:
the finder class to instantiate.

getLogger

public Logger getLogger()
Returns the context's logger.

Returns:
The context's logger.

getName

public String getName()
Returns the display name.

Returns:
The display name.

getOwner

public String getOwner()
Returns the owner(s).

Returns:
The owner(s).

handle

public final Response handle(Request request)
Handles a call. Creates an empty Response object and then invokes handle(Request, Response).

Parameters:
request - The request to handle.
Returns:
The returned response.

handle

public void handle(Request request,
                   Response response)
Handles a call. The default behavior is to initialize the Restlet by setting the current context using the Context.setCurrent(Context) method and by attempting to start it, unless it was already started. If an exception is thrown during the start action, then the response status is set to Status.SERVER_ERROR_INTERNAL.

Subclasses overriding this method should make sure that they call super.handle(request, response) before adding their own logic.

Specified by:
handle in interface Uniform
Parameters:
request - The request to handle.
response - The response to update.

handle

public final void handle(Request request,
                         Response response,
                         Uniform onResponseCallback)
Handles a call.

Parameters:
request - The request to handle.
response - The response to update.
onResponseCallback - The callback invoked upon response reception.

handle

public final void handle(Request request,
                         Uniform onReceivedCallback)
Handles a call.

Parameters:
request - The request to handle.
onReceivedCallback - The callback invoked upon request reception.

isStarted

public boolean isStarted()
Indicates if the Restlet is started.

Returns:
True if the Restlet is started.

isStopped

public boolean isStopped()
Indicates if the Restlet is stopped.

Returns:
True if the Restlet is stopped.

setAuthor

public void setAuthor(String author)
Sets the author(s).

Parameters:
author - The author(s).

setContext

public void setContext(Context context)
Sets the context.

Parameters:
context - The context.

setDescription

public void setDescription(String description)
Sets the description.

Parameters:
description - The description.

setFinderClass

public void setFinderClass(Class<? extends Finder> finderClass)
Sets the finder class to instantiate. This property is leveraged by Application.setOutboundRoot(Class) and Application.setInboundRoot(Class) methods.

Parameters:
finderClass - The finder class to instantiate.

setName

public void setName(String name)
Sets the display name.

Parameters:
name - The display name.

setOwner

public void setOwner(String owner)
Sets the owner(s).

Parameters:
owner - The owner(s).

start

public void start()
           throws Exception
Starts the Restlet.

Throws:
Exception

stop

public void stop()
          throws Exception
Stops the Restlet.

Throws:
Exception


Copyright © 2005-2013 Restlet.