001/* 002 * Licensed to DuraSpace under one or more contributor license agreements. 003 * See the NOTICE file distributed with this work for additional information 004 * regarding copyright ownership. 005 * 006 * DuraSpace licenses this file to you under the Apache License, 007 * Version 2.0 (the "License"); you may not use this file except in 008 * compliance with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.fcrepo.kernel.impl.operations; 019 020import java.io.InputStream; 021import java.net.URI; 022 023import org.fcrepo.kernel.api.identifiers.FedoraId; 024import org.fcrepo.kernel.api.operations.CreateNonRdfSourceOperationBuilder; 025import org.fcrepo.kernel.api.operations.NonRdfSourceOperationFactory; 026import org.springframework.stereotype.Component; 027 028/** 029 * Factory for operations to update non-rdf sources 030 * 031 * @author bbpennel 032 */ 033@Component 034public class NonRdfSourceOperationFactoryImpl implements NonRdfSourceOperationFactory { 035 036 @Override 037 public UpdateNonRdfSourceOperationBuilder updateExternalBinaryBuilder(final FedoraId rescId, 038 final String handling, 039 final URI contentUri) { 040 return new UpdateNonRdfSourceOperationBuilder(rescId, handling, contentUri); 041 } 042 043 @Override 044 public UpdateNonRdfSourceOperationBuilder updateInternalBinaryBuilder(final FedoraId rescId, 045 final InputStream contentStream) { 046 return new UpdateNonRdfSourceOperationBuilder(rescId, contentStream); 047 } 048 049 @Override 050 public CreateNonRdfSourceOperationBuilder createExternalBinaryBuilder(final FedoraId rescId, 051 final String handling, final URI contentUri) { 052 return new CreateNonRdfSourceOperationBuilderImpl(rescId, handling, contentUri); 053 } 054 055 @Override 056 public CreateNonRdfSourceOperationBuilder createInternalBinaryBuilder(final FedoraId rescId, 057 final InputStream contentStream) { 058 return new CreateNonRdfSourceOperationBuilderImpl(rescId, contentStream); 059 } 060 061}