org.glassfish.jersey.server.model

## Class ComponentModelValidator

- java.lang.Object
- - org.glassfish.jersey.server.model.ComponentModelValidator

    public final class ComponentModelValidator
    extends Object

A resource model validator that checks the given resource model. This base resource model validator class implements the visitor pattern to traverse through all the `resource model components` to check validity of a resource model.

This validator maintains a list of all the `issues` found in the model. That way all the resource model components can be validated in a single call to the `validate(...)` method and collect all the validation issues from the model.

To check a single resource class, the the `Resource` `builder(...)` can be used to create a resource model. `validate(ResourceModelComponent)` method then populates the issue list, which could be then obtained by the `getIssueList()`. Unless the list is explicitly cleared, a subsequent calls to the validate method will add new items to the list, so that it can be used to build the issue list for more than one resource. To clear the list, the `cleanIssueList()` method should be called.

Author:
  Jakub Podlesak, Marek Potociar

### Constructor Summary

Constructors
Constructor and Description
`ComponentModelValidator(Collection<org.glassfish.jersey.server.spi.internal.ValueParamProvider> valueParamProviders, MessageBodyWorkers msgBodyWorkers)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `cleanIssueList()` Removes all issues from the current issue list.
`boolean` `fatalIssuesFound()` Convenience method to see if there were fatal issues found.
`List<ResourceModelIssue>` `getIssueList()` Returns a list of issues found after `validate(org.glassfish.jersey.server.model.ResourceModelComponent)` method has been invoked.
`void` `validate(ResourceModelComponent component)` The validate method validates a component and adds possible issues found to it's list.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ComponentModelValidator

    public ComponentModelValidator(Collection<org.glassfish.jersey.server.spi.internal.ValueParamProvider> valueParamProviders,
                                   MessageBodyWorkers msgBodyWorkers)

### Method Detail

#### getIssueList

    public List<ResourceModelIssue> getIssueList()

Returns a list of issues found after `validate(org.glassfish.jersey.server.model.ResourceModelComponent)` method has been invoked.

Returns:
  a non-null list of issues.

#### fatalIssuesFound

    public boolean fatalIssuesFound()

Convenience method to see if there were fatal issues found.

Returns:
  `true` if there are any fatal issues present in the current issue list.

#### cleanIssueList

    public void cleanIssueList()

Removes all issues from the current issue list. The method could be used to re-use the same `ComponentModelValidator` for another resource model.

#### validate

    public void validate(ResourceModelComponent component)

The validate method validates a component and adds possible issues found to it's list. The list of issues could be then retrieved via getIssueList method.

Parameters:
  `component` - resource model component.