Independentsoft
- any library, any programming language
Home
Purchase
Support
Company
Contact
JWebDAV for Exchange
>
Tutorial
> Display mailbox folder tree
The following example shows you how to use recursive search to display mailbox folder structure.
import java.util.ArrayList; import java.util.List; import com.independentsoft.webdav.exchange.Condition; import com.independentsoft.webdav.exchange.FolderPropertyName; import com.independentsoft.webdav.exchange.From; import com.independentsoft.webdav.exchange.Mailbox; import com.independentsoft.webdav.exchange.MessagePropertyName; import com.independentsoft.webdav.exchange.MultiStatus; import com.independentsoft.webdav.exchange.Operator; import com.independentsoft.webdav.exchange.PropertyName; import com.independentsoft.webdav.exchange.Scope; import com.independentsoft.webdav.exchange.SearchResult; import com.independentsoft.webdav.exchange.SearchResultRecord; import com.independentsoft.webdav.exchange.Select; import com.independentsoft.webdav.exchange.SqlQuery; import com.independentsoft.webdav.exchange.WebdavClient; import com.independentsoft.webdav.exchange.WebdavException; import com.independentsoft.webdav.exchange.Where; public class Example { public static void main(final String[] args) { try { WebdavClient client = new WebdavClient("https://myserver/exchange/emailaddress", "username", "password"); Mailbox myMailbox = client.getMailbox("https://myserver/exchange/emailaddress"); List
propertyNames = new ArrayList
(); propertyNames.add(FolderPropertyName.IS_FOLDER); Select select = new Select(propertyNames); From from = new From(myMailbox.getRoot(), Scope.DEEP); Where where = new Where(); Condition condition1 = new Condition(MessagePropertyName.IS_FOLDER, Operator.EQUALS, true); where.add(condition1); SqlQuery sqlQuery = new SqlQuery(select, from, where); MultiStatus multiStatus = client.search(sqlQuery); SearchResult searchResult = new SearchResult(multiStatus, propertyNames); SearchResultRecord[] allRecords = searchResult.getRecords(); for (int i = 0; i < allRecords.length; i++) { String folderUrl = allRecords[i].getUrl(); System.out.println("Folder URL=" + folderUrl); } } catch (WebdavException e) { e.printStackTrace(); } } }