Class Flags
- All Implemented Interfaces:
Serializable
,Cloneable
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 Jakarta Mail 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 on 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"); ...... ...... }
- Author:
- John Mani, Bill Shannon
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
This inner class represents an individual system flag. -
Constructor Summary
ConstructorDescriptionFlags()
Construct an empty Flags object.Construct a Flags object initialized with the given flags.Flags
(Flags.Flag flag) Construct a Flags object initialized with the given system flag.Construct a Flags object initialized with the given user flag. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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.void
Add the specified user flag to this Flags object.void
Clear all of the system flags.void
Clear all of the user flags.clone()
Returns a clone of this Flags object.boolean
Check whether all the flags in the specified Flags object are present in this Flags object.boolean
contains
(Flags.Flag flag) Check whether the specified system flag is present in this Flags object.boolean
Check whether the specified user flag is present in this Flags object.boolean
Check whether the two Flags objects are equal.Return all the system flags in this Flags object.String[]
Return all the user flags in this Flags object.int
hashCode()
Compute a hash code for this Flags object.void
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 the specified user flag from this Flags object.boolean
Remove any flags not in the given Flags object.toString()
Return a string representation of this Flags object.
-
Constructor Details
-
Flags
public Flags()Construct an empty Flags object. -
Flags
Construct a Flags object initialized with the given flags.- Parameters:
flags
- the flags for initialization
-
Flags
Construct a Flags object initialized with the given system flag.- Parameters:
flag
- the flag for initialization
-
Flags
Construct a Flags object initialized with the given user flag.- Parameters:
flag
- the flag for initialization
-
-
Method Details
-
add
Add the specified system flag to this Flags object.- Parameters:
flag
- the flag to add
-
add
Add the specified user flag to this Flags object.- Parameters:
flag
- the flag to add
-
add
Add all the flags in the given Flags object to this Flags object.- Parameters:
f
- Flags object
-
remove
Remove the specified system flag from this Flags object.- Parameters:
flag
- the flag to be removed
-
remove
Remove the specified user flag from this Flags object.- Parameters:
flag
- the flag to be removed
-
remove
Remove all flags in the given Flags object from this Flags object.- Parameters:
f
- the flag to be removed
-
retainAll
Remove any flags not in the given Flags object. Useful for clearing flags not supported by a server. If the given Flags object includes the Flags.Flag.USER flag, all user flags in this Flags object are retained.- Parameters:
f
- the flags to keep- Returns:
- true if this Flags object changed
- Since:
- JavaMail 1.6
-
contains
Check whether the specified system flag is present in this Flags object.- Parameters:
flag
- the flag to test- Returns:
- true of the given flag is present, otherwise false.
-
contains
Check whether the specified user flag is present in this Flags object.- Parameters:
flag
- the flag to test- Returns:
- true of the given flag is present, otherwise false.
-
contains
Check whether all the flags in the specified Flags object are present in this Flags object.- Parameters:
f
- the flags to test- Returns:
- true if all flags in the given Flags object are present, otherwise false.
-
equals
Check whether the two Flags objects are equal. -
hashCode
public int hashCode()Compute a hash code for this Flags object. -
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
-
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.
-
clearSystemFlags
public void clearSystemFlags()Clear all of the system flags.- Since:
- JavaMail 1.6
-
clearUserFlags
public void clearUserFlags()Clear all of the user flags.- Since:
- JavaMail 1.6
-
clone
Returns a clone of this Flags object. -
toString
Return a string representation of this Flags object. Note that the exact format of the string is subject to change.
-