Class AbstractJsonTypeManifold<T extends JsonModel>

  • All Implemented Interfaces:
    manifold.api.service.IPluginHost, manifold.api.service.IService, manifold.api.type.IFileConnected, manifold.api.type.ISelfCompiled, manifold.api.type.ITypeManifold
    Direct Known Subclasses:
    JsonTypeManifold

    public abstract class AbstractJsonTypeManifold<T extends JsonModel>
    extends manifold.api.type.JavaTypeManifold<T>
    A base class for a Type Manifold modeled with a JsonModel e.g., parses its resource to a Bindings. For instance, both the JSON and YAML manifolds extend this class because they both parse to a common Bindings based model.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class manifold.api.type.ResourceFileTypeManifold

        manifold.api.type.ResourceFileTypeManifold.CacheClearer
    • Field Summary

      • Fields inherited from interface manifold.api.type.ITypeManifold

        ARG_DUMP_SOURCE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected String contribute​(JavaFileManager.Location location, String topLevelFqn, boolean genStubs, String existing, T model, DiagnosticListener<JavaFileObject> errorHandler)  
      protected boolean isApiInnerClass​(String topLevel, String relativeInner)
      These inner classes are generated as part of the API, as opposed to being defined in JSON.
      boolean isInnerType​(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, init, isDuplicate, isFileBacked, isPackage, isTopLevelType, isType, refreshedFile
      • Methods inherited from class manifold.api.service.BaseService

        doInit, doUninit, init, isInited, uninit
      • Methods inherited from interface manifold.api.type.IFileConnected

        handlesFileExtension
      • Methods inherited from interface manifold.api.service.IPluginHost

        getInterface
      • Methods inherited from interface manifold.api.type.ISelfCompiled

        compile, isSelfCompile, parse
      • Methods inherited from interface manifold.api.type.ITypeManifold

        accept, enterPostJavaCompilation
    • Constructor Detail

      • AbstractJsonTypeManifold

        public AbstractJsonTypeManifold()
    • Method Detail

      • isInnerType

        public boolean isInnerType​(String topLevel,
                                   String relativeInner)
        Specified by:
        isInnerType in class manifold.api.type.ResourceFileTypeManifold<T extends JsonModel>
      • isApiInnerClass

        protected boolean isApiInnerClass​(String topLevel,
                                          String relativeInner)
        These inner classes are generated as part of the API, as opposed to being defined in JSON.
        Parameters:
        topLevel - The name of the enclosing class of relativeInner
        relativeInner - The name of an API inner class to test for
        Returns:
        true if relativeInner is an inner class generated by the API