Package manifold.api.darkj
Class DarkJavaTypeManifold
- java.lang.Object
-
- manifold.api.service.BaseService
-
- manifold.api.type.ResourceFileTypeManifold<M>
-
- manifold.api.type.JavaTypeManifold<manifold.api.darkj.Model>
-
- manifold.api.darkj.DarkJavaTypeManifold
-
- All Implemented Interfaces:
manifold.api.service.IPluginHost,manifold.api.service.IService,manifold.api.type.IFileConnected,manifold.api.type.ISelfCompiled,manifold.api.type.ITypeManifold
public class DarkJavaTypeManifold extends manifold.api.type.JavaTypeManifold<manifold.api.darkj.Model>Dark Java is dark because it's Java, yet it can't be "seen" at compile-time. It satisfies the use-case where you need to write Java software against a system that materializes only at runtime. For instance, say your code must target different versions of the same API. You can use Dark Java to write an alternative version of the parts of your software that support an older (or newer) API.
-
-
Field Summary
Fields Modifier and Type Field Description static Set<String>FILE_EXTENSIONS
-
Constructor Summary
Constructors Constructor Description DarkJavaTypeManifold()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaccept(manifold.api.host.IModule module)protected Stringcontribute(JavaFileManager.Location location, String topLevelFqn, boolean genStubs, String existing, manifold.api.darkj.Model model, DiagnosticListener<JavaFileObject> errorHandler)booleanhandlesFileExtension(String fileExtension)voidinit(manifold.api.host.IModule module)booleanisInnerType(String topLevel, String relativeInner)-
Methods inherited from class manifold.api.type.JavaTypeManifold
getClassType, getContributorKind, getSourceKind
-
Methods inherited from class manifold.api.type.ResourceFileTypeManifold
clear, contribute, createCacheClearer, findFilesForType, findTopLevelFqn, getAdditionalTypes, getAllTypeNames, getContent, getModel, getModule, getPackage, getPeripheralTypes, getTypeNameForFile, getTypeNames, getTypesForFile, handlesFile, init, isDuplicate, isFileBacked, isPackage, isTopLevelType, isType, refreshedFile
-
Methods inherited from class manifold.api.service.BaseService
doInit, doUninit, init, isInited, uninit
-
-
-
-
Method Detail
-
accept
public boolean accept(manifold.api.host.IModule module)
-
init
public void init(manifold.api.host.IModule module)
- Specified by:
initin interfacemanifold.api.type.ITypeManifold- Overrides:
initin classmanifold.api.type.ResourceFileTypeManifold<manifold.api.darkj.Model>
-
handlesFileExtension
public boolean handlesFileExtension(String fileExtension)
-
isInnerType
public boolean isInnerType(String topLevel, String relativeInner)
- Specified by:
isInnerTypein classmanifold.api.type.ResourceFileTypeManifold<manifold.api.darkj.Model>
-
contribute
protected String contribute(JavaFileManager.Location location, String topLevelFqn, boolean genStubs, String existing, manifold.api.darkj.Model model, DiagnosticListener<JavaFileObject> errorHandler)
- Specified by:
contributein classmanifold.api.type.ResourceFileTypeManifold<manifold.api.darkj.Model>
-
-