01: /* ====================================================================
02: Licensed to the Apache Software Foundation (ASF) under one or more
03: contributor license agreements. See the NOTICE file distributed with
04: this work for additional information regarding copyright ownership.
05: The ASF licenses this file to You under the Apache License, Version 2.0
06: (the "License"); you may not use this file except in compliance with
07: the License. You may obtain a copy of the License at
08:
09: http://www.apache.org/licenses/LICENSE-2.0
10:
11: Unless required by applicable law or agreed to in writing, software
12: distributed under the License is distributed on an "AS IS" BASIS,
13: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: See the License for the specific language governing permissions and
15: limitations under the License.
16: ==================================================================== */
17:
18: package org.apache.poi.hslf.record;
19:
20: import java.util.Hashtable;
21:
22: /**
23: * A special (and dangerous) kind of Record Container, for which other
24: * Atoms care about where this one lives on disk.
25: * Will track its position on disk.
26: *
27: * @author Nick Burch
28: */
29:
30: public abstract class PositionDependentRecordContainer extends
31: RecordContainer implements PositionDependentRecord {
32: private int sheetId; // Found from PersistPtrHolder
33:
34: /**
35: * Fetch our sheet ID, as found from a PersistPtrHolder.
36: * Should match the RefId of our matching SlidePersistAtom
37: */
38: public int getSheetId() {
39: return sheetId;
40: }
41:
42: /**
43: * Set our sheet ID, as found from a PersistPtrHolder
44: */
45: public void setSheetId(int id) {
46: sheetId = id;
47: }
48:
49: /** Our location on the disk, as of the last write out */
50: protected int myLastOnDiskOffset;
51:
52: /** Fetch our location on the disk, as of the last write out */
53: public int getLastOnDiskOffset() {
54: return myLastOnDiskOffset;
55: }
56:
57: /**
58: * Update the Record's idea of where on disk it lives, after a write out.
59: * Use with care...
60: */
61: public void setLastOnDiskOffset(int offset) {
62: myLastOnDiskOffset = offset;
63: }
64:
65: /**
66: * Since we're a container, we don't mind if other records move about.
67: * If we're told they have, just return straight off.
68: */
69: public void updateOtherRecordReferences(
70: Hashtable oldToNewReferencesLookup) {
71: return;
72: }
73: }
|