Package manifold.ext
Interface IExtensionClassProducer
-
- All Superinterfaces:
manifold.api.type.IFileConnected,manifold.api.type.ISelfCompiled,manifold.api.type.ITypeManifold
- All Known Implementing Classes:
AbstractExtensionProducer
public interface IExtensionClassProducer extends manifold.api.type.ITypeManifoldA type manifold implements this interface if it produces extension classes. Normally extension classes are provided directly as source files. However it may be necessary for a type manifold to produce them dynamically based on information provided elsewhere. This interface serves as a means for theExtensionManifoldto ask this type manifold what types it extends and so forth.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Set<String>getExtendedTypes()The set of extension classes this type manifold produces.Set<String>getExtendedTypesForFile(manifold.api.fs.IFile file)The set of classes extended via {$code file}.Set<String>getExtensionClasses(String fqn)The subset of extension classes this type manifold produces that extendfqnbooleanisExtendedType(String fqn)Does this type manifold produce extension class[es] forfqn?
-
-
-
Method Detail
-
isExtendedType
boolean isExtendedType(String fqn)
Does this type manifold produce extension class[es] forfqn?- Parameters:
fqn- The fully qualified name of a type for which this manifold may produce an extension class- Returns:
- True if this manifold produces extension class[es] for
fqn
-
getExtensionClasses
Set<String> getExtensionClasses(String fqn)
The subset of extension classes this type manifold produces that extendfqn- Parameters:
fqn- The fully qualified name of a potentially extended type- Returns:
- The subset of extension classes this type manifold produces that extend
fqn
-
getExtendedTypes
Set<String> getExtendedTypes()
The set of extension classes this type manifold produces.
-
-