public class CachedClassBuilder extends JamClassBuilder
A ClassBuilder that doesn't do any lazy building - it is just a cache of classes that are used when asked to build one. This is used by JamXmlReader, which does all of it's reading and building in a single pass.
Constructor and Description |
---|
CachedClassBuilder() |
Modifier and Type | Method and Description |
---|---|
MClass |
build(String packageName,
String className)
This is called by JAM when it attempts to load a class.
|
MClass |
createClassToBuild(String packageName,
String className,
String[] importSpecs)
When a JamClassBuilder decides that it is going to be able
to respond to a build() request, it must call this method to get an
initial instance of MClass to return.
|
String[] |
getClassNames() |
init
public MClass build(String packageName, String className)
JamClassBuilder
This is called by JAM when it attempts to load a class. If the builder has access to an artifact (typically a java source or classfile) that represents the given type, it should call createClassToBuild() to get a new instance of MClass and then return it. No caching should be performed - if an MClass is going to be returned, it should be a new instance returned by createClassToBuild()
If no artififact is available, the builder should just return null, signalling that other JamClassBuilders should attempt to build the class.
build
in class JamClassBuilder
public MClass createClassToBuild(String packageName, String className, String[] importSpecs)
JamClassBuilder
When a JamClassBuilder decides that it is going to be able to respond to a build() request, it must call this method to get an initial instance of MClass to return.
packageName
- qualified name of the package that contains the
class to createclassName
- simple name of the class to create.importSpecs
- array of import specs to be used in the class,
or null if not known or relevant. Import specs are only needed if
the builder is planning on setting any unqualified type references
on the class.public String[] getClassNames()
Copyright © 2010 - 2020 Adobe. All Rights Reserved