Class ClassIndexTransformer

  • All Implemented Interfaces:
    org.apache.maven.plugins.shade.resource.ResourceTransformer

    public class ClassIndexTransformer
    extends java.lang.Object
    implements org.apache.maven.plugins.shade.resource.ResourceTransformer
    • Field Detail

      • SUBCLASS_INDEX_PREFIX

        public static final java.lang.String SUBCLASS_INDEX_PREFIX
        See Also:
        Constant Field Values
      • ANNOTATED_INDEX_PREFIX

        public static final java.lang.String ANNOTATED_INDEX_PREFIX
        See Also:
        Constant Field Values
      • PACKAGE_INDEX_NAME

        public static final java.lang.String PACKAGE_INDEX_NAME
        See Also:
        Constant Field Values
      • serviceEntries

        private final java.util.Map<java.lang.String,​java.io.ByteArrayOutputStream> serviceEntries
      • relocators

        private java.util.List<org.apache.maven.plugins.shade.relocation.Relocator> relocators
    • Constructor Detail

      • ClassIndexTransformer

        public ClassIndexTransformer()
    • Method Detail

      • canTransformResource

        public boolean canTransformResource​(java.lang.String resource)
        Specified by:
        canTransformResource in interface org.apache.maven.plugins.shade.resource.ResourceTransformer
      • processResource

        public void processResource​(java.lang.String resource,
                                    java.io.InputStream is,
                                    java.util.List<org.apache.maven.plugins.shade.relocation.Relocator> relocators)
                             throws java.io.IOException
        Specified by:
        processResource in interface org.apache.maven.plugins.shade.resource.ResourceTransformer
        Throws:
        java.io.IOException
      • hasTransformedResource

        public boolean hasTransformedResource()
        Specified by:
        hasTransformedResource in interface org.apache.maven.plugins.shade.resource.ResourceTransformer
      • modifyOutputStream

        public void modifyOutputStream​(java.util.jar.JarOutputStream jos)
                                throws java.io.IOException
        Specified by:
        modifyOutputStream in interface org.apache.maven.plugins.shade.resource.ResourceTransformer
        Throws:
        java.io.IOException
      • relocateFileName

        private java.lang.String relocateFileName​(java.lang.String key)
      • relocateIfNeeded

        private java.lang.String relocateIfNeeded​(java.lang.String key)