net.rim.device.api.util
Interface Persistable
- All Superinterfaces:
- net.rim.vm.Persistable
- All Known Subinterfaces:
- Certificate, CryptoSystem, DHKey, DistinguishedName, DSAKey, ECKey, KEAKey, Key, KeyStoreData, PrivateKey, PublicKey, RSAKey, SymmetricKey
- All Known Implementing Classes:
- BigIntVector, BigLongVector, BigVector, CodeSigningKey, ControlledAccess, DataBuffer, HttpHeaders, PersistentObject, PersistentStore, SparseList, StringMatch, ToIntHashtable, MultiMap, LongIntHashtable, LongHashtable, IntVector, IntStack, IntMultiMap, IntLongHashtable, IntIntHashtable, IntHashtable, ContentProtectedVector, ContentProtectedHashtable, ByteVector, TripleDESKey, SkipjackKey, RSAPublicKey, RSAPrivateKey, KeyPair, RSAKeyPair, RSACryptoSystem, RC5Key, RC2Key, KEAPublicKey, KEAPrivateKey, KEAKeyPair, KEACryptoSystem, InitializationVector, ECPublicKey, ECPrivateKey, ECKeyPair, ECCryptoSystem, DSAPublicKey, DSAPrivateKey, DSAKeyPair, DHPublicKey, DHPrivateKey, DHKeyPair, DESKey, CAST128Key, ARC4Key, AESKey, HMACKey, ASN1BitSet, CertificateStatus, CertificateServers, CertificateServerInfo, CertificateExtension, WTLSDistinguishedName, WTLSCertificate, X509DistinguishedName, X509Certificate, CMSReceiptData, AssociatedData, OID, ServiceRecord, ServiceBook, ServiceBook.ServiceStatus
- public interface Persistable
- extends net.rim.vm.Persistable
Every object that can persist between handheld resets must implement
persistable.
A class must explicitly implement this interface for the system to
persistently store instances of the class. Sub-classes do not
inherit implementation of this interface. In the following example, Bar
instances cannot persist, because the class does not explicitly implement the
Persistable interface (if you attempt to store a Bar object in the persistent
store, the device will raise a JVM error):
class Foo extends Vector implements Persistable { // }
class Bar extends Foo { // }
Here are some key points you should note about persistant data:
- Classes may remain compatible with old instances kept in persistent
storage, but the configuration of instance data in the class (and all its
superclasses) must not change.
- Adding classes or significantly altering their number and order of
methods within the COD files on the device will most likely result in
persistent data stored on the device becoming unusable and being removed
upon a reset.
- Removing a COD containing class definitions for any persisted instances
will result in the device rmoving the persisted instances upon a reset.
- You should assume that persistent data must be backed up and restored
whenever any code on the device is changed; your application will need to
provide a means for receiving and re-encoding backed up data.
Copyright 1999-2004 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.