All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.escalon.hypermedia.action.ResourceHandler Maven / Gradle / Ivy

There is a newer version: 0.4.2
Show newest version
package de.escalon.hypermedia.action;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Allows to explicitly qualify a method handler as resource with defined cardinality. Normally a Collection or a
 * Resources return type (optionally wrapped into an HttpEntity) or the presence of a POST method implicitly qualifies a
 * resource a collection. Created by Dietrich on 02.05.2015.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ResourceHandler {

    /**
     * Allows to disambiguate if the annotated method handler manages a single or a collection resource. This can be
     * helpful when there is a return type which doesn't allow to decide the cardinality of a resource, or when the
     * default recognition comes to the wrong result. E.g. one can annotate a POST handler so that renderers can render
     * the related resource as a single resource.
     * 
     * @ResourceHandler(Cardinality.SINGLE)
     * @RequestMapping(method=RequestMethod.POST)
     * public ResponseEntity<String> myPostHandler() {}
     * 
* * @return cardinality */ Cardinality value(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy