DbCommand.java :  » Database-DBMS » Ozone-1.1 » org » ozoneDB » core » DbRemote » Java Open Source

Java Open Source » Database DBMS » Ozone 1.1 
Ozone 1.1 » org » ozoneDB » core » DbRemote » DbCommand.java
// You can redistribute this software and/or modify it under the terms of
// the Ozone Core License version 1 published by ozone-db.org.
//
// The original code and portions created by SMB are
// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved.
//
// $Id: DbCommand.java,v 1.4 2002/06/25 11:34:38 mediumnet Exp $

package org.ozoneDB.core.DbRemote;

import java.io.*;
import org.ozoneDB.DxLib.DxObject;
import org.ozoneDB.core.*;
import org.ozoneDB.util.*;


/**
 * This is the base class for command that can be send to an ozone server.
 * 
 * 
 * @author <a href="http://www.softwarebuero.de/">SMB</a>
 * @version $Revision: 1.4 $Date: 2002/06/25 11:34:38 $
 */
public abstract class DbCommand extends DxObject {
    
    /**
     * Environment of this object. Will be set by InvokeServer.
     */
    public transient Env env;
    
    /**
     * Result of the command. This will only be used on the server side.
     */
    public transient Object result;
    
    /**
    The database client proxy object gate which proxy objects leaving the database must be signed on.
    This field is valid during the call of {@link #perform}.
    */
    protected transient ProxyObjectGate proxyObjectGate;
    
    
    public DbCommand() {
    }
    
    
    /**
     * Perform whatever has to be done for this command. This method is called
     * within a transaction, within a thread. The result of the command goes in
     * the result member.
     */
    public abstract void perform( Transaction ta ) throws Exception;
    
    
    public String toString() {
        return "[" + this.getClass().getName() + "]";
    } 
    
    public void setProxyObjectGate(ProxyObjectGate proxyObjectGate) {
        this.proxyObjectGate = proxyObjectGate;
    }

    /**
        Returns database client proxy object gate which proxy objects leaving the database must be signed on.
        The return value is valid during the call of {@link #perform}.
    */
    protected ProxyObjectGate getProxyObjectGate() {
        return proxyObjectGate;
    }

    /**
        Returns wether a result should be sent to the client.
    */
    public boolean shouldResultBeSentToClient() {
        return true;
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.