Home » apache-tomcat-6.0.26-src » javax » mail » [javadoc | source]
javax.mail
public class: Flags [javadoc | source]
java.lang.Object
   javax.mail.Flags

All Implemented Interfaces:
    Cloneable, Serializable

The Flags class represents the set of flags on a Message. Flags are composed of predefined system flags, and user defined flags.

A System flag is represented by the Flags.Flag inner class. A User defined flag is represented as a String. User flags are case-independent.

A set of standard system flags are predefined. Most folder implementations are expected to support these flags. Some implementations may also support arbitrary user-defined flags. The getPermanentFlags method on a Folder returns a Flags object that holds all the flags that are supported by that folder implementation.

A Flags object is serializable so that (for example) the use of Flags objects in search terms can be serialized along with the search terms.

Warning: Serialized objects of this class may not be compatible with future JavaMail API releases. The current serialization support is appropriate for short term storage.

The below code sample illustrates how to set, examine and get the flags for a message.


Message m = folder.getMessage(1);
m.setFlag(Flags.Flag.DELETED, true); // set the DELETED flag

// Check if DELETED flag is set of this message
if (m.isSet(Flags.Flag.DELETED))
System.out.println("DELETED message");

// Examine ALL system flags for this message
Flags flags = m.getFlags();
Flags.Flag[] sf = flags.getSystemFlags();
for (int i = 0; i < sf.length; i++) {
if (sf[i] == Flags.Flag.DELETED)
           System.out.println("DELETED message");
else if (sf[i] == Flags.Flag.SEEN)
           System.out.println("SEEN message");
     ......
     ......
}

Nested Class Summary:
public static final class  Flags.Flag  This inner class represents an individual system flag. A set of standard system flag objects are predefined here. 
Constructor:
 public Flags() 
 public Flags(Flags flags) 
    Construct a Flags object initialized with the given flags.
    Parameters:
    flags - the flags for initialization
 public Flags(Flag flag) 
    Construct a Flags object initialized with the given system flag.
    Parameters:
    flag - the flag for initialization
 public Flags(String flag) 
    Construct a Flags object initialized with the given user flag.
    Parameters:
    flag - the flag for initialization
Method from javax.mail.Flags Summary:
add,   add,   add,   clone,   contains,   contains,   contains,   equals,   getSystemFlags,   getUserFlags,   hashCode,   remove,   remove,   remove
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from javax.mail.Flags Detail:
 public  void add(Flag flag) 
    Add the specified system flag to this Flags object.
 public  void add(String flag) 
    Add the specified user flag to this Flags object.
 public  void add(Flags f) 
    Add all the flags in the given Flags object to this Flags object.
 public Object clone() 
    Returns a clone of this Flags object.
 public boolean contains(Flag flag) 
    Check whether the specified system flag is present in this Flags object.
 public boolean contains(String flag) 
    Check whether the specified user flag is present in this Flags object.
 public boolean contains(Flags f) 
    Check whether all the flags in the specified Flags object are present in this Flags object.
 public boolean equals(Object obj) 
    Check whether the two Flags objects are equal.
 public Flag[] getSystemFlags() 
    Return all the system flags in this Flags object. Returns an array of size zero if no flags are set.
 public String[] getUserFlags() 
    Return all the user flags in this Flags object. Returns an array of size zero if no flags are set.
 public int hashCode() 
    Compute a hash code for this Flags object.
 public  void remove(Flag flag) 
    Remove the specified system flag from this Flags object.
 public  void remove(String flag) 
    Remove the specified user flag from this Flags object.
 public  void remove(Flags f) 
    Remove all flags in the given Flags object from this Flags object.