Package editor

Class PackageTypeLoader

All Implemented Interfaces:
IService, ITypeLoader, IPluginHost

public class PackageTypeLoader extends TypeLoaderBase
  • Field Details

  • Constructor Details

    • PackageTypeLoader

      private PackageTypeLoader()
  • Method Details

    • instance

      public static PackageTypeLoader instance()
    • getType

      public PackageType getType(String fullyQualifiedName)
      Description copied from interface: ITypeLoader
      Gets a type based on a fully-qualified name. This could either be the name of an entity, like "entity.User", the name of a typekey, like "typekey.SystemPermission", or a class name, like "java.lang.String". Names can have [] appended to them to create arrays, and multi-dimensional arrays are supported.

      If the type can be successfully resolved by the typeloader, it will be returned, otherwise it will return null. The sole exception to this rule is the top-level TypeLoaderAccess, which will throw a ClassNotFoundException if none of its composite typeloaders can load the type.

      There is a global lock in TypeLoaderAccess that is acquired when this method is called. Basically one type at a time can be loaded from the system. This method is free to release that lock during this call. This is needed to deal with reentrant type loaders. It is the responsibility of this method to make sure the lock is reacquired before this method returns.

      Type loader access will guarentee that no duplicate types are put into the type loader.

      Parameters:
      fullyQualifiedName - the fully qualified name of the type
      Returns:
      the corresponding IType or null
    • hasNamespace

      public boolean hasNamespace(String s)
    • computeTypeNames

      public Set<String> computeTypeNames()
    • getIntrinsicTypeByFullName

      public IType getIntrinsicTypeByFullName(String fullyQualifiedName, boolean bSkipVerify) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • getAllNamespaces

      public Set<? extends CharSequence> getAllNamespaces()
      Description copied from interface: ITypeLoader
      Don't call this method unless you really know what you're doing.
      Returns:
      the set of package (aka namespace) names in which this loader's types reside.
    • clearCaches

      private void clearCaches()
    • getHandledPrefixes

      public List<String> getHandledPrefixes()
    • handlesNonPrefixLoads

      public boolean handlesNonPrefixLoads()
    • refreshedNamespace

      public void refreshedNamespace(String s, IDirectory iDirectory, RefreshKind refreshKind)
    • get

      private PackageType get(String strPackage)
    • get

      private PackageType get(String strPackage, boolean bSkipVerify)
    • define

      private PackageType define(String strPackage, boolean bSkipVerify)
    • packageExists

      private boolean packageExists(String strName)