com.openexchange.mail.api
Class MailCapabilities

java.lang.Object
  extended by com.openexchange.mail.api.MailCapabilities

public abstract class MailCapabilities
extends java.lang.Object

MailCapabilities - Holds capabilities of the underlying mail system.

Author:
Thorben Betten

Field Summary
static int BIT_PERMISSIONS
          The bit for permission support: 1
static int BIT_QUOTA
          The bit for quota support: 4
static int BIT_SORT
          The bit for sorting support: 8
static int BIT_SUBSCRIPTION
          The bit for subscription support: 16
static int BIT_THREAD_REFERENCES
          The bit for thread reference support: 2
static MailCapabilities EMPTY_CAPS
          A constant to signal empty capabilities
 
Method Summary
 int getCapabilities()
          Returns the capabilities as a bit mask.
abstract  boolean hasPermissions()
          Indicates if mail system supports any kind of folder permissions to define access rights for certain users to a mail folder.
abstract  boolean hasQuota()
          Indicates if mail system supports user-specific quota restrictions on resources like storage space.
abstract  boolean hasSort()
          Indicates if mail system supports sorting messages in a certain mail folder.
abstract  boolean hasSubscription()
          Indicates if mail system supports subscription of mail folders.
abstract  boolean hasThreadReferences()
          Indicates if mail system supports sorting messages in a certain mail folder by their communication thread reference.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY_CAPS

public static final MailCapabilities EMPTY_CAPS
A constant to signal empty capabilities


BIT_PERMISSIONS

public static final int BIT_PERMISSIONS
The bit for permission support: 1


BIT_THREAD_REFERENCES

public static final int BIT_THREAD_REFERENCES
The bit for thread reference support: 2


BIT_QUOTA

public static final int BIT_QUOTA
The bit for quota support: 4


BIT_SORT

public static final int BIT_SORT
The bit for sorting support: 8


BIT_SUBSCRIPTION

public static final int BIT_SUBSCRIPTION
The bit for subscription support: 16

Method Detail

hasPermissions

public abstract boolean hasPermissions()
Indicates if mail system supports any kind of folder permissions to define access rights for certain users to a mail folder.

Therefore this capability indicates if mail system supports shared/public folders.

Returns:
true if mail system supports any kind of mail permissions; otherwise false

hasThreadReferences

public abstract boolean hasThreadReferences()
Indicates if mail system supports sorting messages in a certain mail folder by their communication thread reference.

Returns:
true if mail system supports sorting by communication thread reference; otherwise false

hasQuota

public abstract boolean hasQuota()
Indicates if mail system supports user-specific quota restrictions on resources like storage space.

Returns:
true if mail system supports user-specific quota restrictions; otherwise false

hasSort

public abstract boolean hasSort()
Indicates if mail system supports sorting messages in a certain mail folder.

Returns:
true if mail system supports sorting; otherwise false

hasSubscription

public abstract boolean hasSubscription()
Indicates if mail system supports subscription of mail folders.

Note: This capability is also takes the configuration setting MailConfig#isSupportSubscription() into consideration.

Returns:
true if mail system supports subscription; otherwise false

getCapabilities

public int getCapabilities()
Returns the capabilities as a bit mask.

Override to support additional capabilities:

 @Override
 public int getCapabilities() {
        int retval = super.getCapabilities()
        // your capabilities added here
 }
 

Returns:
The capabilities as a bit mask

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object