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 java.net.URI; 009import java.util.Collection; 010 011/** 012 * Builder for an operation for interacting with a non-rdf source 013 * 014 * @author bbpennel 015 */ 016public interface NonRdfSourceOperationBuilder extends ResourceOperationBuilder { 017 018 /** 019 * Set the mimetype for content in this resource 020 * 021 * @param mimetype the mime-type. 022 * @return the builder. 023 */ 024 NonRdfSourceOperationBuilder mimeType(String mimetype); 025 026 /** 027 * Set the filename 028 * 029 * @param filename name of the file. 030 * @return the builder. 031 */ 032 NonRdfSourceOperationBuilder filename(String filename); 033 034 /** 035 * Collection of digests for content in this resource 036 * 037 * @param digests collection of digests 038 * @return the builder. 039 */ 040 NonRdfSourceOperationBuilder contentDigests(Collection<URI> digests); 041 042 /** 043 * Set the number of bytes for the content 044 * 045 * @param size size of the content in bytes 046 * @return the builder 047 */ 048 NonRdfSourceOperationBuilder contentSize(long size); 049 050 @Override 051 NonRdfSourceOperationBuilder userPrincipal(String userPrincipal); 052 053 @Override 054 NonRdfSourceOperation build(); 055}