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; 010import org.fcrepo.kernel.api.identifiers.FedoraId; 011 012/** 013 * @author bbpennel 014 * 015 */ 016public interface CreateRdfSourceOperationBuilder extends RdfSourceOperationBuilder { 017 018 @Override 019 CreateRdfSourceOperationBuilder userPrincipal(String userPrincipal); 020 021 @Override 022 CreateRdfSourceOperationBuilder triples(RdfStream triples); 023 024 @Override 025 CreateRdfSourceOperationBuilder relaxedProperties(Model model); 026 027 @Override 028 CreateRdfSourceOperation build(); 029 030 /** 031 * Set the parent identifier of the resource 032 * 033 * @param parentId parent internal identifier 034 * @return the builder 035 */ 036 CreateRdfSourceOperationBuilder parentId(FedoraId parentId); 037 038 /** 039 * Indicates that this resource should be created as an Archival Group 040 * @param flag if true, create as Archival Group 041 * @return this builder 042 */ 043 CreateRdfSourceOperationBuilder archivalGroup(boolean flag); 044 045}