快速业务通道

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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号