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.VersionSpecificationsupporting 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 voidhandleNoApiVersionSupplied(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.ResourcePathAndVersionSpecificationresourcePathAndVersionSpecification(JsonValue versionMatrix)Create a newResourcePathAndVersionSpecificationconfigured with resource path to version specification.ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecificationsetDefaultVersion(Version defaultVersion)Set a defaultVersionto use if no matching resource path found for request.ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecificationsetNoAvailableVersionHandler(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 newResourcePathAndVersionSpecificationconfigured with resource path to version specification.- Parameters:
versionMatrix- JSON representation of theResourceApiVersionSpecificationFilter.ResourcePathAndVersionmatrix- Returns:
- new
ResourcePathAndVersionSpecification - See Also:
ResourcePath
-
setDefaultVersion
public ResourceApiVersionSpecificationFilter.ResourcePathAndVersionSpecification setDefaultVersion(Version defaultVersion)
Set a defaultVersionto use if no matching resource path found for request.- Parameters:
defaultVersion- DefaultVersionto 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 suppliednoApiVersionHandlerreturns 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.VersionSpecificationTest the request to try to find a match based on version configuration. The matching version is returned if found.- Specified by:
matchVersionin interfaceResourceApiVersionSpecificationFilter.VersionSpecification- Parameters:
request- the request to match- Returns:
Optionalof any matchingVersion
-
handleNoApiVersionSupplied
public void handleNoApiVersionSupplied(Context context, ResourcePath resourcePath)
Support handling when no resource API version is supplied on the request.- Specified by:
handleNoApiVersionSuppliedin interfaceResourceApiVersionSpecificationFilter.VersionSpecification- Parameters:
context- theContextresourcePath- the requestedResourcePath
-
-