JAVAME的RMS通用持久化框架 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-16
) { 156 throw new IllegalArgumentException("from can not less than 0 and maxSize must greater than 0"); 157 } 158 Vector v = new Vector(); 159 RecordEnumeration ren = null; 160 try { 161 RecordStore rs = getRecordStore (cls.getName()); 162 ren = rs.enumerateRecords(null, null, false); 163 fetchRecord(v, cls, ren, from, maxSize); 164 } catch (Exception exe) { 165 LogManager.error("RMSUtil.listObjects (),Class = " + cls + ",from = " + from + ",maxSize = " + maxSize + ",exe = " + exe); 166 exe.printStackTrace(); 167 } finally { 168 ren.destroy(); 169 } 170 return v; 171 } 172 173 /** 174 * 用于前面一个方法和后面一个方法的共用方法, 175 * 它用来从特定的记录枚举里面去取特定的记录, 176 * 并放到特定的地方 177 * @param v 要保存的地方 178 * @param cls 要实例化的类 179 * @param ren 记录的枚举 180 * @param from 从哪里开始取 181 * @param maxSize 要取多少条记录 182 * @throws java.lang.Exception 可能会抛出的异常 183 */ 184 private static void fetchRecord(Vector v, Class cls, RecordEnumeration ren, int from, int maxSize) throws Exception { 185 int index = 0; 186 int size = 0; 187 while (ren.hasNextElement()) { 188 int id = ren.nextRecordId(); 189 if (index >= from) { 190 if (size < maxSize) { 191 Serializable ser = readObject(id, cls); 192 if (ser != null) { 193 v.addElement (ser); 194 size++; 195 } 196 } else { 197 break; 198 } 199 } 200 index++; 201 } 202 } 203 204 /** 205 * 列出某个类的对象,并用一种过滤以及排序的方法来进行过 滤或者排序 206 * @param cls 类名 207 * @param fetcher 取记录的方法 208 * @return 记录列表 209 */ 210 public static Vector listObjects(Class cls, RecordFetcher fetcher) { 211 System.out.println("fetcher class="+cls); 212 int from = fetcher.getFromIndex(); 213 int maxSize = fetcher.getMaxRecordSize(); 214 if (from < 0 || maxSize < 1) { 215 throw new IllegalArgumentException("from can not l |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于JAVAME的RMS通用持久化框架 - 编程入门网的所有评论