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.time.Instant; 021 022import org.fcrepo.kernel.api.RdfStream; 023import org.fcrepo.kernel.api.Transaction; 024import org.fcrepo.kernel.api.identifiers.FedoraId; 025import org.fcrepo.kernel.api.operations.RdfSourceOperation; 026 027/** 028 * Abstract operation for interacting with an rdf source 029 * 030 * @author bbpennel 031 */ 032public abstract class AbstractRdfSourceOperation extends AbstractResourceOperation implements RdfSourceOperation { 033 034 protected RdfStream triples; 035 036 protected String lastModifiedBy; 037 038 protected String createdBy; 039 040 protected Instant lastModifiedDate; 041 042 protected Instant createdDate; 043 044 protected AbstractRdfSourceOperation(final Transaction transaction, final FedoraId rescId, 045 final RdfStream triples) { 046 super(transaction, rescId); 047 this.triples = triples; 048 } 049 050 @Override 051 public RdfStream getTriples() { 052 return triples; 053 } 054 055 @Override 056 public String getLastModifiedBy() { 057 return lastModifiedBy; 058 } 059 060 @Override 061 public String getCreatedBy() { 062 return createdBy; 063 } 064 065 @Override 066 public Instant getLastModifiedDate() { 067 return lastModifiedDate; 068 } 069 070 @Override 071 public Instant getCreatedDate() { 072 return createdDate; 073 } 074 075 /** 076 * @param lastModifiedBy the lastModifiedBy to set 077 */ 078 protected void setLastModifiedBy(final String lastModifiedBy) { 079 this.lastModifiedBy = lastModifiedBy; 080 } 081 082 /** 083 * @param createdBy the createdBy to set 084 */ 085 protected void setCreatedBy(final String createdBy) { 086 this.createdBy = createdBy; 087 } 088 089 /** 090 * @param lastModifiedDate the lastModifiedDate to set 091 */ 092 protected void setLastModifiedDate(final Instant lastModifiedDate) { 093 this.lastModifiedDate = lastModifiedDate; 094 } 095 096 /** 097 * @param createdDate the createdDate to set 098 */ 099 protected void setCreatedDate(final Instant createdDate) { 100 this.createdDate = createdDate; 101 } 102 103}