/* * Class FlashRecordStore * * Version prototipo * * Date 29/08/2007 * * This software is developed for Choral devices with Java. * Copyright Choral srl. All Rights reserved. */ package general; import javax.microedition.rms.RecordStore; import javax.microedition.rms.RecordStoreException; import javax.microedition.rms.RecordStoreFullException; import javax.microedition.rms.RecordStoreNotOpenException; /** * Manager of data to store in flash memory between an * application execution and another. * * @version 29-08-2007 * @author alessioza * */ public class FlashRecordStore implements GlobCost { /* * local variables */ /* * constructors */ public FlashRecordStore() { //System.out.println("FlashRecordStore: CREATED"); } /* * methods */ /** * Creates a RecordStore on FLASH, after first execution * of the application. * * @return OK * */ public synchronized String createSettings() { return "OK"; } /** * Recover data from RecordStore (FLASH) * * @return OK * */ public synchronized String loadSettings() { return "OK"; } /** * Store data to RecordStore (FLASH) * * @return OK * */ public synchronized String writeSettings() { return "OK"; } /** * Read a record from RecordStore * @param recordID ID of record to read * @return s string read from RecordStore * */ public synchronized String readRecord(int recordID) { // read a string String s = ""; byte[] b = new byte[100]; // 100 byte try { RecordStore rs = RecordStore.openRecordStore(recordStoreName, true); if (rs != null) { rs.getRecord(recordID, b, 0); s = new String(b); rs.closeRecordStore(); } } catch (RecordStoreNotOpenException rsnoe) { } catch (RecordStoreFullException rsfe) { } catch (RecordStoreException rse) {} return s; } //readRecord /** * Write a record to RecordStore * @param s string read from RecordStore * @param recordID ID to be used to write record * @return recordID ID used to write record * */ public synchronized int writeRecord(String s, int recordID) { // write a string byte[] b = s.getBytes(); try { RecordStore rs = RecordStore.openRecordStore(recordStoreName, true); if (rs != null) { // public int addRecord(byte[] data, int offset, int numBytes) rs.deleteRecord(recordID); recordID = rs.addRecord(b, 0, b.length); rs.closeRecordStore(); } } catch (RecordStoreNotOpenException rsnoe) { } catch (RecordStoreFullException rsfe) { } catch (RecordStoreException rse) {} return recordID; } //writeRecord } //FlashRecordStore