package io.katharsis.resource.annotations;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Defines a resource. Each class annotated with {@link JsonApiResource} must have defined {@link JsonApiResource#type()}.
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface JsonApiResource {
/**
* Defines name of the resource called <i>type</i>. According to JSON API, the <i>type</i> can be either singular or
* plural.
*
* @return <i>type</i> of the resource
* @see <a href="http://jsonapi.org/format/#document-structure-resource-types">JSON API - Resource Types</a>
*/
String type();
}