Added javadoc comments, made some fields final.
This commit is contained in:
parent
a85ac92e2b
commit
894c544174
1 changed files with 68 additions and 8 deletions
|
@ -22,11 +22,20 @@ import helma.util.Updatable;
|
||||||
|
|
||||||
public final class Prototype {
|
public final class Prototype {
|
||||||
|
|
||||||
String id;
|
final String name;
|
||||||
String name;
|
final Application app;
|
||||||
Application app;
|
|
||||||
public HashMap templates, functions, actions, skins, updatables;
|
public final HashMap templates;
|
||||||
long lastUpdate, lastCheck;
|
public final HashMap functions;
|
||||||
|
public final HashMap actions;
|
||||||
|
public final HashMap skins;
|
||||||
|
public final HashMap updatables;
|
||||||
|
|
||||||
|
// lastCheck is the time the prototype's files were last checked
|
||||||
|
private long lastCheck;
|
||||||
|
// lastUpdate is the time at which any of the prototype's files were
|
||||||
|
// found updated the last time
|
||||||
|
private long lastUpdate;
|
||||||
|
|
||||||
private Prototype parent;
|
private Prototype parent;
|
||||||
|
|
||||||
|
@ -38,6 +47,13 @@ public final class Prototype {
|
||||||
// app.logEvent ("Constructing Prototype "+app.getName()+"/"+name);
|
// app.logEvent ("Constructing Prototype "+app.getName()+"/"+name);
|
||||||
this.app = app;
|
this.app = app;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
|
||||||
|
templates = new HashMap ();
|
||||||
|
functions = new HashMap ();
|
||||||
|
actions = new HashMap ();
|
||||||
|
skins = new HashMap ();
|
||||||
|
updatables = new HashMap ();
|
||||||
|
|
||||||
isJavaPrototype = app.isJavaPrototype (name);
|
isJavaPrototype = app.isJavaPrototype (name);
|
||||||
lastUpdate = lastCheck = 0;
|
lastUpdate = lastCheck = 0;
|
||||||
}
|
}
|
||||||
|
@ -51,7 +67,8 @@ public final class Prototype {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the parent prototype of this prototype, i.e. the prototype this one inherits from.
|
* Set the parent prototype of this prototype, i.e. the prototype this
|
||||||
|
* prototype inherits from.
|
||||||
*/
|
*/
|
||||||
public void setParentPrototype (Prototype parent) {
|
public void setParentPrototype (Prototype parent) {
|
||||||
// this is not allowed for the hopobject and global prototypes
|
// this is not allowed for the hopobject and global prototypes
|
||||||
|
@ -60,26 +77,53 @@ public final class Prototype {
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the parent prototype from which we inherit, or null
|
||||||
|
* if we are top of the line.
|
||||||
|
*/
|
||||||
public Prototype getParentPrototype () {
|
public Prototype getParentPrototype () {
|
||||||
return parent;
|
return parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a template defined for this prototype. Templates
|
||||||
|
* are files that mix layout and code and were used
|
||||||
|
* before skins came along. Think of them as legacy.
|
||||||
|
*/
|
||||||
public Template getTemplate (String tmpname) {
|
public Template getTemplate (String tmpname) {
|
||||||
return (Template) templates.get (tmpname);
|
return (Template) templates.get (tmpname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a generic function file defined for this prototype.
|
||||||
|
*/
|
||||||
public FunctionFile getFunctionFile (String ffname) {
|
public FunctionFile getFunctionFile (String ffname) {
|
||||||
return (FunctionFile) functions.get (ffname);
|
return (FunctionFile) functions.get (ffname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an action file defined for this prototype. Action
|
||||||
|
* files are functions with a .hac extension
|
||||||
|
* that are accessible publicly via web interface.
|
||||||
|
*/
|
||||||
public ActionFile getActionFile (String afname) {
|
public ActionFile getActionFile (String afname) {
|
||||||
return (ActionFile) actions.get (afname);
|
return (ActionFile) actions.get (afname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a Skinfile for this prototype. This only works for skins
|
||||||
|
* residing in the prototype directory, not for skin files in
|
||||||
|
* other locations or database stored skins.
|
||||||
|
*/
|
||||||
public SkinFile getSkinFile (String sfname) {
|
public SkinFile getSkinFile (String sfname) {
|
||||||
return (SkinFile) skins.get (sfname);
|
return (SkinFile) skins.get (sfname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a skin for this prototype. This only works for skins
|
||||||
|
* residing in the prototype directory, not for skins files in
|
||||||
|
* other locations or database stored skins.
|
||||||
|
*/
|
||||||
public Skin getSkin (String sfname) {
|
public Skin getSkin (String sfname) {
|
||||||
SkinFile sf = (SkinFile) skins.get (sfname);
|
SkinFile sf = (SkinFile) skins.get (sfname);
|
||||||
if (sf != null)
|
if (sf != null)
|
||||||
|
@ -105,18 +149,34 @@ public final class Prototype {
|
||||||
return upd;
|
return upd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the last time any script has been re-read for this prototype.
|
||||||
|
*/
|
||||||
public long getLastUpdate () {
|
public long getLastUpdate () {
|
||||||
return lastUpdate;
|
return lastUpdate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Signal that some script in this prototype has been
|
||||||
|
* re-read from disk and needs to be re-compiled by
|
||||||
|
* the evaluators.
|
||||||
|
*/
|
||||||
public void markUpdated () {
|
public void markUpdated () {
|
||||||
lastUpdate = System.currentTimeMillis ();
|
lastUpdate = System.currentTimeMillis ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the time at which this prototype's scripts were checked
|
||||||
|
* for changes for the last time.
|
||||||
|
*/
|
||||||
public long getLastCheck () {
|
public long getLastCheck () {
|
||||||
return lastCheck;
|
return lastCheck;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Signal that the prototype's scripts have been checked for
|
||||||
|
* changes.
|
||||||
|
*/
|
||||||
public void markChecked () {
|
public void markChecked () {
|
||||||
lastCheck = System.currentTimeMillis ();
|
lastCheck = System.currentTimeMillis ();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue