Package gw.lang.reflect.gs
Class GosuClassTypeLoader
java.lang.Object
gw.config.BaseService
gw.lang.reflect.TypeLoaderBase
gw.lang.reflect.SimpleTypeLoader
gw.lang.reflect.gs.GosuClassTypeLoader
- All Implemented Interfaces:
IService
,ITypeLoader
,IPluginHost
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate LockingLazyVar<IEnhancementIndex>
private IGosuClassRepository
static final String[]
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
Fields inherited from class gw.lang.reflect.TypeLoaderBase
_module, _typeNames
Fields inherited from interface gw.lang.reflect.ITypeLoader
NO_TYPES
-
Constructor Summary
ConstructorsConstructorDescriptionGosuClassTypeLoader
(IGosuClassRepository repository) GosuClassTypeLoader
(IModule module, IGosuClassRepository repository) -
Method Summary
Modifier and TypeMethodDescriptionprivate IGosuClass
private IGosuClass
getAdapterClass
(String strFullyQualifiedName) protected String[]
Don't call this method unless you really know what you're doing.private IGosuClass
getBlockType
(String strName) static GosuClassTypeLoader
static GosuClassTypeLoader
getDefaultClassLoader
(IModule module) getResource
(String name) Finds the resource with the given name.Gets a type based on a fully-qualified name.getTypeNames
(String namespace) protected ITypeUsesMap
boolean
boolean
hasNamespace
(String namespace) private boolean
boolean
protected boolean
isValidSourceFileHandle
(ISourceFileHandle sourceFile) private void
makeNewClass
(ISourceFileHandle sourceFile) makeNewClass
(ISourceFileHandle sourceFile, ISymbolTable programSymTable) void
void
refreshedNamespace
(String namespace, IDirectory dir, RefreshKind kind) void
refreshedTypesImpl
(RefreshRequest request) boolean
shouldKeepDebugInfo
(IGosuClass gsClass) Methods inherited from class gw.lang.reflect.SimpleTypeLoader
getNamespaceForDirectory, getTypesForFile, handlesDirectory, handlesFile, refreshedFile
Methods inherited from class gw.lang.reflect.TypeLoaderBase
clearTypeNames, deleteIndexFile, getAllTypeNames, getModule, getTypeNames, loadTypeNames, refreshed, refreshedTypes, saveTypeNames, shouldCacheTypeNames, showTypeNamesInIDE, shutdown, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface gw.plugin.IPluginHost
getInterface
-
Field Details
-
GOSU_CLASS_FILE_EXT
- See Also:
-
GOSU_ENHANCEMENT_FILE_EXT
- See Also:
-
GOSU_PROGRAM_FILE_EXT
- See Also:
-
GOSU_TEMPLATE_FILE_EXT
- See Also:
-
GOSU_RULE_EXT
- See Also:
-
GOSU_RULE_SET_EXT
- See Also:
-
ALL_EXTS
-
ALL_EXTS_SET
-
EXTENSIONS
-
BLOCK_PREFIX
- See Also:
-
INNER_BLOCK_PREFIX
- See Also:
-
BLOCK_POSTFIX
- See Also:
-
_repository
-
_enhancementIndex
-
_namespaces
-
-
Constructor Details
-
GosuClassTypeLoader
-
GosuClassTypeLoader
-
-
Method Details
-
getDefaultClassLoader
-
getDefaultClassLoader
-
makeEnhancementIndex
private void makeEnhancementIndex() -
getRepository
-
getEnhancementIndex
-
isCaseSensitive
public boolean isCaseSensitive()- Specified by:
isCaseSensitive
in interfaceITypeLoader
- Overrides:
isCaseSensitive
in classTypeLoaderBase
-
getType
Description copied from interface:ITypeLoader
Gets a type based on a fully-qualified name. This could either be the name of an entity, like "entity.User", the name of a typekey, like "typekey.SystemPermission", or a class name, like "java.lang.String". Names can have [] appended to them to create arrays, and multi-dimensional arrays are supported.ClassNotFoundException
if none of its composite typeloaders can load the type.- Parameters:
strFullyQualifiedName
- the fully qualified name of the type- Returns:
- the corresponding IType or null
-
getAdapterClass
-
getAllNamespaces
Description copied from interface:ITypeLoader
Don't call this method unless you really know what you're doing.- Returns:
- the set of package (aka namespace) names in which this loader's types reside.
-
refreshedNamespace
-
getResource
Description copied from interface:ITypeLoader
Finds the resource with the given name. A resource is some data that can be accessed by class code in a way that may be independent of the location of the code. The exact location of the resource is dependent upon the loader implementationThe name of a resource is a '/'-separated path name that identifies the resource.
- Specified by:
getResource
in interfaceITypeLoader
- Overrides:
getResource
in classTypeLoaderBase
- Parameters:
name
- The resource name- Returns:
- A URL object for reading the resource, or null if the resource could not be found or the invoker doesn't have adequate privileges to get the resource.
-
computeTypeNames
-
refreshedImpl
public void refreshedImpl()- Overrides:
refreshedImpl
in classTypeLoaderBase
-
getHandledPrefixes
-
handlesNonPrefixLoads
public boolean handlesNonPrefixLoads() -
makeNewClass
-
makeNewClass
-
getBlockType
-
isBlock
-
findClass
-
isValidSourceFileHandle
-
getAllExtensions
-
getTypeUsesMap
-
refreshedTypesImpl
- Overrides:
refreshedTypesImpl
in classTypeLoaderBase
-
shouldKeepDebugInfo
-
getExtensions
- Specified by:
getExtensions
in classSimpleTypeLoader
-
getTypeNames
- Specified by:
getTypeNames
in interfaceITypeLoader
- Overrides:
getTypeNames
in classTypeLoaderBase
-
hasNamespace
-