Class ValueRepositoryId


  • public class ValueRepositoryId
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String hashcode  
      private int index  
      private java.security.MessageDigest sha  
      private java.util.Hashtable<SymtabEntry,​java.lang.Integer> types  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addType​(SymtabEntry entry)
      Add a type to the list of types which have already been included.
      void addValue​(int value)
      Add a value to the hashcode being computed.
      java.lang.String getHashcode()
      Get the hashcode computed for the value type.
      private static java.lang.String hexOf​(byte value)  
      boolean isNewType​(SymtabEntry entry)
      Check to see if a specified type has already been processed.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • sha

        private java.security.MessageDigest sha
      • index

        private int index
      • types

        private java.util.Hashtable<SymtabEntry,​java.lang.Integer> types
      • hashcode

        private java.lang.String hashcode
    • Constructor Detail

      • ValueRepositoryId

        public ValueRepositoryId()
    • Method Detail

      • addValue

        public void addValue​(int value)
        Add a value to the hashcode being computed.
        Parameters:
        value - the value to be added to the value RepositoryID.
      • addType

        public void addType​(SymtabEntry entry)
        Add a type to the list of types which have already been included. Note that the type should be added prior to its value.
        Parameters:
        entry - the type to be added to the value RepositoryID.
      • isNewType

        public boolean isNewType​(SymtabEntry entry)
        Check to see if a specified type has already been processed. If so, add the appropriate 'previously processed' code (0xFFFFFFFF) and sequence offset, and return false; otherwise add the symbol table entry and current offset to the hashtable and return false.
        Parameters:
        entry - the type to be checked
        Returns:
        true if the symbol table entry has not been previously added; and false otherwise.
      • getHashcode

        public java.lang.String getHashcode()
        Get the hashcode computed for the value type. This method MUST not be called until all fields have been added, since it computes the hash code from the values entered for each field.
        Returns:
        the 64 bit hashcode for the value type represented as a 16 character hexadecimal string.
      • hexOf

        private static java.lang.String hexOf​(byte value)