public class

Flags

extends Object
implements Serializable Cloneable
java.lang.Object
   ↳ com.google.code.javax.mail.Flags
Known Direct Subclasses

Class Overview

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 GmailFolder 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");
      ......
      ......
 }
 

See Also
  • GmailFolder#getPermanentFlags

Summary

Nested Classes
class Flags.Flag This inner class represents an individual system flag. 
Constants
int ANSWERED_BIT
int DELETED_BIT
int DRAFT_BIT
int FLAGGED_BIT
int RECENT_BIT
int SEEN_BIT
int USER_BIT
long serialVersionUID
Fields
private int system_flags
private Hashtable user_flags
Public Constructors
Flags()
Construct an empty Flags object.
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.
Flags(String flag)
Construct a Flags object initialized with the given user flag.
Public Methods
void add(Flags.Flag flag)
Add the specified system flag to this Flags object.
void add(Flags f)
Add all the flags in the given Flags object to this Flags object.
void add(String flag)
Add the specified user flag to this Flags object.
Object clone()
Returns a clone of this Flags object.
boolean contains(String flag)
Check whether the specified user flag is present in this Flags object.
boolean contains(Flags.Flag flag)
Check whether the specified system flag is present in this Flags object.
boolean contains(Flags f)
Check whether all the flags in the specified Flags object are present in this Flags object.
boolean equals(Object obj)
Check whether the two Flags objects are equal.
Flag[] getSystemFlags()
Return all the system flags in this Flags object.
String[] getUserFlags()
Return all the user flags in this Flags object.
int hashCode()
Compute a hash code for this Flags object.
void remove(Flags f)
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.
void remove(String flag)
Remove the specified user flag from this Flags object.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

private static final int ANSWERED_BIT

Constant Value: 1 (0x00000001)

private static final int DELETED_BIT

Constant Value: 2 (0x00000002)

private static final int DRAFT_BIT

Constant Value: 4 (0x00000004)

private static final int FLAGGED_BIT

Constant Value: 8 (0x00000008)

private static final int RECENT_BIT

Constant Value: 16 (0x00000010)

private static final int SEEN_BIT

Constant Value: 32 (0x00000020)

private static final int USER_BIT

Constant Value: -2147483648 (0x80000000)

private static final long serialVersionUID

Constant Value: 6243590407214169028 (0x56a5b06539097bc4)

Fields

private int system_flags

private Hashtable user_flags

Public Constructors

public Flags ()

Construct an empty Flags object.

public Flags (Flags flags)

Construct a Flags object initialized with the given flags.

Parameters
flags The flags for initialization

public Flags (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

Public Methods

public void add (Flags.Flag flag)

Add the specified system flag to this Flags object.

Parameters
flag The flag to add

public void add (Flags f)

Add all the flags in the given Flags object to this Flags object.

Parameters
f Flags object

public void add (String flag)

Add the specified user flag to this Flags object.

Parameters
flag The flag to add

public Object clone ()

Returns a clone of this Flags object.

public boolean contains (String flag)

Check whether the specified user flag is present in this Flags object.

Parameters
flag
Returns
  • true of the given flag is present, otherwise false.

public boolean contains (Flags.Flag flag)

Check whether the specified system flag is present in this Flags object.

Parameters
flag
Returns
  • true of the given flag is present, otherwise false.

public boolean contains (Flags f)

Check whether all the flags in the specified Flags object are present in this Flags object.

Parameters
f
Returns
  • true if all flags in the given Flags object are present, otherwise false.

public boolean equals (Object obj)

Check whether the two Flags objects are equal.

Parameters
obj
Returns
  • true if they're equal

public Flag[] getSystemFlags ()

Return all the system flags in this Flags object. Returns an array of size zero if no flags are set.

Returns
  • array of Flags.Flag objects representing system flags

public String[] getUserFlags ()

Return all the user flags in this Flags object. Returns an array of size zero if no flags are set.

Returns
  • array of Strings, each String represents a flag.

public int hashCode ()

Compute a hash code for this Flags object.

Returns
  • the hash code

public void remove (Flags f)

Remove all flags in the given Flags object from this Flags object.

Parameters
f The flag to be removed

public void remove (Flags.Flag flag)

Remove the specified system flag from this Flags object.

Parameters
flag The flag to be removed

public void remove (String flag)

Remove the specified user flag from this Flags object.

Parameters
flag The flag to be removed