public class TemplateClass extends Object
Define the data structure hold template class/template src/generated java src
| Modifier and Type | Field and Description |
|---|---|
static String |
CN_SUFFIX |
CodeBuilder |
codeBuilder
CodeBuilder to generate java source code Could be used to merge state into including template class codeBuilder
|
ICodeType |
codeType
The code type could be HTML, JS, JSON etc
|
byte[] |
enhancedByteCode
The enhanced byteCode
|
TemplateClass |
extendedTemplateClass |
Set<String> |
importPaths
Store a list of import path, i.e.
|
byte[] |
javaByteCode
The compiled byteCode
|
Class<ITemplate> |
javaClass
The in JVM loaded class
|
Package |
javaPackage
The in JVM loaded package
|
String |
javaSource
The Java source
|
int |
sigChecksum
Signatures checksum
|
ITemplateResource |
templateResource
the template resource
|
| Constructor and Description |
|---|
TemplateClass(File file,
RythmEngine engine)
Construct a TemplateClass instance using template source file
|
TemplateClass(ITemplateResource resource,
RythmEngine engine) |
TemplateClass(ITemplateResource resource,
RythmEngine engine,
boolean noRefresh) |
TemplateClass(ITemplateResource resource,
RythmEngine engine,
boolean noRefresh,
IDialect dialect) |
TemplateClass(ITemplateResource resource,
RythmEngine engine,
IDialect dialect) |
TemplateClass(String template,
RythmEngine engine)
Construct a TemplateClass instance using template source content or file path
|
TemplateClass(String template,
RythmEngine engine,
IDialect dialect)
Construct a TemplateClass instance using template source content or file path
|
| Modifier and Type | Method and Description |
|---|---|
void |
addImportPath(String path) |
void |
addIncludeTemplateClass(TemplateClass tc) |
ITemplate |
asTemplate(ICodeType type,
Locale locale,
RythmEngine engine) |
ITemplate |
asTemplate(ITemplate caller,
RythmEngine engine) |
ITemplate |
asTemplate(RythmEngine engine) |
void |
buildSourceCode() |
void |
buildSourceCode(String includingClassName) |
byte[] |
compile()
Compile the class from Java source
|
void |
compiled(byte[] code)
Call back when a class is compiled.
|
static TemplateClass |
createInnerClass(String className,
byte[] byteCode,
TemplateClass parent) |
void |
delayedEnhance(TemplateClass root)
Used to instruct embedded class byte code needs to be enhanced, but for now let’s just use the java byte code as the enhanced bytecode
|
void |
deserializeIncludeTagTypes(String s) |
byte[] |
enhance() |
boolean |
equals(Object o) |
CodeBuilder |
getCodeBuilder() |
ICodeType |
getCodeType() |
byte[] |
getEnhancedByteCode() |
Set<String> |
getImportPaths() |
byte[] |
getJavaByteCode() |
Class<ITemplate> |
getJavaClass() |
String |
getJavaSource() |
String |
getKey()
Return the name or key of the template resource
|
String |
getPackage() |
String |
getResourceLoaderClass() |
int |
getSigChecksum() |
String |
getTagName()
If not null then this template is a tag
|
ITemplateResource |
getTemplateResource() |
String |
getTemplateSource()
The template source
|
String |
getTemplateSource(boolean includeRoot) |
int |
hashCode() |
boolean |
isClass() |
boolean |
isDefinable()
Is this class already compiled but not defined ?
|
boolean |
isInner() |
boolean |
isStringTemplate()
Is this template resource coming from a literal String or from a loaded resource like file
|
void |
loadCachedByteCode(byte[] code) |
String |
name() |
String |
name0() |
boolean |
refresh() |
boolean |
refresh(boolean forceRefresh) |
String |
refreshIncludeTemplateClassNames() |
void |
replaceImportPath(Set<String> paths) |
void |
reset()
Remove all java source/ byte code and cache
|
boolean |
returnObject(String tagName) |
TemplateClass |
root() |
String |
serializeIncludeTagTypes() |
void |
setExtendedTemplateClass(TemplateClass extendedTemplateClass)
Deprecated.
|
void |
setIncludeTemplateClassNames(String includeTemplateClassNames) |
void |
setJavaClass(Class<ITemplate> javaClass)
Deprecated.
|
void |
setJavaPackage(Package javaPackage)
Deprecated.
|
void |
setJavaSource(String javaSource)
Deprecated.
|
void |
setTagType(String tagName,
String type) |
String |
toString() |
void |
uncompile()
Unload the class
|
public static final String CN_SUFFIX
public TemplateClass extendedTemplateClass
public String javaSource
The Java source
public byte[] javaByteCode
The compiled byteCode
public byte[] enhancedByteCode
The enhanced byteCode
public Set<String> importPaths
Store a list of import path, i.e. those imports ends with “.*”
public Package javaPackage
The in JVM loaded package
public ICodeType codeType
The code type could be HTML, JS, JSON etc
public int sigChecksum
Signatures checksum
public CodeBuilder codeBuilder
CodeBuilder to generate java source code
Could be used to merge state into including template class codeBuilderpublic ITemplateResource templateResource
the template resource
public TemplateClass(File file, RythmEngine engine)
Construct a TemplateClass instance using template source file
file - the template source filepublic TemplateClass(String template, RythmEngine engine)
Construct a TemplateClass instance using template source content or file path
template - public TemplateClass(String template, RythmEngine engine, IDialect dialect)
Construct a TemplateClass instance using template source content or file path
template - public TemplateClass(ITemplateResource resource, RythmEngine engine)
public TemplateClass(ITemplateResource resource, RythmEngine engine, IDialect dialect)
public TemplateClass(ITemplateResource resource, RythmEngine engine, boolean noRefresh)
public TemplateClass(ITemplateResource resource, RythmEngine engine, boolean noRefresh, IDialect dialect)
public TemplateClass root()
public boolean isInner()
public String name0()
public String name()
public void addIncludeTemplateClass(TemplateClass tc)
public String refreshIncludeTemplateClassNames()
public boolean returnObject(String tagName)
public String serializeIncludeTagTypes()
public void deserializeIncludeTagTypes(String s)
public String getTagName()
If not null then this template is a tag
public String getTemplateSource()
The template source
public String getTemplateSource(boolean includeRoot)
public boolean isStringTemplate()
Is this template resource coming from a literal String or from a loaded resource like file
public String getResourceLoaderClass()
public String getKey()
Return the name or key of the template resource
public ITemplate asTemplate(ICodeType type, Locale locale, RythmEngine engine)
public ITemplate asTemplate(RythmEngine engine)
public ITemplate asTemplate(ITemplate caller, RythmEngine engine)
public boolean refresh()
public void buildSourceCode(String includingClassName)
public void buildSourceCode()
public void addImportPath(String path)
public boolean refresh(boolean forceRefresh)
public boolean isDefinable()
Is this class already compiled but not defined ?
public void reset()
Remove all java source/ byte code and cache
public byte[] compile()
Compile the class from Java source
public void delayedEnhance(TemplateClass root)
Used to instruct embedded class byte code needs to be enhanced, but for now let’s just use the java byte code as the enhanced bytecode
public byte[] enhance()
public void uncompile()
Unload the class
public boolean isClass()
public String getPackage()
public void loadCachedByteCode(byte[] code)
public void compiled(byte[] code)
Call back when a class is compiled.
code - The bytecode.public static TemplateClass createInnerClass(String className, byte[] byteCode, TemplateClass parent)
public ITemplateResource getTemplateResource()
public ICodeType getCodeType()
public String getJavaSource()
@Deprecated public void setJavaPackage(Package javaPackage)
@Deprecated public void setJavaClass(Class<ITemplate> javaClass)
public CodeBuilder getCodeBuilder()
public byte[] getEnhancedByteCode()
public byte[] getJavaByteCode()
public int getSigChecksum()
@Deprecated public void setJavaSource(String javaSource)
@Deprecated public void setExtendedTemplateClass(TemplateClass extendedTemplateClass)
public void setIncludeTemplateClassNames(String includeTemplateClassNames)
Copyright © 2017–2021 OSGL (Open Source General Library). All rights reserved.