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 * 006 */ 007package org.fcrepo.migration; 008 009/** 010 * An interface defining access to information about a fedora datastream. 011 * @author mdurbin 012 */ 013public interface DatastreamInfo { 014 015 /** 016 * Gets the information about the object to which this datastream 017 * belongs. 018 * 019 * @return {@link org.fcrepo.migration.ObjectInfo} 020 */ 021 public ObjectInfo getObjectInfo(); 022 023 /** 024 * Gets the identifier for this datastream (Unique within an object). 025 * 026 * @return datastream id 027 */ 028 public String getDatastreamId(); 029 030 /** 031 * Gets the control group for this datastream. This is expected to be 032 * "M", "X", "R" or "E". 033 * 034 * @return control group 035 */ 036 public String getControlGroup(); 037 038 /** 039 * Gets the fedora URI for this datastream. 040 * 041 * @return Fedora URI 042 */ 043 public String getFedoraURI(); 044 045 /** 046 * Gets the state for this datastream. This is expected to be "A", "I" or 047 * "D". 048 * 049 * @return state 050 */ 051 public String getState(); 052 053 /** 054 * Returns true if this datastream was/is versionable. 055 * 056 * @return true if versionable 057 */ 058 public boolean getVersionable(); 059}