본문 바로가기
기타

hMailServer Flag

by ddss6565 2023. 7. 18.

FlagVirusScan / FlagRecent / FlagDraft / FlagAnswered / FlagFlagged / FlagDeleted / FlagSeen

public void mailFlagConvert(Map<String, Object> map)
{
    int messageflags = MapUtils.getIntValue(map, "messageflags", -1);
    if(messageflags >= 0 && messageflags <= 127)
    {
        boolean flagSeen = false;
        boolean flagDeleted = false;
        boolean flagFlagged = false;
        boolean flagAnswered = false;
        boolean flagDraft = false;
        boolean flagRecent = false;
        boolean flagVirusScan = false;

        String toBinaryString = Integer.toBinaryString(messageflags);
        toBinaryString = StringUtils.leftPad(toBinaryString, 7, "0");
        if(toBinaryString.charAt(6) == '1') flagSeen = true;
        if(toBinaryString.charAt(5) == '1') flagDeleted = true;
        if(toBinaryString.charAt(4) == '1') flagFlagged = true;
        if(toBinaryString.charAt(3) == '1') flagAnswered = true;
        if(toBinaryString.charAt(2) == '1') flagDraft = true;
        if(toBinaryString.charAt(1) == '1') flagRecent = true;
        if(toBinaryString.charAt(0) == '1') flagVirusScan = true;

        map.put("FlagSeen", flagSeen);
        map.put("FlagDeleted", flagDeleted);
        map.put("FlagFlagged", flagFlagged);
        map.put("FlagAnswered", flagAnswered);
        map.put("FlagDraft", flagDraft);
        map.put("FlagRecent", flagRecent);
        map.put("FlagVirusScan", flagVirusScan);
    }
}
반응형

'기타' 카테고리의 다른 글

서브넷 마스크 계산법  (0) 2023.07.18
Ubuntu SMB 설정  (0) 2023.07.15

댓글