package shared.remotecall; import java.io.*; /** * This is the abstract base class of all other classes of the shared.remotecall package. * Its defining some common methods. * @author buetow * */ public abstract class RemoteCall { /** * This is a help method for writeObject of the child classes, needed for ojbect serialization (sending part). * It checks if object is defined. If yes, it will be written to the given object output stream with a leading * flag with the value true. Otherwise only the false flag will be written to the object output stream. * @param objectOutputStream Specifies the output stream. * @throws IOException */ protected final void writeObjectIfDefined(ObjectOutputStream objectOutputStream, Object object) throws IOException { if (object == null) { objectOutputStream.writeBoolean(false); } else { objectOutputStream.writeBoolean(true); objectOutputStream.writeObject(object); } } }