Package org.forgerock.api.annotations
Annotation Type Path
-
@Retention(RUNTIME) @Target({METHOD,TYPE}) public @interface Path
Allocate a path to a component.This annotation can be applied to either a method or a type:
-
Method - the method should return a handleable type - i.e. either a
RequestHandler, an annotated POJO, or an implementation of a resource handler interface. This will expose the returned object as a subpath beneath the handler that the method is a member of. -
Type - declare the path of a handleable type, so that the path does not have to be declared in a separate
interaction with a router. Note that if the
@Path-annotated handleable type is returned from a method on another type also annotated with@Path, then the type annotation is ignored.
Example:
In this example, when an instance of@RequestHandler(variant = COLLECTION_RESOURCE) @Path("things") public class ThingProducer { @Read public Promise<ResourceResponse, ResourceException> get(String id) { // ... } @Path("{thing}/subthing") public SubthingProducer subthing() { return new SubthingProducer(); } } @RequestHandler(variant = SINGLETON_RESOURCE) public class SubthingProducer { @Read public Promise<ResourceResponse, ResourceException> get() { // ... } }ThingProducerwould result in the following paths being created:/things- collection binding toThingProducer/things/{id}- instance binding toThingProducer/things/{thing}/subthing- singleton binding toSubthingProducer
-
Method - the method should return a handleable type - i.e. either a
-
-
Element Detail
-
value
String value
The path value.
-
-