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.kernel.api.operations;
007
008import org.apache.jena.rdf.model.Model;
009import org.fcrepo.kernel.api.RdfStream;
010
011/**
012 * Builder for constructing an RdfSourceOperation
013 *
014 * @author bbpennel
015 */
016public interface RdfSourceOperationBuilder extends RelaxableResourceOperationBuilder {
017
018    @Override
019    RdfSourceOperationBuilder userPrincipal(String userPrincipal);
020
021    @Override
022    RdfSourceOperation build();
023
024    /**
025     * Set the triples for the operation
026     *
027     * @param triples the resource's triples
028     * @return this builder
029     */
030    RdfSourceOperationBuilder triples(RdfStream triples);
031
032    @Override
033    RdfSourceOperationBuilder relaxedProperties(Model model);
034}