Interface ITypeUsesMap

All Superinterfaces:
Serializable
All Known Implementing Classes:
TypeUsesMap

public interface ITypeUsesMap extends Serializable
  • Method Details

    • getTypeUses

      Set<String> getTypeUses()
      Returns the set of strings representing the types that are currently used by this parser. The set of types includes both those declared in #uses statements and those set via setDefaultTypeUses.
    • getNamespaces

      Set<String> getNamespaces()
      Returns the set of strings representing the namespaces that are currently used by this parser.
    • getFeatureSpaces

      Set<String> getFeatureSpaces()
    • getFeatureLiterals

      Set<IFeatureInfo> getFeatureLiterals()
    • addToTypeUses

      void addToTypeUses(String strType)
      Adds a type to the current set of types. Can be a complete type or a wildcard namespace e.g., java.util.HashMap and java.util.* are both legal.
    • addToFeatureSpaces

      void addToFeatureSpaces(String strType)
    • addToFeatureLiterals

      void addToFeatureLiterals(IFeatureInfo fi)
    • addToTypeUses

      void addToTypeUses(IUsesStatement usesStmt)
      Adds a type to the current set of types. Can be a complete type or a wildcard namespace e.g., java.util.HashMap and java.util.* are both legal.
    • getUsesStatements

      Set<IUsesStatement> getUsesStatements()
      Return the set of uses-statements that participate in this map. Note these are the uses-statements compiled from source.
    • addToDefaultTypeUses

      void addToDefaultTypeUses(String strQualifiedType)
      Add the specified type to the set of default types. NOTE: The type is always treated as a package. If it ends in .* then it will be stripped
    • resolveType

      IType resolveType(String strRelativeName)
      Resolve the type of a relative name via the type uses. if the relative type matches uses-type, resolves the type as such. If the type matches, but does not resove, throws an exception, otherwise returns null if there is no match.
    • resolveRelativeNamespaceInAllNamespaces

      INamespaceType resolveRelativeNamespaceInAllNamespaces(String strRelativeName)
      Parameters:
      strRelativeName - A relative path name. E.g., "lang" is a relative package name of "java.lang"
      Returns:
      The absolute namespace type for the relative name or null if not found.
    • clearNonDefaultTypeUses

      void clearNonDefaultTypeUses()
      Clears all types not in the default set of types;
    • copy

      ITypeUsesMap copy()
      Returns a shallow copy of this map.
    • copyLocalScope

      ITypeUsesMap copyLocalScope()
      Copies the type uses map but alias the global map from this.
      Returns:
      a copy of this type uses map.
    • lock

      ITypeUsesMap lock()
      Locks this ITypeUsesMap so that it cannot be mutated in the future
      Returns:
      this ITypeUsesMap, so that this method can be used in a builder-like manner.
    • containsType

      boolean containsType(String qualifiedName)
      Returns:
      if a type wit the given name can be resolved via this type uses map.
    • addToSpecialTypeUses

      void addToSpecialTypeUses(String strType)
    • isSupportRelativePackageResolution

      boolean isSupportRelativePackageResolution()
    • setSupportRelativePackageResolution

      void setSupportRelativePackageResolution(boolean bSupportRelativePackageResolution)