📄 vcalparser.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: VCalParser.java
package android.syncml.pim.vcalendar;
import android.syncml.pim.VBuilder;
import android.syncml.pim.VParser;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class VCalParser extends VParser
{
public VCalParser()
{
}
protected int parseVFile(int offset)
{
return parseVCalFile(offset);
}
private int parseVCalFile(int offset)
{
int ret = 0;
int sum;
for(sum = 0; -1 != (ret = parseWsls(offset)); sum += ret)
offset += ret;
ret = parseVCal(offset);
if(-1 != ret)
{
offset += ret;
sum += ret;
} else
{
return -1;
}
while(-1 != (ret = parseWsls(offset)))
{
offset += ret;
sum += ret;
}
return sum;
}
private int parseVCal(int offset)
{
int ret = 0;
int sum = 0;
ret = parseString(offset, "BEGIN", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, ":", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, "VCALENDAR", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.startRecord("VCALENDAR");
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseCrlf(offset);
if(-1 == ret)
return -1;
offset += ret;
for(sum += ret; -1 != (ret = parseCrlf(offset)); sum += ret)
offset += ret;
ret = parseCalprops(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = parseCalentities(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
for(sum += ret; -1 != (ret = parseCrlf(offset)); sum += ret)
offset += ret;
ret = parseString(offset, "END", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, ":", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, "VCALENDAR", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.endRecord();
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseCrlf(offset);
if(-1 == ret)
return -1;
offset += ret;
for(sum += ret; -1 != (ret = parseCrlf(offset)); sum += ret)
offset += ret;
return sum;
}
private int parseCalprops(int offset)
{
int ret = 0;
int sum = 0;
if(mBuilder != null)
mBuilder.startProperty();
ret = parseCalprop(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.endProperty();
do
{
while(-1 != (ret = parseCrlf(offset)))
{
offset += ret;
sum += ret;
}
if(mBuilder != null)
mBuilder.startProperty();
ret = parseCalprop(offset);
if(-1 == ret)
break;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.endProperty();
} while(true);
return sum;
}
private int parseCalentities(int offset)
{
int ret = 0;
int sum = 0;
ret = parseCalentity(offset);
if(-1 == ret)
return -1;
offset += ret;
do
{
for(sum += ret; -1 != (ret = parseCrlf(offset)); sum += ret)
offset += ret;
ret = parseCalentity(offset);
if(-1 != ret)
{
offset += ret;
sum += ret;
} else
{
return sum;
}
} while(true);
}
private int parseCalprop(int offset)
{
int ret = 0;
ret = parseCalprop0(offset, "DAYLIGHT");
if(-1 != ret)
return ret;
ret = parseCalprop0(offset, "GEO");
if(-1 != ret)
return ret;
ret = parseCalprop0(offset, "PRODID");
if(-1 != ret)
return ret;
ret = parseCalprop0(offset, "TZ");
if(-1 != ret)
return ret;
ret = parseCalprop1(offset);
if(-1 != ret)
return ret;
else
return -1;
}
private int parseCalentity(int offset)
{
int ret = 0;
ret = parseEvententity(offset);
if(-1 != ret)
return ret;
ret = parseTodoentity(offset);
if(-1 != ret)
return ret;
else
return -1;
}
private int parseCalprop0(int offset, String propName)
{
int ret = 0;
int sum = 0;
int start = 0;
ret = parseString(offset, propName, true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyName(propName);
ret = parseParams(offset);
if(-1 != ret)
{
offset += ret;
sum += ret;
}
ret = parseString(offset, ":", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
start = offset;
ret = parseValue(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
{
ArrayList v = new ArrayList();
v.add(mBuffer.substring(start, offset));
mBuilder.propertyValues(v);
}
ret = parseCrlf(offset);
if(-1 == ret)
{
return -1;
} else
{
sum += ret;
return sum;
}
}
private int parseCalprop1(int offset)
{
int ret = 0;
int sum = 0;
ret = parseString(offset, "VERSION", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.propertyName("VERSION");
ret = parseParams(offset);
if(-1 != ret)
{
offset += ret;
sum += ret;
}
ret = parseString(offset, ":", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = parseString(offset, "1.0", true);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
{
ArrayList v = new ArrayList();
v.add("1.0");
mBuilder.propertyValues(v);
}
ret = parseCrlf(offset);
if(-1 == ret)
{
return -1;
} else
{
sum += ret;
return sum;
}
}
private int parseEvententity(int offset)
{
int ret = 0;
int sum = 0;
ret = parseString(offset, "BEGIN", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, ":", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, "VEVENT", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.startRecord("VEVENT");
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseCrlf(offset);
if(-1 == ret)
return -1;
offset += ret;
for(sum += ret; -1 != (ret = parseCrlf(offset)); sum += ret)
offset += ret;
ret = parseEntprops(offset);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
for(sum += ret; -1 != (ret = parseCrlf(offset)); sum += ret)
offset += ret;
ret = parseString(offset, "END", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, ":", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseString(offset, "VEVENT", false);
if(-1 == ret)
return -1;
offset += ret;
sum += ret;
if(mBuilder != null)
mBuilder.endRecord();
ret = removeWs(offset);
offset += ret;
sum += ret;
ret = parseCrlf(offset);
if(-1 == ret)
return -1;
offset += ret;
for(sum += ret; -1 != (ret = parseCrlf(offset)); sum += ret)
offset += ret;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -