|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.rmi.server.RemoteObject
ucar.netcdf.RemoteAccessorImpl
public class RemoteAccessorImpl
RemoteAccessorImpl is a UnicastRemoteObject (RMI service) which implements ucar.multiarray.RemoteAccessor using the proxy pattern. Accessor methods are forwarded to the adaptee and adaptee exceptions are wrapped in java.rmi.ServerException.
| Field Summary |
|---|
| Fields inherited from class java.rmi.server.RemoteObject |
|---|
ref |
| Constructor Summary | |
|---|---|
RemoteAccessorImpl(NetcdfRemoteProxyImpl svr,
Accessor adaptee)
Construct a UnicastRemoteObject which acts as an Accessor proxy. |
|
| Method Summary | |
|---|---|
void |
copyin(int[] origin,
MultiArray source)
Aggregate write access. |
MultiArray |
copyout(int[] origin,
int[] shape)
Aggregate read access. |
java.lang.Object |
get(int[] index)
Get (read) the array element at index. |
boolean |
getBoolean(int[] index)
Get the array element at index, as a boolean. |
byte |
getByte(int[] index)
Get the array element at index, as a byte. |
char |
getChar(int[] index)
Get the array element at index, as a char. |
double |
getDouble(int[] index)
Get the array element at index, as a double. |
float |
getFloat(int[] index)
Get the array element at index, as a float. |
int |
getInt(int[] index)
Get the array element at index, as an int. |
long |
getLong(int[] index)
Get the array element at index, as a long. |
short |
getShort(int[] index)
Get the array element at index, as a short. |
void |
set(int[] index,
java.lang.Object value)
Set (modify, write) the array element at index to the specified value. |
void |
setBoolean(int[] index,
boolean value)
Set the array element at index to the specified boolean value. |
void |
setByte(int[] index,
byte value)
Set the array element at index to the specified byte value. |
void |
setChar(int[] index,
char value)
Set the array element at index to the specified char value. |
void |
setDouble(int[] index,
double value)
Set the array element at index to the specified double value. |
void |
setFloat(int[] index,
float value)
Set the array element at index to the specified float value. |
void |
setInt(int[] index,
int value)
Set the array element at index to the specified int value. |
void |
setLong(int[] index,
long value)
Set the array element at index to the specified long value. |
void |
setShort(int[] index,
short value)
Set the array element at index to the specified short value. |
java.lang.Object |
toArray()
Returns a new array containing all of the elements in this MultiArray. |
java.lang.Object |
toArray(java.lang.Object dst,
int[] origin,
int[] shape)
Returns an array containing elements of this MultiArray specified by origin and shape, possibly converting the component type. |
| Methods inherited from class java.rmi.server.RemoteObject |
|---|
equals, getRef, hashCode, toString, toStub |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public RemoteAccessorImpl(NetcdfRemoteProxyImpl svr,
Accessor adaptee)
throws java.rmi.RemoteException
svr - NetcdfRemoteProxyImpl which owns this.
May be null.adaptee - Accessor to which the Accessor
methods of this are forwarded.
java.rmi.RemoteException| Method Detail |
|---|
public java.lang.Object get(int[] index)
throws java.rmi.RemoteException
Accessor
get in interface Accessorget in interface RemoteAccessorindex - MultiArray index
index
java.rmi.RemoteException
public boolean getBoolean(int[] index)
throws java.rmi.RemoteException
Accessor
getBoolean in interface AccessorgetBoolean in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.get(int[])
public char getChar(int[] index)
throws java.rmi.RemoteException
Accessor
getChar in interface AccessorgetChar in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.get(int[])
public byte getByte(int[] index)
throws java.rmi.RemoteException
Accessor
getByte in interface AccessorgetByte in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.get(int[])
public short getShort(int[] index)
throws java.rmi.RemoteException
Accessor
getShort in interface AccessorgetShort in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.get(int[])
public int getInt(int[] index)
throws java.rmi.RemoteException
Accessor
getInt in interface AccessorgetInt in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.get(int[])
public long getLong(int[] index)
throws java.rmi.RemoteException
Accessor
getLong in interface AccessorgetLong in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.get(int[])
public float getFloat(int[] index)
throws java.rmi.RemoteException
Accessor
getFloat in interface AccessorgetFloat in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.get(int[])
public double getDouble(int[] index)
throws java.rmi.RemoteException
Accessor
getDouble in interface AccessorgetDouble in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.get(int[])
public void set(int[] index,
java.lang.Object value)
throws java.rmi.RemoteException
Accessor
set in interface Accessorset in interface RemoteAccessorindex - MultiArray indexvalue - the new value.
java.rmi.RemoteException
public void setBoolean(int[] index,
boolean value)
throws java.rmi.RemoteException
Accessor
setBoolean in interface AccessorsetBoolean in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.set(int[], java.lang.Object)
public void setChar(int[] index,
char value)
throws java.rmi.RemoteException
Accessor
setChar in interface AccessorsetChar in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.set(int[], java.lang.Object)
public void setByte(int[] index,
byte value)
throws java.rmi.RemoteException
Accessor
setByte in interface AccessorsetByte in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.set(int[], java.lang.Object)
public void setShort(int[] index,
short value)
throws java.rmi.RemoteException
Accessor
setShort in interface AccessorsetShort in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.set(int[], java.lang.Object)
public void setInt(int[] index,
int value)
throws java.rmi.RemoteException
Accessor
setInt in interface AccessorsetInt in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.set(int[], java.lang.Object)
public void setLong(int[] index,
long value)
throws java.rmi.RemoteException
Accessor
setLong in interface AccessorsetLong in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.set(int[], java.lang.Object)
public void setFloat(int[] index,
float value)
throws java.rmi.RemoteException
Accessor
setFloat in interface AccessorsetFloat in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.set(int[], java.lang.Object)
public void setDouble(int[] index,
double value)
throws java.rmi.RemoteException
Accessor
setDouble in interface AccessorsetDouble in interface RemoteAccessorjava.rmi.RemoteExceptionAccessor.set(int[], java.lang.Object)
public MultiArray copyout(int[] origin,
int[] shape)
throws java.rmi.RemoteException
AccessorIt is easier to implement than to specify :-).
The main reason to implement this instead of using the equivalent proxy is for remote or file access.
assert(origin[ii] + shape[ii] <= lengths[ii]);
copyout in interface Accessorcopyout in interface RemoteAccessororigin - int array specifying the starting index.shape - int array specifying the extents in each
dimension. This becomes the shape of the return.
java.rmi.RemoteException
public void copyin(int[] origin,
MultiArray source)
throws java.rmi.RemoteException
AccessorHopefully this member can be optimized in various situations.
assert(origin[ii] + (source.getLengths())[ii]
<= (getLengths())[ii]);
copyin in interface Accessorcopyin in interface RemoteAccessororigin - int array specifying the starting index.source - MultiArray with the same componentType as
this and shape smaller than
this.getLengths() - origin
java.rmi.RemoteException
public java.lang.Object toArray()
throws java.rmi.RemoteException
AccessorThis method acts as bridge between array-based and MultiArray-based APIs.
This method is functionally equivalent to
Object anArray = Array.newInstance(getComponentType(), 1);
int [] origin = new int[getRank()]
int [] shape = getDimensions();
return toArray(anArray, origin, shape);
toArray in interface AccessortoArray in interface RemoteAccessorjava.rmi.RemoteException
public java.lang.Object toArray(java.lang.Object dst,
int[] origin,
int[] shape)
throws java.rmi.RemoteException
AccessorThe anArray argument should be an array. If it is large enough to contain the output, it is used and no new storage is allocated. Otherwise, new storage is allocated with the same component type as the argument, and the data is copied into it.
This method acts as bridge between array-based and MultiArray-based APIs.
This method is similar to copyout(origin, shape).toArray(), but avoids a copy operation and (potentially) an allocation.
NOTE: Implementation of type conversion is deferred until
JDK 1.2. Currently, the componentType of anArray
must be the same as this
toArray in interface AccessortoArray in interface RemoteAccessorjava.rmi.RemoteException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||