org.apache.jackrabbit.rmi.server.iterator
Class ServerIterator
java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
org.apache.jackrabbit.rmi.server.ServerObject
org.apache.jackrabbit.rmi.server.iterator.ServerIterator
- All Implemented Interfaces:
- Serializable, Remote, RemoteIterator
- Direct Known Subclasses:
- ServerNodeIterator, ServerNodeTypeIterator, ServerPropertyIterator, ServerRowIterator, ServerVersionIterator
public abstract class ServerIterator
- extends ServerObject
- implements RemoteIterator
Remote adapter for the JCR RangeIterator
interface. This
class makes a local iterator available as an RMI service using teh
RemoteIterator
interface.
- See Also:
- Serialized Form
Method Summary |
protected abstract Object |
getRemoteObject(Object object)
Returns a remote adapter for the given local object. |
long |
getSize()
Returns the size of the iterator. |
Object[] |
nextObjects()
Returns an array of remote references to the next elements in this
iteration. |
void |
skip(long items)
Skips the given number of elements. |
ServerIterator
public ServerIterator(RangeIterator iterator,
RemoteAdapterFactory factory,
int maxBufferSize)
throws RemoteException
- Creates a remote adapter for the given local item.
- Parameters:
iterator
- local iterator to be adaptedfactory
- remote adapter factorymaxBufferSize
- maximum buffer size
- Throws:
RemoteException
- on RMI errors
getSize
public long getSize()
throws RemoteException
- Returns the size of the iterator. The size is cached by invoking the
adapted local iterator when this method is first called or by
determining the size from an end-of-iterator condition in nextObjects().
- Specified by:
getSize
in interface RemoteIterator
- Returns:
- size of the iterator
- Throws:
RemoteException
- on RMI errors- See Also:
RemoteIterator.getSize()
,
RangeIterator.getSize()
skip
public void skip(long items)
throws NoSuchElementException,
RemoteException
- Skips the given number of elements.
- Specified by:
skip
in interface RemoteIterator
- Parameters:
items
- number of elements to skip
- Throws:
NoSuchElementException
- if skipped past the last element
RemoteException
- on RMI errors- See Also:
RangeIterator.skip(long)
getRemoteObject
protected abstract Object getRemoteObject(Object object)
throws RemoteException
- Returns a remote adapter for the given local object. This abstract
method is used by
#nextObjects(int)
to convert the local
objects to remote references to be sent to the client.
Subclasses should implement this method to use the remote adapter
factory to create remote adapters of the specific element type.
- Parameters:
object
- local object
- Returns:
- remote adapter
- Throws:
RemoteException
- on RMI errors
nextObjects
public Object[] nextObjects()
throws RemoteException
- Returns an array of remote references to the next elements in this
iteration.
- Specified by:
nextObjects
in interface RemoteIterator
- Returns:
- array of remote references, or
null
- Throws:
RemoteException
- on RMI errors- See Also:
RemoteIterator#nextObjects(int)
,
Iterator.next()
Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.