Class JavaContext

java.lang.Object
io.github.mmm.code.base.BasePathElementAccess
io.github.mmm.code.base.node.BaseNodeItemContainerAccess
io.github.mmm.code.base.AbstractBaseProvider
io.github.mmm.code.base.AbstractBaseContext
io.github.mmm.code.base.AbstractBaseContextWithCache
io.github.mmm.code.impl.java.JavaContext
All Implemented Interfaces:
io.github.mmm.code.api.CodeContext, io.github.mmm.code.api.CodeLoader, io.github.mmm.code.api.CodeProvider, io.github.mmm.code.api.CodeWithContext, io.github.mmm.code.api.node.CodeNode, io.github.mmm.code.base.BaseContext, io.github.mmm.code.base.BaseProvider, io.github.mmm.code.base.loader.BaseLoader, AutoCloseable
Direct Known Subclasses:
JavaExtendedContext, JavaRootContext

public abstract class JavaContext extends io.github.mmm.code.base.AbstractBaseContextWithCache
Implementation of CodeContext for Java.
Since:
1.0.0
Author:
Joerg Hohwiller (hohwille at users.sourceforge.net)
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected class 
    Implementation of BaseLoader to load classes from byte-code.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    JavaContext(io.github.mmm.code.base.source.BaseSourceImpl source)
    The constructor.
     
    JavaContext(io.github.mmm.code.base.source.BaseSourceImpl source, io.github.mmm.code.base.source.BaseSourceProvider sourceProvider)
    The constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract ClassLoader
     
     
    io.github.mmm.code.base.type.BaseGenericType
    getType(Type type, io.github.mmm.code.api.element.CodeElementWithDeclaringType declaringElement)
     
    protected io.github.mmm.code.base.type.BaseType
    getTypeFromCache(String qualifiedName)
     

    Methods inherited from class io.github.mmm.code.base.AbstractBaseContextWithCache

    close, createCache, getLoader, getOrCreateSource, getOrCreateSource, getOrCreateSource, getOrCreateType, getSource, getType, getType, getType, isPreventRegisterSource

    Methods inherited from class io.github.mmm.code.base.AbstractBaseContext

    createChildContext, getBooleanType, getContext, getFactory, getLanguage, getNonPrimitiveType, getParent, getQualifiedNameForStandardType, getRootEnumerationType, getRootExceptionType, getRootType, getSource, getUnboundedWildcard, getVoidType

    Methods inherited from class io.github.mmm.code.base.AbstractBaseProvider

    getRequiredType

    Methods inherited from class io.github.mmm.code.base.node.BaseNodeItemContainerAccess

    addContainerItem

    Methods inherited from class io.github.mmm.code.base.BasePathElementAccess

    addPathElementInternal, getPackage

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.github.mmm.code.base.BaseProvider

    getRequiredType

    Methods inherited from interface io.github.mmm.code.api.CodeContext

    getQualifiedName, getQualifiedName

    Methods inherited from interface io.github.mmm.code.api.CodeProvider

    parseName
  • Constructor Details

    • JavaContext

      protected JavaContext(io.github.mmm.code.base.source.BaseSourceImpl source)
      The constructor.
      Parameters:
      source - the top-level source.
    • JavaContext

      public JavaContext(io.github.mmm.code.base.source.BaseSourceImpl source, io.github.mmm.code.base.source.BaseSourceProvider sourceProvider)
      The constructor.
      Parameters:
      source - the top-level source.
      sourceProvider - the BaseSourceProvider.
  • Method Details

    • getRootContext

      public abstract JavaRootContext getRootContext()
      Returns:
      the root context responsible for the fundamental code (from JDK).
    • getTypeFromCache

      protected io.github.mmm.code.base.type.BaseType getTypeFromCache(String qualifiedName)
      Overrides:
      getTypeFromCache in class io.github.mmm.code.base.AbstractBaseContextWithCache
    • getType

      public io.github.mmm.code.base.type.BaseGenericType getType(Type type, io.github.mmm.code.api.element.CodeElementWithDeclaringType declaringElement)
    • getClassLoader

      public abstract ClassLoader getClassLoader()
      Returns:
      the ClassLoader used by this context to load byte-code.