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 org.fcrepo.config.ServerManagedPropsMode; 021import org.fcrepo.kernel.api.identifiers.FedoraId; 022import org.fcrepo.kernel.api.operations.CreateRdfSourceOperationBuilder; 023import org.fcrepo.kernel.api.operations.RdfSourceOperationBuilder; 024import org.fcrepo.kernel.api.operations.RdfSourceOperationFactory; 025import org.springframework.stereotype.Component; 026 027 028/** 029 * Implementation of a factory for operations on rdf sources 030 * 031 * @author bbpennel 032 */ 033@Component 034public class RdfSourceOperationFactoryImpl implements RdfSourceOperationFactory { 035 036 @Override 037 public CreateRdfSourceOperationBuilder createBuilder(final FedoraId rescId, 038 final String interactionModel, 039 final ServerManagedPropsMode serverManagedPropsMode) { 040 return new CreateRdfSourceOperationBuilderImpl(rescId, interactionModel, serverManagedPropsMode); 041 } 042 043 @Override 044 public RdfSourceOperationBuilder updateBuilder(final FedoraId rescId, 045 final ServerManagedPropsMode serverManagedPropsMode) { 046 return new UpdateRdfSourceOperationBuilder(rescId, serverManagedPropsMode); 047 } 048 049}