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.io.InputStream; 009import java.net.URI; 010import java.util.Collection; 011 012/** 013 * An operation for interacting with a non-RDF source resource. 014 * 015 * @author bbpennel 016 */ 017public interface NonRdfSourceOperation extends ResourceOperation { 018 019 /** 020 * @return the content stream for a local binary 021 */ 022 InputStream getContentStream(); 023 024 /** 025 * @return the handling method for external content in this resource 026 */ 027 String getExternalHandling(); 028 029 /** 030 * @return the URI for external content in this resource 031 */ 032 URI getContentUri(); 033 034 /** 035 * @return The MimeType of content associated with this resource. 036 */ 037 String getMimeType(); 038 039 /** 040 * Return the file name for the binary content 041 * 042 * @return original file name for the binary content, or the object's id. 043 */ 044 String getFilename(); 045 046 /** 047 * @return the URIs of digests for the content in this resource 048 */ 049 Collection<URI> getContentDigests(); 050 051 /** 052 * @return The size in bytes of content associated with this resource. 053 */ 054 long getContentSize(); 055}