javax.mail

Class Flags

Implemented Interfaces:
Cloneable, Serializable

public class Flags
extends java.lang.Object
implements 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.

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 <32sf.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

static class
Flags.Flag
This inner class represents an individual system flag.

Constructor Summary

Flags()
Construct an empty Flags object.
Flags(String flag)
Construct a Flags object initialized with the given user flag.
Flags(Flags flags)
Construct a Flags object initialized with the given flags.
Flags(Flags.Flag flag)
Construct a Flags object initialized with the given system flag.

Method Summary

void
add(String flag)
Add the specified user flag to this Flags object.
void
add(Flags flags)
Add all the flags in the given Flags object to this Flags object.
void
add(Flags.Flag flag)
Add the specified system flag to this Flags object.
Object
clone()
Returns a clone of this Flags object.
boolean
contains(String flag)
Indicates whether the specified user flag is present in this Flags object.
boolean
contains(Flags flags)
Indicates whether all the flags in the specified Flags object are present in this Flags object.
boolean
contains(Flags.Flag flag)
Indicates whether the specified system flag is present in this Flags object.
boolean
equals(Object other)
Indicates whether the two Flags objects are equal.
Flags.Flag[]
getSystemFlags()
Return all the system flags in this Flags object.
String[]
getUserFlags()
Return all the user flags in this Flags object.
int
hashCode()
Returns a hash code for this object.
void
remove(String flag)
Remove the specified user flag from this Flags object.
void
remove(Flags flags)
Remove all flags in the given Flags object from this Flags object.
void
remove(Flags.Flag flag)
Remove the specified system flag from this Flags object.

Constructor Details

Flags

public Flags()
Construct an empty Flags object.


Flags

public Flags(String flag)
Construct a Flags object initialized with the given user flag.

Parameters:
flag - the flag for initialization


Flags

public Flags(Flags flags)
Construct a Flags object initialized with the given flags.

Parameters:
flags - the flags for initialization


Flags

public Flags(Flags.Flag flag)
Construct a Flags object initialized with the given system flag.

Parameters:
flag - the flag for initialization

Method Details

add

public void add(String flag)
Add the specified user flag to this Flags object.

Parameters:
flag - the flag to add


add

public void add(Flags flags)
Add all the flags in the given Flags object to this Flags object.

Parameters:
flags - the Flags object to add flags from


add

public void add(Flags.Flag flag)
Add the specified system flag to this Flags object.

Parameters:
flag - the flag to add


clone

public Object clone()
Returns a clone of this Flags object.


contains

public boolean contains(String flag)
Indicates whether the specified user flag is present in this Flags object.


contains

public boolean contains(Flags flags)
Indicates whether all the flags in the specified Flags object are present in this Flags object.


contains

public boolean contains(Flags.Flag flag)
Indicates whether the specified system flag is present in this Flags object.


equals

public boolean equals(Object other)
Indicates whether the two Flags objects are equal.


getSystemFlags

public Flags.Flag[] getSystemFlags()
Return all the system flags in this Flags object. Returns an array of size zero if no flags are set.


getUserFlags

public String[] getUserFlags()
Return all the user flags in this Flags object. Returns an array of size zero if no flags are set.


hashCode

public int hashCode()
Returns a hash code for this object.


remove

public void remove(String flag)
Remove the specified user flag from this Flags object.

Parameters:
flag - the flag to be removed


remove

public void remove(Flags flags)
Remove all flags in the given Flags object from this Flags object.

Parameters:
flags - the flags to be removed


remove

public void remove(Flags.Flag flag)
Remove the specified system flag from this Flags object.

Parameters:
flag - the flag to be removed