1. 遍历EventList列表取得Item(Event)
PIMList list = PIM.getInstance().openPIMList(PIM.EVENT_LIST,PIM.READ_ONLY,name);
// 遍历所有的记录,获取Event
PIMItem item;
for (Enumeration e = list.items(); e.hasMoreElements();)
{
item = (PIMItem)e.nextElement();
}
2. 读取Event循环数据
private void populateRepeatForm() throws PIMException { //重复部分的处理
RepeatRule repeat = ((Event)item).getRepeat();
if(repeat != null) { //存在重复
int[] fields = repeat.getFields();
for(int i=0; i<fields.length; i++) {
switch(fields[i]) {
case RepeatRule.FREQUENCY: //判断日程循环类型
String value = null;
int frequency = repeat.getInt(RepeatRule.FREQUENCY);
switch(frequency) {
//按天循环
case RepeatRule.DAILY: value = "dayly"; break;
//按周循环
case RepeatRule.WEEKLY: value = "weekly"; break;
//按月循环
case RepeatRule.MONTHLY: value = "monthly"; break;
//按年循环
case RepeatRule.YEARLY: value = "yearly"; break;
}
Item repeatItem =
new TextField("repeat", value, 64, TextField.ANY);
append(repeatItem);
break;
case RepeatRule.DAY_IN_MONTH:
//按月循环,取得是每月的第几天
int dayInMonth = repeat.getInt(RepeatRule.DAY_IN_MONTH);
Item dayItem =
new TextField("day", dayInMonth+"", 128, TextField.DECIMAL);
append(dayItem);
break;
case RepeatRule.DAY_IN_WEEK:
/* dayInWeek会返回一个int的数值,该数值为相应的星期对应的int值得和:
* 星期字段及对应值
* SUNDAY 65536
* MONDAY 32768
* TUESDAY 16384
* WEDNESDAY 8192
* THURSDAY 4096
* FRIDAY 2048
* 如果event选择每周一、三循环,则dayInWeek值为40960(32768+8192)
* 将得到的和进行拆分,判断选择的是周几
*/
int dayInWeek = repeat.getInt(RepeatRule.DAY_IN_WEEK);
Item weekItem =
new TextField("week", dayInWeek+"", 128, TextField.DECIMAL);
append(weekItem);
break;
case RepeatRule.MONTH_IN_YEAR:
//monthInYear会返回RepeatRule.JANUARY等十二月的已定义常量定义
int monthInYear = repeat.getInt(RepeatRule.MONTH_IN_YEAR);
Item monthItem =
new TextField("month", monthInYear+"", 128, TextField.DECIMAL);
append(monthItem);
break;
case RepeatRule.INTERVAL:
//读取循环间隔
int interval = repeat.getInt(RepeatRule.INTERVAL);
Item intervalItem =
new TextField("interval", interval+"", 128, TextField.DECIMAL);
append(intervalItem);
break;
case RepeatRule.COUNT://搞不清干嘛的
int count = repeat.getInt(RepeatRule.COUNT);
Item countItem =
new TextField("count", count+"", 128, TextField.DECIMAL);
append(countItem);
break;
case RepeatRule.END:
//如果有重复结束时间,取得结束时间
long end = repeat.getDate(RepeatRule.END);
Item endItem =
new DateField("end", DateField.DATE_TIME);
((DateField)endItem).setDate(new Date(end));
append(endItem);
break;
}
}
}
}
3. 日历Event循环设置
RepeatRule repeat = new RepeatRule();
/*
* 设置重复类型,
* 每天重复:RepeatRule.DAILY
* 每周重复:RepeatRule.WEEKLY
* 每月重复:RepeatRule.MONTHLY
* 每年重复:RepeatRule.YEARLY
*/
repeat.setInt(RepeatRule.FREQUENCY, RepeatRule.MONTHLY);
/*
* 设置重复日期为每月的第二周的星期三
*/
repeat.setInt(RepeatRule.WEEK_IN_MONTH, RepeatRule.SECOND);
repeat.setInt(RepeatRule.DAY_IN_WEEK, RepeatRule.WEDNESDAY);
/*
* 设置重复到期时间12月31日下午23:59
*/
java.util.Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, Calendar.DECEMBER);
cal.set(Calendar.DAY_OF_MONTH, 31);
cal.set(Calendar.AM_PM, Calendar.PM);
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
setDate(RepeatRule.END, cal.getTime().getTime()); //第二个参数为long型
((Event)item).setRepeatRule(repeat); //将循环规则加入到Event
分享到:
相关推荐
Quidway系列交换机与Cisco设备 PIM互通测试手册
通过配置PIM协议,可以实现AS域内IPv6组播路由与数据转发。 1 IPv6 PIM概述 2 IPv6 PIM配置注意事项 3 配置IPv6 PIM-SM 4 配置BSR边界(IPv6) 5 调整BSR RP参数(IPv6) 6 配置IPv6 PIM-SSM 7 调整其他IPv6 PIM参数...
最新的PIM-DM原理知识,PIM_DM的原理,RTP向STP的转换
缺省情况下,PIM-SM路由器会在收到第一个组播数据包后立即进行从RPT到SPT的切换。如果不希望发生切换,则可使用配置命令来禁止切换。另外,也可以设定切换闽值,实现有条件的切换。在用户端DR上配置了切换阈值后,...
在多路访问组播中,IGMP查询器和PIM DR究竟谁负责转发组播数据流?本实验通过实例验证这个问题,要配合VLC软件一起使用
PIM............................................................................................................................................1 PIM-DM简介...............................................
PIM技术简介,主要建议一个PIM的基本原理以及协议的基础。
基于IPv6 Linux内核PIM-SMv2协议的研究与实现.pdf
NC格式转换为PIM格式的外挂,省去 一个一个修改文件名后缀的麻烦一键搞定,NC格式转换为PIM格式的外挂
pim_installmgr.log
组播概述,共3部分,组播IP地址,IGMP协议,PIM SM协议
PIM-SM是目前应用最为广泛的域内组播路由协议,在通常的路由器中大都采用软件的方式实现,数据转发速度受到系统处理能力的限制难以进一步提高。提出了通过采用硬件方式实现组播数据线速转发的方法,并得到了满意的...
IP组播PIM协议原理,介绍IP域内组播技术。
通过配置PIM协议,可以实现AS域内组播路由与数据转发。 1 PIM概述 2 PIM支持的License和配置注意事项 3 配置PIM-DM 4 配置PIM-SM 5 配置BSR边界 6 调整BSR RP参数 7 配置PIM-SSM 8 调整其他PIM参数 9 配置基于PIM...
PIM在无源无器件上的产生及危害 PIM的产生主要是二个载波信号同时经过一个无源器件时,会产生三阶互调信号残余,此信号越小越好,过大的IM3会影响通信质量
收集的j2me中pim包的一些知识,适合开发pim的查看
射频模块的无源互调PIM干扰抵消方法及相关装置.pdf射频模块的无源互调PIM干扰抵消方法及相关装置.pdf射频模块的无源互调PIM干扰抵消方法及相关装置.pdf射频模块的无源互调PIM干扰抵消方法及相关装置.pdf射频模块的...
比较好用的Essential PIM绿色版
通过配置PIM协议,可以实现AS域内IPv6组播路由与数据转发。 1 IPv6 PIM概述 2 配置IPv6 PIM-SM 3 配置BSR边界(IPv6) 4 调整BSR RP参数(IPv6) 5 配置IPv6 PIM-SSM 6 调整其他IPv6 PIM参数 7 配置基于PIM协议的...