diff options
Diffstat (limited to 'EssentialsUpdate/src/f00f/net/irc/martyr/GenericCommandAutoService.java')
-rw-r--r-- | EssentialsUpdate/src/f00f/net/irc/martyr/GenericCommandAutoService.java | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/EssentialsUpdate/src/f00f/net/irc/martyr/GenericCommandAutoService.java b/EssentialsUpdate/src/f00f/net/irc/martyr/GenericCommandAutoService.java deleted file mode 100644 index b9c1d5ede..000000000 --- a/EssentialsUpdate/src/f00f/net/irc/martyr/GenericCommandAutoService.java +++ /dev/null @@ -1,79 +0,0 @@ -package f00f.net.irc.martyr; - -import java.util.Observable; -import java.util.Observer; - -/** - * Provides a framework for an auto service that operates with - * InCommands. Does enable by default. Splits the 'update' method - * into two, 'updateState' and 'updateCommand'. Also provides thread - * safety on all methods. - */ -public abstract class GenericCommandAutoService implements Observer -{ - -protected boolean enabled = false; -protected IRCConnection connection; - -protected GenericCommandAutoService( IRCConnection connection ) -{ - this.connection = connection; - - enable(); -} - -public synchronized void enable() -{ - if( enabled ) - return; - - connection.addCommandObserver( this ); - enabled = true; -} - -public synchronized void disable() -{ - if( !enabled ) - return; - - connection.removeCommandObserver( this ); - enabled = false; -} - -public synchronized void update( Observable observer, Object updated ) -{ - if( !enabled ) - throw new IllegalStateException("This observer is not enabled." ); - if( updated instanceof State ) - { - throw new IllegalArgumentException("This is not a state observer." ); - } - else if( updated instanceof InCommand ) - { - updateCommand( (InCommand)updated ); - } - else - { - throw new IllegalArgumentException("Unknown object given to update."); - } -} - -protected IRCConnection getConnection() -{ - return connection; -} - -protected synchronized boolean isEnabled() -{ - return enabled; -} - -protected abstract void updateCommand( InCommand command ); - - -// END AutoRegister -} - - - - |