summaryrefslogtreecommitdiff
path: root/sources/events/VSEvent.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/events/VSEvent.java')
-rw-r--r--sources/events/VSEvent.java47
1 files changed, 44 insertions, 3 deletions
diff --git a/sources/events/VSEvent.java b/sources/events/VSEvent.java
index 2223d22..e84e3aa 100644
--- a/sources/events/VSEvent.java
+++ b/sources/events/VSEvent.java
@@ -1,8 +1,49 @@
package events;
import core.VSProcess;
+import prefs.VSPrefs;
-public interface VSEvent {
- public void init(VSProcess process);
- public void logg(String message);
+abstract public class VSEvent extends VSPrefs {
+ protected VSPrefs prefs;
+ protected VSProcess process;
+ private String eventClassname;
+
+ public void init(VSProcess process) {
+ this.process = process;
+ this.prefs = process.getPrefs();
+ }
+
+ protected final void setClassname(String eventClassname) {
+ if (eventClassname.startsWith("class "))
+ eventClassname = eventClassname.substring(6);
+
+ this.eventClassname = eventClassname;
+ }
+
+ public final String getClassname() {
+ return eventClassname;
+ }
+
+ public String getName() {
+ return VSRegisteredEvents.getName(eventClassname);
+ }
+
+ public final String getShortname() {
+ return VSRegisteredEvents.getShortname(eventClassname);
+ }
+
+ public final VSProcess getProcess() {
+ return process;
+ }
+
+ public void logg(String message) {
+ process.logg(toString() + "; " + message);
+ }
+
+ public boolean equals(VSEvent event) {
+ return super.getID() == event.getID();
+ }
+
+ abstract protected void onInit();
+ abstract public void onStart();
}