Class ModuleExports

  • All Implemented Interfaces:
    java.lang.Cloneable, Node

    public final class ModuleExports
    extends java.lang.Object
    implements java.lang.Cloneable, Node
    This class represents an entry in the exports table of the Module attribute. Each entry describes a package which may open the parent module.
    Since:
    6.4.0
    See Also:
    Module
    • Field Detail

      • exportsIndex

        private final int exportsIndex
      • exportsFlags

        private final int exportsFlags
      • exportsToCount

        private final int exportsToCount
      • exportsToIndex

        private final int[] exportsToIndex
    • Constructor Detail

      • ModuleExports

        ModuleExports​(java.io.DataInput dataInput)
               throws java.io.IOException
        Constructs object from file stream.
        Parameters:
        dataInput - Input stream.
        Throws:
        java.io.IOException - if an I/O Exception occurs in readUnsignedShort.
    • Method Detail

      • getToModuleNameAtIndex

        private static java.lang.String getToModuleNameAtIndex​(ConstantPool constantPool,
                                                               int index)
      • accept

        public void accept​(Visitor v)
        Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
        Specified by:
        accept in interface Node
        Parameters:
        v - Visitor object.
      • copy

        public ModuleExports copy()
        Returns:
        deep copy of this object.
      • dump

        public void dump​(java.io.DataOutputStream file)
                  throws java.io.IOException
        Dumps table entry to file stream in binary format.
        Parameters:
        file - Output file stream.
        Throws:
        java.io.IOException - if an I/O Exception occurs in writeShort.
      • getExportsFlags

        public int getExportsFlags()
        Gets the flags for this ModuleExports.
        Returns:
        the exportsFlags.
        Since:
        6.10.0
      • getPackageName

        public java.lang.String getPackageName​(ConstantPool constantPool)
        Gets the exported package name.
        Parameters:
        constantPool - the constant pool from the ClassFile.
        Returns:
        the exported package name.
        Since:
        6.10.0
      • getToModuleNames

        public java.lang.String[] getToModuleNames​(ConstantPool constantPool)
        Gets an array of module names for this ModuleExports.
        Parameters:
        constantPool - Array of constants usually obtained from the ClassFile object.
        Returns:
        array of module names following 'exports to'.
        Since:
        6.10.0
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        Returns:
        String representation.
      • toString

        public java.lang.String toString​(ConstantPool constantPool)
        Returns:
        Resolved string representation.