Package org.restlet.resource
Class Finder
- java.lang.Object
 - 
- org.restlet.Restlet
 - 
- org.restlet.resource.Finder
 
 
 
- 
- All Implemented Interfaces:
 Uniform
- Direct Known Subclasses:
 Directory
public class Finder extends Restlet
Restlet that can find the target server resource that will effectively handle incoming calls. By default, based on a givenServerResourcesubclass available via thegetTargetClass()method, it automatically instantiates for each incoming call the target resource class using its default constructor and invoking theResource.init(Context, Request, Response)method.
Once the target has been created, the call is automatically dispatched to theServerResource.handle()method.
Once the call is handled, theResource.release()method is invoked to permit clean-up actions.
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
 
 
- 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ServerResourcecreate(java.lang.Class<? extends ServerResource> targetClass, Request request, Response response)Creates a new instance of a givenServerResourcesubclass.ServerResourcecreate(Request request, Response response)Creates a new instance of theServerResourcesubclass designated by the "targetClass" property.static FindercreateFinder(java.lang.Class<? extends ServerResource> targetClass, java.lang.Class<? extends Finder> finderClass, Context context, java.util.logging.Logger logger)Creates a new finder instance based on the "targetClass" property.ServerResourcefind(Request request, Response response)Finds the targetServerResourceif available.java.lang.Class<? extends ServerResource>getTargetClass()Returns the target resource class which must be either a subclass ofServerResource.voidhandle(Request request, Response response)Handles a call.voidsetTargetClass(java.lang.Class<? extends ServerResource> targetClass)Sets the target resource class which must be a subclass ofServerResource.java.lang.StringtoString()- 
Methods inherited from class org.restlet.Restlet
createFinder, finalize, getApplication, getAuthor, getContext, getDescription, getFinderClass, getLogger, getName, getOwner, handle, handle, handle, isStarted, isStopped, setAuthor, setContext, setDescription, setFinderClass, setName, setOwner, start, stop 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
Finder
public Finder()
Constructor. 
- 
Finder
public Finder(Context context)
Constructor.- Parameters:
 context- The context.
 
- 
Finder
public Finder(Context context, java.lang.Class<? extends ServerResource> targetClass)
Constructor.- Parameters:
 context- The context.targetClass- The targetServerResourcesubclass.
 
 - 
 
- 
Method Detail
- 
createFinder
public static Finder createFinder(java.lang.Class<? extends ServerResource> targetClass, java.lang.Class<? extends Finder> finderClass, Context context, java.util.logging.Logger logger)
Creates a new finder instance based on the "targetClass" property.- Parameters:
 targetClass- The target Resource class to attach.finderClass- The optional finder class to instantiate.context- The current Context.logger- The logger.- Returns:
 - The new finder instance.
 
 
- 
create
public ServerResource create(java.lang.Class<? extends ServerResource> targetClass, Request request, Response response)
Creates a new instance of a givenServerResourcesubclass. Note thatErrorandRuntimeExceptionthrown byServerResourceconstructors are re-thrown by this method. Other exception are caught and logged.- Parameters:
 targetClass- The targetServerResourcesubclass.request- The request to handle.response- The response to update.- Returns:
 - The created resource or null.
 
 
- 
create
public ServerResource create(Request request, Response response)
Creates a new instance of theServerResourcesubclass designated by the "targetClass" property. The default behavior is to invoke thecreate(Class, Request, Response)with the "targetClass" property as a parameter.- Parameters:
 request- The request to handle.response- The response to update.- Returns:
 - The created resource or null.
 
 
- 
find
public ServerResource find(Request request, Response response)
Finds the targetServerResourceif available. The default behavior is to invoke thecreate(Request, Response)method.- Parameters:
 request- The request to handle.response- The response to update.- Returns:
 - The target resource if available or null.
 
 
- 
getTargetClass
public java.lang.Class<? extends ServerResource> getTargetClass()
Returns the target resource class which must be either a subclass ofServerResource.- Returns:
 - the target Handler class.
 
 
- 
setTargetClass
public void setTargetClass(java.lang.Class<? extends ServerResource> targetClass)
Sets the target resource class which must be a subclass ofServerResource.- Parameters:
 targetClass- The target resource class. It must be a subclass ofServerResource.
 
- 
toString
public java.lang.String toString()
- Overrides:
 toStringin classjava.lang.Object
 
 - 
 
 -