Interface MediaFilterService

  • All Known Implementing Classes:
    MediaFilterServiceImpl

    public interface MediaFilterService
    MediaFilterManager is the class that invokes the media/format filters over the repository's content. A few command line flags affect the operation of the MFM: -v verbose outputs all extracted text to STDOUT; -f force forces all bitstreams to be processed, even if they have been before; -n noindex does not recreate index after processing bitstreams; -i [identifier] limits processing scope to a community, collection or item; and -m [max] limits processing to a maximum number of items.
    • Method Detail

      • filterItem

        boolean filterItem​(Context context,
                           Item myItem)
                    throws Exception
        Iterate through the item's bitstreams in the ORIGINAL bundle, applying filters if possible.
        Parameters:
        context - context
        myItem - item
        Returns:
        true if any bitstreams processed, false if none
        Throws:
        Exception - if error
      • filterBitstream

        boolean filterBitstream​(Context c,
                                Item myItem,
                                Bitstream myBitstream)
                         throws Exception
        Attempt to filter a bitstream. An exception will be thrown if the media filter class cannot be instantiated. Exceptions from filtering will be logged to STDOUT and swallowed.
        Parameters:
        c - context
        myItem - item
        myBitstream - bitstream
        Returns:
        true if bitstream processed, false if no applicable filter or already processed
        Throws:
        Exception - if error
      • processBitstream

        boolean processBitstream​(Context context,
                                 Item item,
                                 Bitstream source,
                                 FormatFilter formatFilter)
                          throws Exception
        A utility class that calls the virtual methods from the current MediaFilter class. It scans the bitstreams in an item, and decides if a bitstream has already been filtered, and if not or if overWrite is set, invokes the filter.
        Parameters:
        context - context
        item - item containing bitstream to process
        source - source bitstream to process
        formatFilter - FormatFilter to perform filtering
        Returns:
        true if new rendition is created, false if rendition already exists and overWrite is not set
        Throws:
        Exception - if error occurs
      • updatePoliciesOfDerivativeBitstreams

        void updatePoliciesOfDerivativeBitstreams​(Context context,
                                                  Item item,
                                                  Bitstream source)
                                           throws SQLException,
                                                  AuthorizeException
        update resource polices of derivative bitstreams related to source bitstream. set derivative bitstreams to be publicly accessible or replace derivative bitstreams policies using the same in the source bitstream.
        Parameters:
        context - context
        item - item containing bitstreams
        source - source bitstream
        Throws:
        SQLException - If something goes wrong in the database
        AuthorizeException - if authorization error
      • getCurrentItem

        Item getCurrentItem()
        Return the item that is currently being processed/filtered by the MediaFilterManager.

        This allows FormatFilters to retrieve the Item object in case they need access to item-level information for their format transformations/conversions.

        Returns:
        current Item being processed by MediaFilterManager
      • inSkipList

        boolean inSkipList​(String identifier)
        Check whether or not to skip processing the given identifier.
        Parameters:
        identifier - identifier (handle) of a community, collection or item
        Returns:
        true if this community, collection or item should be skipped during processing. Otherwise, return false.
      • setVerbose

        void setVerbose​(boolean isVerbose)
      • setQuiet

        void setQuiet​(boolean isQuiet)
      • setForce

        void setForce​(boolean isForce)
      • setMax2Process

        void setMax2Process​(int max2Process)
      • setSkipList

        void setSkipList​(List<String> skipList)
      • setLogHandler

        void setLogHandler​(DSpaceRunnableHandler handler)
        Set the log handler used in the DSpace scripts and processes framework
        Parameters:
        handler -