Menu

[r43]: / scriptbot / src / java / net / jawe / scriptbot / Module.java  Maximize  Restore  History

Download this file

144 lines (127 with data), 3.9 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/*
* Created on 15.11.2005 by jawe
* $Id$
*/
/*
* This file is part of scriptbot.
*
* scriptbot is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* scriptbot is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ScriptBot; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
package net.jawe.scriptbot;
import java.util.Map;
import java.util.Set;
/**
* A script module.
*
* @author jawe
*/
public interface Module {
/**
* The module name. Always corresponds to the directory the module's scripts
* are in.
*
* @return Returns the name.
*/
public String getName();
/**
* The module name. Always corresponds to the directory the module's scripts
* are in.
*
* @param name
* the name to set
*/
public void setName(String name);
/**
* The module script. This is the script that is executed when the module is
* loaded.
*
* @return the module script.
*/
public Script getModuleScript();
/**
* The module script. This is the script that is executed when the module is
* loaded.
*
* @param script
* the module script.
*/
public void setModuleScript(Script script);
/**
* The commands belonging to this module.
*
* @return Returns the commands.
*/
public Set<Command> getCommands();
/**
* Add an event handler to this module.
*
* @param event
* the event to handle.
* @param eventHandler
* the script to execute when the event fires.
*/
public void addEventHandler(String event, Script eventHandler);
/**
* Remove an event handler from this module.
*
* @param event
* the event.
* @param eventHandler
* the script.
* @return true if the event handler was successfully removed.
*/
public boolean removeEventHandler(String event, Script eventHandler);
/**
* A map of events to sets of scripts.
*
* @return the event handlers.
*/
public Map<String, Set<Script>> getEventHandlers();
/**
* Test if the module is loaded.
*
* @return the loaded status.
*/
public boolean isLoaded();
/**
* Set the loaded status.
*
* @param loaded
* the loaded status to set.
*/
public void setLoaded(boolean loaded);
/**
* The class loader used for loading classes referenced by the module's scripts.
* @return the class loader.
*/
public ClassLoader getClassLoader();
/**
* The class loader used for loading classes referenced by the module's scripts.
* @param cl the class loader.
*/
public void setClassLoader(ClassLoader cl);
/**
* A script to execute when the module is about to be unloaded. The path
* must be relative to the module script!
* @return the unload script.
*/
public String getUnloadScript();
/**
* A script to execute when the module is about to be unloaded. The path
* must be relative to the module script!
* @param filename the unload script.
*/
public void setUnloadScript(String filename);
}
MongoDB Logo MongoDB