Interface Exportable

  • All Superinterfaces:
    EntityProvider
    All Known Subinterfaces:
    Importable

    public interface Exportable
    extends EntityProvider
    Indicates an entity provider has the capability of exporting entity data which is related to other entities, note that the decision about which data to export is left up to the implementor based on the reference supplied
    This is one of the capability extensions for the EntityProvider interface
    Author:
    Aaron Zeckoski (aaronz@vt.edu)
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      String exportData​(String reference, Search search, OutputStream data, boolean destructive, Map<String,​Object> params)
      Request an export stream of data from an entity provider for all data related to a specific entity (this will probably not be an entity in this provider), search, and parameters
      This is primarily to support the use case archiving and exporting data from a system which related to a user or a site/group
    • Method Detail

      • exportData

        String exportData​(String reference,
                          Search search,
                          OutputStream data,
                          boolean destructive,
                          Map<String,​Object> params)
        Request an export stream of data from an entity provider for all data related to a specific entity (this will probably not be an entity in this provider), search, and parameters
        This is primarily to support the use case archiving and exporting data from a system which related to a user or a site/group
        Parameters:
        reference - a globally unique reference to an entity, this is the entity that the exported data should be associated with (e.g. a reference to a site object or user)
        search - (optional) a search which should be used to limit the data which is exported, may be null
        data - a stream to put the export data into which will be saved by the archiver/exporter
        destructive - if false then the data being exported is not changed, if true then the data should be deleted or hidden (depending on the internal operation of the entity)
        params - (optional) incoming set of parameters which may be used to send data specific to this request, may be null
        Returns:
        a string key representing the encoding used and possibly other info like a version, this allows the export to provide tips to the import when data is streamed back in, if there is no data to export then a null will be returned