/*
field_option_field.java
Client-side interface to the FieldOptionDBField class.
Created: 25 January 2005
Module By: Jonathan Abbey, jonabbey@arlut.utexas.edu
-----------------------------------------------------------------------
Ganymede Directory Management System
Copyright (C) 1996 - 2010
The University of Texas at Austin
Contact information
Author Email: ganymede_author@arlut.utexas.edu
Email mailing list: ganymede@arlut.utexas.edu
US Mail:
Computer Science Division
Applied Research Laboratories
The University of Texas at Austin
PO Box 8029, Austin TX 78713-8029
Telephone: (512) 835-3200
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package arlut.csd.ganymede.rmi;
import java.rmi.RemoteException;
import arlut.csd.ganymede.common.FieldOptionMatrix;
import arlut.csd.ganymede.common.ReturnVal;
import arlut.csd.ganymede.common.SyncPrefEnum;
/*------------------------------------------------------------------------------
interface
field_option_field
------------------------------------------------------------------------------*/
/**
* <p>Client-side remote interface to the {@link
* arlut.csd.ganymede.server.FieldOptionDBField FieldOptionDBField}
* class.</p>
*/
public interface field_option_field extends db_field {
/**
* <p>Return a serializable, read-only copy of this field's option
* matrix</p>
*/
public FieldOptionMatrix getMatrix() throws RemoteException;
/**
* <p>Returns a SyncPrefEnum representing this field option field's
* option on the field <field> in base
* <base><br><br></p>
*/
public SyncPrefEnum getOption(short baseID, short fieldID) throws RemoteException;
/**
* <p>Returns a SyncPrefEnum representing this field option field's
* option on the base <base></p>
*/
public SyncPrefEnum getOption(short baseID) throws RemoteException;
/**
* <p>Returns a SyncPrefEnum representing this field option field's
* option on the field <field> in base <base></p>
*/
public SyncPrefEnum getOption(Base base, BaseField field) throws RemoteException;
/**
* <p>Returns a SyncPrefEnum object representing this field option field's
* option on the base <base></p>
*/
public SyncPrefEnum getOption(Base base) throws RemoteException;
/**
* <p>Resets the options in this FieldOptionDBField to the empty
* set. Used by non-interactive clients to reset the SyncPrefEnum
* values to a known state before setting options.</p>
*
* <p>Returns null on success, or a failure-coded ReturnVal
* on permissions failure.</p>
*/
public ReturnVal resetOptions() throws RemoteException;
/**
* <p>Sets the SyncPrefEnum for this matrix for base <baseID>,
* field <fieldID> to <option>.</p>
*
* <p>This operation will fail if this field option field is not
* associated with a currently checked-out-for-editing
* {@link arlut.csd.ganymede.server.FieldOptionDBField FieldOptionDBField}.</p>
*/
public ReturnVal setOption(short baseID, short fieldID, SyncPrefEnum option) throws RemoteException;
/**
* <p>Sets the SyncPrefEnum for this matrix for base <baseID>
* to <option></p>
*
* <p>This operation will fail if this field option field is not
* associated with a currently checked-out-for-editing
* {@link arlut.csd.ganymede.server.FieldOptionDBField FieldOptionDBField}.</p>
*/
public ReturnVal setOption(short baseID, SyncPrefEnum option) throws RemoteException;
/**
* <p>Sets the SyncPrefEnum for this matrix for base <baseID>,
* field <fieldID> to <option>.</p>
*
* <p>This operation will fail if this field option field is not
* associated with a currently checked-out-for-editing
* {@link arlut.csd.ganymede.server.FieldOptionDBField FieldOptionDBField}.</p>
*/
public ReturnVal setOption(Base base, BaseField field, SyncPrefEnum option) throws RemoteException;
/**
* <p>Sets the SyncPrefEnum for this matrix for base <baseID>
* to <option></p>
*
* <p>This operation will fail if this field option field is not
* associated with a currently checked-out-for-editing
* {@link arlut.csd.ganymede.server.FieldOptionDBField FieldOptionDBField}.</p>
*/
public ReturnVal setOption(Base base, SyncPrefEnum option) throws RemoteException;
}