net.rim.device.api.util
Interface Persistable
- All Known Subinterfaces:
- Accessory, AuthInfo, AsymmetricCryptoToken, CryptoSystem, CryptoToken, CryptoTokenCryptoSystemData, CryptoTokenMACKeyData, CryptoTokenPrivateKeyData, CryptoTokenPublicKeyData, CryptoTokenSymmetricKeyData, DHKey, DSAKey, ECKey, KEAKey, Key, PrivateKey, PublicKey, RSAKey, SymmetricCryptoToken, SymmetricKey, Certificate, DistinguishedName, KeyStoreData
- All Known Implementing Classes:
- BiometricData, FingerprintBiometricData, BigIntVector, BigLongVector, BigVector, SparseList, AESCryptoToken, AESKey, ARC4Key, CAST128CryptoToken, CAST128Key, CryptoSmartCard, CryptoSmartCardKeyStoreData, DESCryptoToken, DESKey, DHCryptoSystem, DHCryptoToken, DHKeyPair, DHPrivateKey, DHPublicKey, DSACryptoSystem, DSACryptoToken, DSAKeyPair, DSAPrivateKey, DSAPublicKey, ECCryptoSystem, ECCryptoToken, ECKeyPair, ECPrivateKey, ECPublicKey, HMACCryptoToken, HMACKey, InitializationVector, KEACryptoSystem, KEACryptoToken, KEAKeyPair, KEAPrivateKey, KEAPublicKey, KeyPair, RC2CryptoToken, RC2Key, RC5CryptoToken, RC5Key, RSACryptoSystem, RSACryptoToken, RSAKeyPair, RSAPrivateKey, RSAPublicKey, SkipjackCryptoToken, SkipjackKey, SmartCardDSACryptoToken, SmartCardRSACryptoToken, TripleDESCryptoToken, TripleDESKey, ASN1BitSet, CertificateExtension, CertificateServerInfo, CertificateServers, CertificateStatus, WTLSCertificate, WTLSDistinguishedName, X509Certificate, X509DistinguishedName, CMSReceiptData, AssociatedData, OID, DatagramBase, FileInfo, HttpHeaders, ObjectPathHashtableBase, JSONHashtable, XMLHashtable, LatLonRectangle, AbstractMappable, MapComplexPolygon, MapImage, MapLine, MapLocation, MapMarker, MapPoint, MapPolyLine, MapSimplePolygon, PeerPoint, GsFolder, GsImage, GsLine, GsMarker, GsPoint, GsPolyLine, GsPolygon, GsRoot, Style, StyleSet, ServiceBook, ServiceBook.ServiceStatus, ServiceRecord, SmartCard, SmartCardID, CodeSigningKey, ControlledAccess, PersistentObject, PersistentStore, UserAuthenticatorContextObject, ByteVector, ContentProtectedHashtable, ContentProtectedVector, DataBuffer, IntHashtable, IntIntHashtable, IntLongHashtable, IntMultiMap, IntStack, IntVector, LongHashtable, LongIntHashtable, LongStack, LongVector, MultiMap, SimpleSortingIntVector, StringMatch, ToIntHashtable, ToLongHashtable, HotspotCredentialsAgent
public interface Persistable
Every object that can persist between handheld resets must implement
persistable. The Persistable
interface does not declare
any methods to implement. It is an empty interface used to mark a class
as 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 removing 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-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal