01: /*
02:
03: Derby - Class org.apache.derby.iapi.store.raw.ScanHandle
04:
05: Licensed to the Apache Software Foundation (ASF) under one or more
06: contributor license agreements. See the NOTICE file distributed with
07: this work for additional information regarding copyright ownership.
08: The ASF licenses this file to you under the Apache License, Version 2.0
09: (the "License"); you may not use this file except in compliance with
10: the License. You may obtain a copy of the License at
11:
12: http://www.apache.org/licenses/LICENSE-2.0
13:
14: Unless required by applicable law or agreed to in writing, software
15: distributed under the License is distributed on an "AS IS" BASIS,
16: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: See the License for the specific language governing permissions and
18: limitations under the License.
19:
20: */
21:
22: package org.apache.derby.iapi.store.raw;
23:
24: import org.apache.derby.iapi.error.StandardException;
25: import org.apache.derby.iapi.store.access.DatabaseInstant;
26: import java.io.InputStream;
27:
28: /**
29: Inteface for scanning the log from outside the RawStore.
30: */
31: public interface ScanHandle {
32: /**
33: Position to the next log record.
34: @return true if the log contains a next flushed log record and
35: false otherwise. If this returns false it is incorrect
36: to make any of the other calls on this interface.
37: @exception StandardException Oops
38: */
39: public boolean next() throws StandardException;
40:
41: /**
42: Get the group for the current log record.
43: @exception StandardException Oops
44: */
45: public int getGroup() throws StandardException;
46:
47: /**
48: Get the Loggable associated with the currentLogRecord
49: @exception StandardException Oops
50: */
51: public Loggable getLoggable() throws StandardException;
52:
53: /**
54: Get an InputStream for reading the optional data associated with
55: the current log record. This may only be called once per log record.
56: @exception StandardException Oops
57: */
58: public InputStream getOptionalData() throws StandardException;
59:
60: /**
61: Get the DatabaseInstant for the current log record.
62: @exception StandardException Oops
63: */
64: public DatabaseInstant getInstant() throws StandardException;
65:
66: /**
67: Get the TransactionId for the current log record.
68: @exception StandardException Oops
69: */
70: public Object getTransactionId() throws StandardException;
71:
72: /**
73: Close this scan.
74: */
75: public void close();
76: }
|