class ExplorableDatasetRest {

    @GET
    @Path("{recordIRI}/classes/{classIRI}/property-details")
    @Produces(MediaType.APPLICATION_JSON)
    @RolesAllowed("user")
    @ApiOperation("Retrieves a list of all properties available for a class from a Dataset in the local Catalog")
    public Response getClassPropertyDetails(@PathParam("recordIRI") String recordIRI,
                                     @PathParam("classIRI") String classIRI) {
        checkStringParam(recordIRI, "The Dataset Record IRI is required.");
        checkStringParam(classIRI, "The Class IRI is required.");
        Resource recordId = factory.createIRI(recordIRI);
        try {
            DatasetRecord record = datasetManager.getDatasetRecord(recordId).orElseThrow(() ->
                    ErrorUtils.sendError("The Dataset Record could not be found.", Response.Status.BAD_REQUEST));
            return Response.ok(getClassProperties(record, classIRI)).build();
        } catch (MobiException e) {
            throw ErrorUtils.sendError(e, e.getMessage(), Response.Status.INTERNAL_SERVER_ERROR);
        }
    }

}