# Package org.glassfish.jersey.server.model

Jersey server-side application & resource modeling classes.

See: Description

Interface Summary
Consuming: Model component that is able to consume media types.
MethodList.Filter: Method list filter.
ModelProcessor: Contract for a model processors that processes `resource models` during application initialization and `resource` returned by sub resource locators.
Parameterized: Used in the resource model to capture information on method parameters.
Producing: Model component that is able to produce media types.
ResourceModelComponent: Marker interface for all abstract resource model components, so that they can be traversed using a visitor pattern.
ResourceModelVisitor: Following the visitor pattern, this interface allows implementing processors traversing all abstract model components present in a given model.
Routed: Marker interface for all resource model components that contain path information usable for routing.
Suspendable: Jersey model component that is suspendable and may hold suspend-related information.

Class Summary
AbstractResourceModelVisitor: Abstract implementation of `resource model visitor` containing empty implementations of interface methods.
AnnotatedMethod: Annotated method representation.
ComponentModelValidator: A resource model validator that checks the given resource model.
HandlerConstructor: Abstraction for a resource handler class constructor.
Inflecting<T>: Inflector provider resource model component.
Invocable: A common interface for invocable resource components.
MethodHandler: Resource method handler model.
MethodList: Iterable list of methods on a single class with convenience getters for additional method information.
Parameter: Method parameter model.
Parameter.BeanParameter: Bean Parameter class represents a parameter annotated with `BeanParam` which in fact represents additional set of parameters.
Parameter.ServerParameterService
Resource: Model of a single resource component.
Resource.Builder: Resource model component builder.
ResourceMethod: Model of a method available on a resource.
ResourceMethod.Builder: Resource method model builder.
ResourceMethodInvoker: Server-side request-response `inflector` for invoking methods of annotation-based resource classes.
ResourceMethodInvoker.Builder: Resource method invoker helper.
ResourceModel: Resource model of the deployed application which contains set of root resources.
ResourceModel.Builder: Builder used to create `resource model` instances.
ResourceModelIssue: Resource model validity issue.
RuntimeResource: Runtime resource is a group of `resources` with the same `path` regular expression.
RuntimeResourceModel: Runtime Resource model contains structured information about runtime resources.
RuntimeResourceModelValidator: Runtime resource model validator validating ambiguity of resource methods.

Enum Summary
ResourceMethod.JaxrsType: Resource method classification based on the recognized JAX-RS resource method types.

Exception Summary
ModelValidationException: Resource model validation exception.

Annotation Types Summary
ExtendedResource: This annotation can mark resource classes or resource methods that should be considered as extended resources.
ParamQualifier: A meta-annotation that identifies an annotation as a parameter-based annotation.

## Package org.glassfish.jersey.server.model Description

Jersey server-side application & resource modeling classes.

The classes from this package provide means to model and build Jersey applications based on both declarative and programmatic approach. An application could be built based on a set of JAX-RS annotated classes (standard, declarative way) or using Jersey specific programmatic API, where you are not constrained to Java reflection API and can freely bind Java code to serve a HTTP method for a given URI. Both methods could be combined, so that you can e.g. dynamically add a new resource method to an existing JAX-RS resource class.