001/* 002 * The contents of this file are subject to the license and copyright 003 * detailed in the LICENSE and NOTICE files at the root of the source 004 * tree. 005 */ 006package org.fcrepo.http.commons.api.rdf; 007 008import javax.ws.rs.core.UriInfo; 009 010import org.fcrepo.kernel.api.models.FedoraResource; 011 012import org.apache.jena.rdf.model.Model; 013 014/** 015 * Helper to generate an RDF model for a FedoraResourceImpl that (likely) creates 016 * relations from our resource to other HTTP components 017 * 018 * @author awoods 019 */ 020public interface UriAwareResourceModelFactory { 021 022 /** 023 * Given a resource, the UriInfo and a way to generate graph subjects, 024 * create a model with triples to inject into an RDF response for the 025 * resource (e.g. to add HATEOAS links) 026 * 027 * @param resource the resource 028 * @param uriInfo the uri info 029 * @return model containing triples for the given resource 030 */ 031 Model createModelForResource(final FedoraResource resource, final UriInfo uriInfo); 032}