Index
A
- aborting transactions
- default effects on persistent objects 83
- setting default object state 79
- setting objects to default state 79
- specifying a particular object state 79
- abstract classes 162
- accessing persistent objects
- committing transactions 67
- default effects of methods 83
- dirty() 152
- evicting objects 72
- fetch() 152
- obtaining a root 64
- optimizing 133
- procedure 64
- saving changes by committing transaction 67
- saving changes through eviction 72
- active persistent objects
- aborting transactions 80
- committing transactions 69
- default effects of methods 83
- definition 8
- evicting 75
- annotations
- automatic 97
- customizing 129
- description 99
- manual 147
- superclass modifications 117
- you must add 139
- application failure 4
- applications
- complex, finding right class files 114
- required components 12
- archive logging 3
- -arraydims option 135
- arrays
- of interfaces 159
- passing 140
B
- batch
- definition 100
- postprocessing two 101
- postprocessor requirement 104
C
- C++ applications 3
- class files
- compile unannotated 112
- complex applications 114
- finding annotated 113
- locations of annotated 119
- managing annotated 111
- refering to persistent and transient versions 127
- ClassInfo class
- -classinfosuffix option 143
- create() 153
- createArray() 153
- defining subclass 153
- getClassDescriptor() 153
- getFields() 153
- -classinfosuffix option 143
- CLASSPATH
- alternatives 115
- -classpath 107
- locating class files 112
- requirements 102
- -classpath option 143
- clearContents()
- manual annotations 151
- postprocessor 129
- COM.odi.Persistent
- manual annotations 149
- postprocessor 118
- COM.odi.useDatabaseLocking
- effects 26
- COM.odi.util.HashPersistent
- manual annotations 149
- postprocessor 118
- committing transactions
- after evicting objects 77
- default effects on persistent objects 83
- introduction 52
- RETAIN_HOLLOW 69
- RETAIN_READONLY 69
- RETAIN_STALE 68
- RETAIN_UPDATE 71
- concurrency 26
- consistent state 56
- -copyclass option 108
- copying
- classes without annotating 108
- databases 38
- creating database roots 61
- creating databases 30
D
- Database class
- description 30
- identity 31
- database roots
- changing referred to object 62
- destroying 63
- how many 62
- null values 62
- primitive values 62
- Database.close() 36
- Database.create() 30
- Database.createRoot() 61
- Database.destroy() 39
- Database.destroyRoot() 63
- Database.getOpenType() 40
- Database.getPath() 41
- Database.getSizeInBytes() 41
- Database.isOpen() 40
- Database.open() 34
- Database.setRoot() 62
- databases
- checking references 45
- closing 33
- consistent state 56
- copying 38
- creating 30
- creating roots 61
- destroying 39
- destroying objects 81
- displaying information about 41
- how many roots 62
- locking 26
- managing 29
- maximum size 2
- moving 38
- obtaining information about 40
- open for update or read? 40
- open? 40
- opening 33
- pathname of 41
- platforms 30
- segments 32
- size of 41
- storing objects 60
- debugger 122
- -dest option 144
- destination directory
- about 106
- requirement 104
- destroying
- database roots 63
- databases 39
- default effects on persistent objects 83
- objects in the database 81
- objects referred to by other objects 82
- preDestroyPersistent() hook method 81
- dirty()
- background 164
- manual annotations 152
- duplicates
- file specifications for postprocessor 109
E
- evicting objects
- all 76
- committing transactions 77
- cooperating threads 77
- default effects on persistent objects 83
- outside a transaction 76
- RETAIN_HOLLOW 74
- RETAIN_READONLY 75
- RETAIN_STALE 73
- examples
- before running a program 16
- code for people demo 13
- compiling 17
- general use 11
- getFields() 165
- hook methods 130
- lock entry file 26
- manual annotations 154
- multiple persistence mode options 109
- persistence-capable array of interfaces 160
- postprocessing one batch 100
- postprocessing two batches 101
- postprocessor command line 104
- running a program 18
- running the postprocessor 105
- serializing 95
- transient-only fields 158
F
- failover 3
- fetch()
- background 164
- manual annotations 152
- Field class 165
- fields in manual annotations 167
- file name too long 143
- final fields as handled by postprocessor 120
- flushContents()
- background 164
- manual annotations 150
- postprocessor 129
- -force option 144
G
- garbage collection
- active objects from commit() 70
- active objects from evict() 75
- hollow objects from commit() 69
- hollow objects from evict() 74
- stale objects from commit() 68
- stale objects from evict() 73
- weak references 66
- GenericObject class
- description 164
- getting field values 166
- setting field values 166
- getFields()
- background 165
H
- hashCode()
- manual annotations requirements 149
- manual implementation 151
- problems 118
- hollow object constructors
- creating 132
- transient nonstatic fields 140
- hollow persistent objects
- aborting transactions 80
- committing transactions 69
- default effects of methods 83
- definition 7
- evict() 74
- hook methods 129
I
- inheritance 118
- initializeContents()
- background 164
- manual annotations 150
- postprocessor 129
- input file for postprocessor 138
- interfaces
- arrays of 159
- persistence-capable 136
J
- Java executables 121
- Java Remote Message Interface 70
- java.lang.Object 118
- Java-supplied classes 91
L
- libraries
- postprocessing existing 101
- lock entry file 26
- locking databases
- effects 26
- how it works 27
- lock entry file 26
- long file names 143
M
- manual annotations
- abstract classes 162
- accessing fields 167
- arrays of interfaces 159
- background for accessing fields 163
- background for creating fields 163
- ClassInfo subclass definition 153
- creating fields 167
- example 154
- inheritance 149
- initializeContents() 150
- persistence-aware classes 160
- postprocessor conventions 161
- procedure 148
- required methods 150
- transient-only fields 157
- -modifyjava option 144
- moving
- databases 38
N
- native methods
- capability for persistence 93
- postprocessing 139
- nested transactions 51
- nonpersistent methods 139
- notation conventions xii
- -nowrite option 137
O
- object table 66
- ObjectStore.destroy() 81
- ObjectStore.evict() 72
- ObjectStore.evict(RETAIN_HOLLOW) 74
- ObjectStore.evict(RETAIN_READONLY) 75
- ObjectStore.evict(RETAIN_STALE) 73
- ObjectStore.evictAll() 76
- ObjectStore.READONLY 50
- ObjectStore.RETAIN_HOLLOW
- aborting transactions 80
- committing transactions 69
- evicting objects 74
- ObjectStore.RETAIN_READONLY
- aborting transactions 80
- committing transactions 69
- evicting objects 75
- ObjectStore.RETAIN_STALE
- aborting transactions 80
- committing transactions 68
- evicting objects 73
- ObjectStore.RETAIN_UPDATE
- aborting transactions 80
- committing transactions 71
- ObjectStore.UPDATE 50
- online backup 3
- oscp utility 38
- osjcfp
- options 143
- See also postprocessor.
- OSJCFPJAVA environment variable 121
- osjcheckdb utility 45
- osji.zip file 16
- osjshowdb utility 41
- osjversion utility 90
- osmv utility 38
P
- package names
- postprocessed classes 125
- renaming 142
- PATH requirements 102
- performance
- Java-supplied classes 93
- -persistaware option 108
- -persistcapable option 108
- persistence
- Java-supplied classes 91
- manual annotations 157
- postprocessor 97
- persistence mode options 108
- persistence-aware classes
- creating 116
- definition 9
- manual annotations 160
- persistence-capable classes
- abstract 162
- annotations 99
- automatically generating 97
- definition 7
- inheritance 118
- manually generating 147
- subclasses 140
- superclasses 117
- transient fields 128
- transient versions 106
- persistence-capable interfaces 136
- Persistent class
- serializing 95
- persistent objects
- definition 7
- destroying 81
- evicting all 76
- keeping contents readable with abort() 80
- keeping contents updatable with abort() 80
- keeping them active with evict() 75
- making them hollow with abort() 80
- making them hollow with commit() 69
- making them hollow with evict() 74
- making them modifyable after commit() 71
- making them readable after commit() 69
- making them stale with abort() 80
- making them stale with commit() 68
- making them stale with evict() 73
- multiple representations 22
- retrieving 64
- serializing 95
- specifying object state 65
- UPDATE transaction 50
- Persistent.deepFetch() 95
- Persistent.dirty() 152
- Persistent.fetch() 152
- Persistent.preDestroyPersistent() 81
- postInitializeContents() 129
- postprocessor
- array dimensions 135
- batches 100
- CLASSPATH requirements 102
- complex applications 114
- consistency 117
- conventions 161
- customizing 129
- debugger 122
- destination directory background 106
- destination directory requirement 104
- duplicate file specifications 109
- errors and warnings 120
- example of multiple persistence modes 109
- example of running 105
- file name interpretation 107
- file not found 109
- final fields 120
- hollow object constructor 132
- how it works 117
- inheritance 118
- input file 138
- introduction 99
- limitations 142
- location of annotated class files 119
- managing annotated class files 111
- modifications to superclasses 117
- modifying standard Java classes 144
- new packages 125
- nonpersistent classes 123
- nonpersistent methods 139
- optimizing retrieval of objects 133
- options 143
- order of processing 107
- PATH requirements 102
- persistence mode options 108
- persistence-aware classes 116
- persistence-capable interfaces 136
- preparing to run 102
- previously annotated classes 110
- running 102
- sample command line 104
- sample hook methods 130
- static fields 120
- subclasses of postprocessed classes 140
- testing 137
- transient classes 127
- transient fields 128
- -translatepackage option 125
- zip files 110
- preClearContents() 130
- preFlushContents() 130
Q
- -quiet option 145
- -quietclass option 145
- -quietfield option 145
R
- recovery 4
- remote machines 3
- RMI
- preparing to serialize 70
- serializing for 95
S
- saving modifications
- committing transactions 67
- evicting objects 72
- segments
- description 32
- serializing 95
- session
- definition 6
- sessions
- metaobjects 23
- multiple 21
- threads 20
- transactions 51
- stale persistent objects
- aborting transactions 80
- attempts to access 83
- committing transactions 68
- definition 8
- evict() 73
- static fields as handled by postprocessor 120
- storing objects
- procedure 60
- superclasses
- abstract 162
- modifications for persistence 117
- persistence-aware classes 116
- system crash 4
T
- testing postprocessor 137
- threads
- access to persistent objects 22
- allowable simultaneous actions 23
- allowing use of API 24
- applets 25
- cooperating 20
- effect of committing a transaction 22
- evicting objects 77
- noncooperating 21
- sessions 20
- transaction boundaries 57
- tools.zip file 16
- training xii
- Transaction class description 50
- Transaction.abort()
- example 79
- general discussion 53
- retain 54
- Transaction.abort(RETAIN_HOLLOW) 80
- Transaction.abort(RETAIN_READONLY) 80
- Transaction.abort(RETAIN_STALE) 80
- Transaction.abort(RETAIN_UPDATE) 80
- Transaction.begin() 50
- Transaction.commit()
- general discussion 52
- saving modifications 67
- Transaction.commit(retain)
- general discussion 52
- specifying object state 67
- Transaction.current() 51
- Transaction.inTransaction() 55
- Transaction.setDefaultAbortRetain() 79
- transactions
- aborting 53
- aborting to cancel changes 79
- committing
- description 52
- setting object state 67
- determining boundaries 56
- ending 52
- evicting objects outside 76
- is one in progress? 55
- nested 51
- obtaining the Transaction object 51
- RETAIN_HOLLOW 69
- RETAIN_READONLY 69
- RETAIN_STALE 68
- RETAIN_UPDATE 71
- sessions 51
- starting 50
- update and readonly 50
- transient database 173
- transient fields
- manual annotations 157
- postprocessor 128
- transient objects 9
- transient version of class file 106
- transitive persistence
- definition 9
- troubleshooting
- OutOfMemory error 110
U
- Unicode strings 91
- updating objects 65
- UTF8 encoding 91
V
- -verbose option 146
- version information 90
W
- weak references 66
doc@odi.com
Copyright © 1997 Object Design, Inc. All rights
reserved.
Updated: 05/13/97 12:20:42