Class UrlTypeManifold

java.lang.Object
manifold.api.service.BaseService
manifold.api.type.UrlTypeManifold
All Implemented Interfaces:
IPluginHost, IService, IFileConnected, ISelfCompiled, ITypeManifold

public abstract class UrlTypeManifold extends BaseService implements ITypeManifold
A base class for non-resource based type manifolds. For instance, a type manifold for a subset of RDF could subclass UrlTypeManifold.
  • Constructor Details

    • UrlTypeManifold

      public UrlTypeManifold()
  • Method Details

    • init

      public void init(IModule module)
      Description copied from interface: ITypeManifold
      Initialize this type manifold. Avoid defining types in the scope of this method.
      Specified by:
      init in interface ITypeManifold
      Parameters:
      module - The module to which this type manifold exclusively belongs
    • getModule

      public IModule getModule()
      Description copied from interface: ITypeManifold
      The module to which this producer is scoped
      Specified by:
      getModule in interface ITypeManifold
    • getSourceKind

      public ISourceKind getSourceKind()
      Description copied from interface: ITypeManifold
      What kind of source is produced? Java?
      Specified by:
      getSourceKind in interface ITypeManifold
    • getContributorKind

      public ContributorKind getContributorKind()
      Description copied from interface: ITypeManifold
      How does this producer contribute toward the source file produced
      Specified by:
      getContributorKind in interface ITypeManifold
    • isTopLevelType

      public boolean isTopLevelType(String fqn)
      Specified by:
      isTopLevelType in interface ITypeManifold
    • getClassType

      public ClassType getClassType(String fqn)
      Description copied from interface: ITypeManifold
      What kind of type corresponds with fqn?
      Specified by:
      getClassType in interface ITypeManifold
    • findFilesForType

      public List<IFile> findFilesForType(String fqn)
      Specified by:
      findFilesForType in interface ITypeManifold
    • clear

      public void clear()
      Description copied from interface: ITypeManifold
      Clear all cached data
      Specified by:
      clear in interface ITypeManifold
    • handlesFileExtension

      public boolean handlesFileExtension(String fileExtension)
      Specified by:
      handlesFileExtension in interface IFileConnected
      Returns:
      True if this type manifold handles files having the given fileExtension
    • handlesFile

      public boolean handlesFile(IFile file)
      Specified by:
      handlesFile in interface IFileConnected
      Returns:
      True if the type manifold handles the given file
    • getTypesForFile

      public String[] getTypesForFile(IFile file)
      Description copied from interface: IFileConnected
      Returns ALL type names associated with the given file whether or not the types have been loaded yet. Type loading should NOT be used in the implementation of this method.
      Specified by:
      getTypesForFile in interface IFileConnected
      Parameters:
      file - The file in question
      Returns:
      All known types derived from that file
    • refreshedFile

      public RefreshKind refreshedFile(IFile file, String[] types, RefreshKind kind)
      Description copied from interface: IFileConnected
      Notifies that a file has been refreshed. The implementor should return all types that it knows need to be refreshed based on the given file.
      Specified by:
      refreshedFile in interface IFileConnected
      Parameters:
      file - The file that was refreshed
      kind - @return All known types affected by the file change