001package org.apache.james.mailbox.maildir.mail.model;
002
003import java.io.IOException;
004
005import org.apache.james.mailbox.MailboxSession;
006import org.apache.james.mailbox.exception.MailboxException;
007import org.apache.james.mailbox.maildir.MaildirFolder;
008import org.apache.james.mailbox.model.MailboxACL;
009import org.apache.james.mailbox.model.MailboxPath;
010import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
011
012public class MaildirMailbox<Id> extends SimpleMailbox<Id> {
013
014    private MaildirFolder folder;
015    private MailboxSession session;
016
017    public MaildirMailbox(MailboxSession session, MailboxPath path, MaildirFolder folder) throws IOException {
018        super(path, folder.getUidValidity());
019        this.folder = folder;
020        this.session = session;
021    }
022
023    @Override
024    public MailboxACL getACL() {
025        try {
026            return folder.getACL(session);
027        } catch (MailboxException e) {
028            throw new RuntimeException(e);
029        }
030    }
031
032    @Override
033    public void setACL(MailboxACL acl) {
034        try {
035            folder.setACL(session, acl);
036        } catch (MailboxException e) {
037            throw new RuntimeException(e);
038        }
039    }
040
041}