// $Id: NetcdfRemoteProxy.java,v 1.4 2002-05-29 18:31:35 steve Exp $ /* * Copyright 1997-2000 Unidata Program Center/University Corporation for * Atmospheric Research, P.O. Box 3000, Boulder, CO 80307, * support@unidata.ucar.edu. * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or (at * your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser * General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software Foundation, * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package ucar.netcdf; import ucar.multiarray.RemoteAccessor; import java.rmi.RemoteException; import java.rmi.Remote; /** * This interface wraps a single instance of Netcdf to * provide Remote services required in the construction * of an instance of RemoteNetcdf. * <p> * This interface is only needed by directory services like NetcdfService * to bootstrap instances of RemoteNetcdf. * It could be considered package or implementation private. * * @author $Author: steve $ * @version $Revision: 1.4 $ $Date: 2002-05-29 18:31:35 $ */ public interface NetcdfRemoteProxy extends Remote { /** * @return a Schema for the Netcdf this * represents. */ public Schema getSchema() throws RemoteException; /** * Get an Accessor for a Variable, by name. * Given the Accessor and the ProtoVariable * obtained indirectly from getSchema() above, * RemoteNetcdf can create a remote proxy for the Variable. * @param varName String which names a Variable in the * Netcdf this represents. * @return a (Remote)Accessor for the Variable. */ public RemoteAccessor getAccessor(String varName) throws RemoteException; /** * Indicate that you are done with this * Netcdf data set. Allows the service to free * resources (close the data set). */ public void release() throws RemoteException; }