Interface OptimizationPolicy


  • public interface OptimizationPolicy
    Encapsulates an algorithm that decides whether base64 encoded binary data should be optimized using XOP. The implementation takes the decision based on the submitted binary content and the "eligible for optimization" flag. Depending on the context of use, this flag is provided by the return value of DataHandlerReader.isOptimized() or the optimize argument of DataHandlerWriter.writeDataHandler(DataHandler, String, boolean) or DataHandlerWriter.writeDataHandler(DataHandlerProvider, String, boolean).
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static OptimizationPolicy ALL
      Policy implementation that optimizes all binary content, regardless of whether is has been marked as eligible for optimization.
      static OptimizationPolicy DEFAULT
      Policy implementation that optimizes all binary content marked as eligible for optimization.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean isOptimized​(DataHandler dataHandler, boolean optimize)
      Determine whether the binary content supplied by a given DataHandler should be optimized.
      boolean isOptimized​(org.apache.axiom.ext.stax.datahandler.DataHandlerProvider dataHandlerProvider, boolean optimize)
      Determine whether the binary content supplied by a given DataHandlerProvider should be optimized.
    • Field Detail

      • DEFAULT

        static final OptimizationPolicy DEFAULT
        Policy implementation that optimizes all binary content marked as eligible for optimization.
      • ALL

        static final OptimizationPolicy ALL
        Policy implementation that optimizes all binary content, regardless of whether is has been marked as eligible for optimization.
    • Method Detail

      • isOptimized

        boolean isOptimized​(DataHandler dataHandler,
                            boolean optimize)
                     throws IOException
        Determine whether the binary content supplied by a given DataHandler should be optimized.
        Parameters:
        dataHandler - the binary content
        optimize - indicates whether the binary content was initially marked as eligible for optimization (see above)
        Returns:
        true if the binary content should be optimized using XOP, i.e. encoded using xop:Include
        Throws:
        IOException - if an error occurs while reading the data handler
      • isOptimized

        boolean isOptimized​(org.apache.axiom.ext.stax.datahandler.DataHandlerProvider dataHandlerProvider,
                            boolean optimize)
                     throws IOException
        Determine whether the binary content supplied by a given DataHandlerProvider should be optimized.
        Parameters:
        dataHandlerProvider - the binary content
        optimize - indicates whether the binary content was initially marked as eligible for optimization (see above)
        Returns:
        true if the binary content should be optimized using XOP, i.e. encoded using xop:Include
        Throws:
        IOException - if an error occurs while reading the data handler