Package org.forgerock.json.resource
Class ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecification
- java.lang.Object
-
- org.forgerock.json.resource.ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecification
-
- All Implemented Interfaces:
ResourceApiVersionSpecificationFilter.VersionSpecification
- Enclosing class:
- ResourceApiVersionSpecificationFilter
public static final class ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecification extends Object implements ResourceApiVersionSpecificationFilter.VersionSpecification
ResourceApiVersionSpecificationFilter.VersionSpecification
supporting specification of a request's resource version based on its resource path.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
handleNoApiVersionSupplied(Context context, ResourcePath resourcePath)
Support handling when no resource API version is supplied on the request.Optional<Version>
matchVersion(Request request)
Test the request to try to find a match based on version configuration.static ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecification
resourcePathAndVersionSpecification(JsonValue versionMatrix)
Create a newResourcePathAndVersionSpecification
configured with resource path to version specification.ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecification
setDefaultVersion(Version defaultVersion)
Set a defaultVersion
to use if no matching resource path found for request.ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecification
setNoAvailableVersionHandler(ResourceApiVersionSpecificationFilter.NoApiVersionHandler handler)
Indicate what should happen if no resource API version supplied on the request.
-
-
-
Method Detail
-
resourcePathAndVersionSpecification
public static ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecification resourcePathAndVersionSpecification(JsonValue versionMatrix)
Create a newResourcePathAndVersionSpecification
configured with resource path to version specification.- Parameters:
versionMatrix
- JSON representation of theResourceApiVersionSpecificationFilter.ResourcePathAndVersion
matrix- Returns:
- new
ResourcePathAndVersionSpecification
- See Also:
ResourcePath
-
setDefaultVersion
public ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecification setDefaultVersion(Version defaultVersion)
Set a defaultVersion
to use if no matching resource path found for request.- Parameters:
defaultVersion
- DefaultVersion
to use- Returns:
- this instance supporting a fluent API
-
setNoAvailableVersionHandler
public ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecification setNoAvailableVersionHandler(ResourceApiVersionSpecificationFilter.NoApiVersionHandler handler)
Indicate what should happen if no resource API version supplied on the request. If the suppliednoApiVersionHandler
returns true then a warning is added on to the response (via theAdviceContext
).- Parameters:
handler
- Handler to callback should no resource API version supplied- Returns:
- this instance supporting a fluent API
-
matchVersion
public Optional<Version> matchVersion(Request request)
Description copied from interface:ResourceApiVersionSpecificationFilter.VersionSpecification
Test the request to try to find a match based on version configuration. The matching version is returned if found.- Specified by:
matchVersion
in interfaceResourceApiVersionSpecificationFilter.VersionSpecification
- Parameters:
request
- the request to match- Returns:
Optional
of any matchingVersion
-
handleNoApiVersionSupplied
public void handleNoApiVersionSupplied(Context context, ResourcePath resourcePath)
Support handling when no resource API version is supplied on the request.- Specified by:
handleNoApiVersionSupplied
in interfaceResourceApiVersionSpecificationFilter.VersionSpecification
- Parameters:
context
- theContext
resourcePath
- the requestedResourcePath
-
-