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.models;
019
020import org.fcrepo.kernel.api.identifiers.FedoraId;
021import org.fcrepo.kernel.api.models.FedoraResource;
022import org.fcrepo.kernel.api.models.ResourceFactory;
023import org.fcrepo.kernel.api.models.Tombstone;
024import org.fcrepo.persistence.api.PersistentStorageSessionManager;
025
026import java.net.URI;
027import java.util.Collections;
028import java.util.List;
029
030/**
031 * Tombstone class
032 *
033 * @author whikloj
034 */
035public class TombstoneImpl extends FedoraResourceImpl implements Tombstone {
036
037    private FedoraResource originalResource;
038
039    protected TombstoneImpl(final FedoraId fedoraID, final String txId,
040                            final PersistentStorageSessionManager pSessionManager,
041                            final ResourceFactory resourceFactory, final FedoraResource original) {
042        super(fedoraID, txId, pSessionManager, resourceFactory);
043        this.originalResource = original;
044    }
045
046    @Override
047    public FedoraResource getDeletedObject() {
048        return originalResource;
049    }
050
051    @Override
052    public FedoraId getFedoraId() {
053        return this.originalResource.getFedoraId();
054    }
055
056    @Override
057    public List<URI> getUserTypes() {
058        return Collections.emptyList();
059    }
060
061    @Override
062    public List<URI> getSystemTypes(final boolean forRdf) {
063        return Collections.emptyList();
064    }
065}