javax.mail
Class Flags
- Cloneable, Serializable
public class Flags
extends java.lang.Object
implements Cloneable, Serializable
Representation of flags that may be associated with a message.
Flags can either be system flags, defined by the
Flag inner class,
or user-defined flags defined by a String. The system flags represent those expected
to be provided by most folder systems; user-defined flags allow for additional flags
on a per-provider basis.
This class is Serializable but compatibility is not guaranteed across releases.
Flags()- Construct a Flags instance with no flags set.
|
Flags(String name)- Construct a Flags instance with the supplied user flags set.
|
Flags(Flags flags)- Construct a Flags instance with a same flags set.
|
Flags(Flags.Flag flag)- Construct a Flags instance with a supplied system flag set.
|
void | add(String name)- Set a user flag.
|
void | add(Flags flags)- Set all system and user flags from the supplied Flags.
|
void | add(Flags.Flag flag)- Set a system flag.
|
Object | clone()- Return a copy of this instance.
|
boolean | contains(String name)- See if the supplied user flag is set
|
boolean | contains(Flags flags)- See if all of the supplied Flags are set
|
boolean | contains(Flags.Flag flag)- See if the supplied system flags are set
|
boolean | equals(Object other)- Equality is defined as true if the other object is a instanceof Flags with the
same system and user flags set (using a case-insensitive name comparison for user flags).
|
Flags.Flag[] | getSystemFlags()- Return a list of
Flags containing the system flags that have been set
|
String[] | getUserFlags()- Return a list of user flags that have been set
|
int | hashCode()- Calculate a hashCode for this instance
|
void | remove(String name)- Unset the supplied user flag.
|
void | remove(Flags flags)- Unset all flags from the supplied instance.
|
void | remove(Flags.Flag flag)- Unset the supplied system flag.
|
Flags
public Flags()
Construct a Flags instance with no flags set.
Flags
public Flags(String name)
Construct a Flags instance with the supplied user flags set.
Question: should this automatically set the USER system flag?
name - the user flag to set
Flags
public Flags(Flags flags)
Construct a Flags instance with a same flags set.
flags - the instance to copy
Flags
public Flags(Flags.Flag flag)
Construct a Flags instance with a supplied system flag set.
flag - the system flag to set
add
public void add(String name)
Set a user flag.
Question: should this fail if the USER system flag is not set?
name - the user flag to set
add
public void add(Flags flags)
Set all system and user flags from the supplied Flags.
Question: do we need to check compatibility of USER flags?
add
public void add(Flags.Flag flag)
Set a system flag.
flag - the system flag to set
clone
public Object clone()
Return a copy of this instance.
contains
public boolean contains(String name)
See if the supplied user flag is set
name - the user flag to check for
contains
public boolean contains(Flags flags)
See if all of the supplied Flags are set
flags - the flags to check for
- true if all the supplied system and user flags are set
contains
public boolean contains(Flags.Flag flag)
See if the supplied system flags are set
flag - the system flags to check for
- true if the flags are set
equals
public boolean equals(Object other)
Equality is defined as true if the other object is a instanceof Flags with the
same system and user flags set (using a case-insensitive name comparison for user flags).
other - the instance to compare against
- true if the two instance are the same
getSystemFlags
public Flags.Flag[] getSystemFlags()
Return a list of
Flags containing the system flags that have been set
- the system flags that have been set
getUserFlags
public String[] getUserFlags()
Return a list of user flags that have been set
hashCode
public int hashCode()
Calculate a hashCode for this instance
- a hashCode for this instance
remove
public void remove(String name)
Unset the supplied user flag.
remove
public void remove(Flags flags)
Unset all flags from the supplied instance.
flags - the flags to clear
remove
public void remove(Flags.Flag flag)
Unset the supplied system flag.
Question: what happens if we unset the USER flags and user flags are set?