2
* HA-JDBC: High-Availability JDBC
3
* Copyright (c) 2004-2007 Paul Ferraro
5
* This library is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU Lesser General Public License as published by the
7
* Free Software Foundation; either version 2.1 of the License, or (at your
8
* option) any later version.
10
* This library is distributed in the hope that it will be useful, but WITHOUT
11
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with this library; if not, write to the Free Software Foundation,
17
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
* Contact: ferraro@users.sourceforge.net
21
package net.sf.hajdbc.distributable;
23
import java.io.Externalizable;
24
import java.io.IOException;
25
import java.io.ObjectInput;
26
import java.io.ObjectOutput;
29
* Represents a database command to be executed on a given database cluster.
30
* @author Paul Ferraro
33
public abstract class AbstractCommand implements Command<Boolean>, Externalizable
35
protected String databaseId;
38
* Constructs a new AbstractDatabaseCommand.
40
protected AbstractCommand()
46
* Constructs a new AbstractDatabaseCommand.
47
* @param databaseId a database identifier
49
public AbstractCommand(String databaseId)
51
this.databaseId = databaseId;
55
* @see java.io.Externalizable#writeExternal(java.io.ObjectOutput)
58
public void writeExternal(ObjectOutput output) throws IOException
60
output.writeUTF(this.databaseId);
64
* @see java.io.Externalizable#readExternal(java.io.ObjectInput)
67
public void readExternal(ObjectInput input) throws IOException
69
this.databaseId = input.readUTF();
73
* @see java.lang.Object#toString()
76
public String toString()
78
return this.getClass().getName() + " [" + this.databaseId + "]"; //$NON-NLS-1$ //$NON-NLS-2$
82
* @see net.sf.hajdbc.distributable.Command#marshalResult(java.lang.Object)
85
public Object marshalResult(Boolean result)
91
* @see net.sf.hajdbc.distributable.Command#unmarshalResult(java.lang.Object)
94
public Boolean unmarshalResult(Object result)
96
return (Boolean) result;