Interface ProgramUnit

All Known Subinterfaces:
Class, Field, Member, Method

public interface ProgramUnit
An abstract program unit.

Any structural unit of a base program (class, member, ...). Units exclude the code.

When referencing a program unit, the client can retrieve unit locators using getLocator() or more specific methods. This locators shall be used conjointly whith an Instrumentor implementation in order to perform aspetual transformations of the program (e.g. type merging, parameters adding,...).

Program units also supports metadatas, i.e. the ability to add extra information on the base program so that the client can extends its meaning very easily.

See Also:
  • Method Details

    • getLocator

      UnitLocator getLocator()
      Returns the locator that corresponds to this unit.
    • getMetadata

      Metadata getMetadata(Object key)
      Returns the metadata that is associated to this unit from its key.
    • getMetadatas

      Metadata[] getMetadatas()
      Returns all the metadatas that are associated to the current unit.
    • addMetadata

      void addMetadata(Metadata metadata)
      Associates a metadata to the current unit.

      If a metadata already exists with the same key, then its value is replaced by the newly given one.

    • removeMetadata

      void removeMetadata(Object key)
      Removes a metadata from its key.

      If none metadata having the given key exists, then this method has no effect.