Object oFlag;
if (oFolder==null)
return super.getFlags();
else {
Flags oRetVal = null;
Statement oStmt = null;
ResultSet oRSet = null;
try {
Flags.Flag[] aFlags = new Flags.Flag[]{Flags.Flag.RECENT, Flags.Flag.ANSWERED, Flags.Flag.DELETED, Flags.Flag.DRAFT, Flags.Flag.FLAGGED, Flags.Flag.SEEN};
oStmt = ( (DBFolder) oFolder).getConnection().createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
oRSet = oStmt.executeQuery("SELECT "+DB.bo_recent+","+DB.bo_answered+","+DB.bo_deleted+","+DB.bo_draft+","+DB.bo_flagged+","+DB.bo_recent+","+DB.bo_seen+" FROM "+DB.k_mime_msgs+" WHERE "+DB.gu_mimemsg+"='"+getMessageGuid()+"'");
if (oRSet.next()) {
oRetVal = new Flags();
for (int f=1; f<=6; f++) {
oFlag = oRSet.getObject(f);
if (!oRSet.wasNull()) {
if (oFlag.getClass().equals(Short.TYPE)) {
if (((Short) oFlag).shortValue()==(short)1)
oRetVal.add(aFlags[f-1]);
}
else {
if (Integer.parseInt(oFlag.toString())!=0)
oRetVal.add(aFlags[f-1]);
}
}
} // next (f)
}
oRSet.close();