📄 vcalparser.java
字号:
ret = parseString(offset, "=", true);
if(-1 != ret)
{
if(!flag)
return -1;
offset += ret;
sum += ret;
} else
if(flag)
return -1;
ret = removeWs(offset);
offset += ret;
sum += ret;
start = offset;
ret = parsePValueVal(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamValue(mBuffer.substring(start, offset));
return sum;
}
private int parseParam2(int offset)
{
int ret = 0;
int sum = 0;
int start = offset;
boolean flag = false;
ret = parseString(offset, "ENCODING", true);
if(-1 != ret)
{
offset += ret;
sum += ret;
flag = true;
}
if(flag && mBuilder != null)
mBuilder.propertyParamType(mBuffer.substring(start, offset));
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, "=", true);
if(-1 != ret)
{
if(!flag)
return -1;
offset += ret;
sum += ret;
} else
if(flag)
return -1;
ret = removeWs(offset);
offset += ret;
sum += ret;
start = offset;
ret = parsePEncodingVal(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamValue(mBuffer.substring(start, offset));
return sum;
}
private int parseParam3(int offset)
{
int ret = 0;
int sum = 0;
int start = offset;
ret = parseString(offset, "CHARSET", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamType(mBuffer.substring(start, offset));
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, "=", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
start = offset;
ret = parseCharsetVal(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamValue(mBuffer.substring(start, offset));
return sum;
}
private int parseParam4(int offset)
{
int ret = 0;
int sum = 0;
int start = offset;
ret = parseString(offset, "LANGUAGE", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamType(mBuffer.substring(start, offset));
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, "=", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
start = offset;
ret = parseLangVal(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamValue(mBuffer.substring(start, offset));
return sum;
}
private int parseParam5(int offset)
{
int ret = 0;
int sum = 0;
int start = offset;
ret = parseString(offset, "ROLE", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamType(mBuffer.substring(start, offset));
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, "=", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
start = offset;
ret = parseRoleVal(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamValue(mBuffer.substring(start, offset));
return sum;
}
private int parseParam6(int offset)
{
int ret = 0;
int sum = 0;
int start = offset;
ret = parseString(offset, "STATUS", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamType(mBuffer.substring(start, offset));
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, "=", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
start = offset;
ret = parseStatuVal(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamValue(mBuffer.substring(start, offset));
return sum;
}
private int parseParam7(int offset)
{
int ret = 0;
int sum = 0;
int start = offset;
ret = parseXWord(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamType(mBuffer.substring(start, offset));
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, "=", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
start = offset;
ret = parseWord(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyParamValue(mBuffer.substring(start, offset));
return sum;
}
private int parseKnownType(int offset)
{
int ret = 0;
ret = parseString(offset, "WAVE", true);
if(-1 != ret)
return ret;
ret = parseString(offset, "PCM", true);
if(-1 != ret)
return ret;
ret = parseString(offset, "VCARD", true);
if(-1 != ret)
return ret;
ret = parseXWord(offset);
if(-1 != ret)
return ret;
else
return -1;
}
private int parsePtypeval(int offset)
{
int ret = 0;
ret = parseKnownType(offset);
if(-1 != ret)
return ret;
ret = parseXWord(offset);
if(-1 != ret)
return ret;
else
return -1;
}
private int parseRoleVal(int offset)
{
int ret = 0;
ret = parseString(offset, "ATTENDEE", true);
if(-1 != ret)
return ret;
ret = parseString(offset, "ORGANIZER", true);
if(-1 != ret)
return ret;
ret = parseString(offset, "OWNER", true);
if(-1 != ret)
return ret;
ret = parseXWord(offset);
if(-1 != ret)
return ret;
else
return -1;
}
private int parseStatuVal(int offset)
{
int ret = 0;
ret = parseString(offset, "ACCEPTED", true);
if(-1 != ret)
return ret;
ret = parseString(offset, "NEED ACTION", true);
if(-1 != ret)
return ret;
ret = parseString(offset, "TENTATIVE", true);
if(-1 != ret)
return ret;
ret = parseString(offset, "CONFIRMED", true);
if(-1 != ret)
return ret;
ret = parseString(offset, "DECLINED", true);
if(-1 != ret)
return ret;
ret = parseString(offset, "COMPLETED", true);
if(-1 != ret)
return ret;
ret = parseString(offset, "DELEGATED", true);
if(-1 != ret)
return ret;
ret = parseXWord(offset);
if(-1 != ret)
return ret;
else
return -1;
}
private int valueFilter(String propName, ArrayList values)
{
label0:
{
if(propName == null || propName.equals("") || values == null || values.isEmpty())
return 1;
if(!mSpecialValueSetMap.containsKey(propName))
break label0;
Iterator i$ = values.iterator();
String value;
do
{
if(!i$.hasNext())
break label0;
value = (String)i$.next();
} while(((HashSet)mSpecialValueSetMap.get(propName)).contains(value) || value.startsWith("X-"));
return -1;
}
return 1;
}
private String exportEntpropValue(String propName, String str)
{
if(null == propName || null == str)
return null;
if("".equals(propName) || "".equals(str))
return "";
if(!mEscAllowedProps.contains(propName))
{
return str;
} else
{
String tmp = str.replace("\\\\", "\n\r\n");
tmp = tmp.replace("\\;", ";");
tmp = tmp.replace("\\:", ":");
tmp = tmp.replace("\\,", ",");
tmp = tmp.replace("\n\r\n", "\\");
return tmp;
}
}
private static final HashSet mEvtPropNameGroup1 = new HashSet(Arrays.asList(new String[] {
"ATTACH", "ATTENDEE", "DCREATED", "COMPLETED", "DESCRIPTION", "DUE", "DTEND", "EXRULE", "LAST-MODIFIED", "LOCATION",
"RNUM", "PRIORITY", "RELATED-TO", "RRULE", "SEQUENCE", "DTSTART", "SUMMARY", "TRANSP", "URL", "UID",
"CLASS", "STATUS"
}));
private static final HashSet mEvtPropNameGroup2 = new HashSet(Arrays.asList(new String[] {
"AALARM", "CATEGORIES", "DALARM", "EXDATE", "MALARM", "PALARM", "RDATE", "RESOURCES"
}));
private static final HashSet mValueCAT;
private static final HashSet mValueCLASS;
private static final HashSet mValueRES;
private static final HashSet mValueSTAT;
private static final HashSet mEscAllowedProps = new HashSet(Arrays.asList(new String[] {
"DESCRIPTION", "SUMMARY", "AALARM", "DALARM", "MALARM", "PALARM"
}));
private static final HashMap mSpecialValueSetMap;
static
{
mValueCAT = new HashSet(Arrays.asList(new String[] {
"APPOINTMENT", "BUSINESS", "EDUCATION", "HOLIDAY", "MEETING", "MISCELLANEOUS", "PERSONAL", "PHONE CALL", "SICK DAY", "SPECIAL OCCASION",
"TRAVEL", "VACATION"
}));
mValueCLASS = new HashSet(Arrays.asList(new String[] {
"PUBLIC", "PRIVATE", "CONFIDENTIAL"
}));
mValueRES = new HashSet(Arrays.asList(new String[] {
"CATERING", "CHAIRS", "EASEL", "PROJECTOR", "VCR", "VEHICLE"
}));
mValueSTAT = new HashSet(Arrays.asList(new String[] {
"ACCEPTED", "NEEDS ACTION", "SENT", "TENTATIVE", "CONFIRMED", "DECLINED", "COMPLETED", "DELEGATED"
}));
mSpecialValueSetMap = new HashMap();
mSpecialValueSetMap.put("CATEGORIES", mValueCAT);
mSpecialValueSetMap.put("CLASS", mValueCLASS);
mSpecialValueSetMap.put("RESOURCES", mValueRES);
mSpecialValueSetMap.put("STATUS", mValueSTAT);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -