Interface InfoStore


public interface InfoStore

A store of info objects (packages, classes, fields, methods, and annotations).

  • Method Details

    • getHashText

      String getHashText()

      Answer a print string for the receiver, for use in debugging. The value is guaranteed to be unique during the lifetime of the receiver, and, for frequently created types, will be created on demand.

      Returns:
      A print string for the receiver.
    • log

      void log(com.ibm.websphere.ras.TraceComponent logger)

      Log the receiver to the specified logger.

      Parameters:
      logger - The logger to receive the display of the receiver.
    • getInfoStoreFactory

      InfoStoreFactory getInfoStoreFactory()
    • getClassSource

      ClassSource_Aggregate getClassSource()
    • open

      void open() throws InfoStoreException
      Throws:
      InfoStoreException
    • close

      void close() throws InfoStoreException
      Throws:
      InfoStoreException
    • internDescription

      String internDescription(String description)

      Answer the interned copy of a specified description.

      Parameters:
      description - The string description value which is to be interned.
      Returns:
      The interned copy of a specified string. internPackageName(String) internClassName(String)
    • internPackageName

      String internPackageName(String packageName)

      Answer the interned copy of a specified package name.

      Parameters:
      packageName - The package name which is to be interned.
      Returns:
      The interned copy of the package name. internDescription(String) internClassName(String)
    • internClassName

      String internClassName(String className)

      Answer the interned copy of a specified class name.

      Each store has a string store used to guarantee unique of string values. Maintenance of a string store is necessary because the process of loading class and annotations information does not guarantee identical instances for strings which have the same value, and because collections of related classes tend to produce many of the same string values. For example, the reference of a class to a super type, or to an interface, uses the same string value as the declaration of the super type, or of the interface.

      Interning string values leads to dramatically smaller overall string allocations.

      Parameters:
      className - The string class name which is to be interned.
      Returns:
      The interned copy of the class name. internDescription(String)
    • getPackageInfo

      PackageInfo getPackageInfo(String name)

      Answer the package info object for a specified package name.

      Parameters:
      name - The fully qualified name of the package.
      Returns:
      The package info object for a specified package name. TODO: What happens if the package is not found?
    • getDelayableClassInfo

      ClassInfo getDelayableClassInfo(String name)

      Answer (possibly delayed) class info object for a specified class name.

      Parameters:
      name - The fully qualified name of the class.
      Returns:
      The class info object for a specified class name.
    • getStreamCount

      long getStreamCount()

      Answer the number of entries to stream processing.

      Returns:
      The number of entries to stream processing.
    • getStreamTime

      long getStreamTime()

      Answer the total time, in milliseconds, doing stream processing.

      Returns:
      The total time, in milliseconds, doing stream processing. getRuleTime()
    • getScanTime

      long getScanTime()

      Answer the total time, in milliseconds, spent scanning classes.

      Returns:
      The total time, in milliseconds, spent scanning classes. getRuleTime()
    • getRuleTime

      long getRuleTime()

      Answer the total time, in milliseconds, spent doing rule processing.

      Returns:
      The total time, in milliseconds, spent doing rule processing. getScanTime()