javax.mail
クラス Flags

java.lang.Object
  上位を拡張 javax.mail.Flags
すべての実装されたインタフェース:
Serializable, Cloneable

public class Flags
extends Object
implements Cloneable, Serializable

Flags クラスは Message 上のフラグの組を表します。 Flags は事前定義されたシステムフラグとユーザ定義フラグから構成されます。

システムフラグは Flags.Flag 内部クラスにより表されます。 ユーザ定義フラグは String として表されます。 ユーザフラグは大文字と小文字を区別しません。

一連の標準システムフラグは事前定義されています。 殆どのフォルダ実装はこれらのフラグをサポートすることになっています。 一部の実装は任意のユーザ定義フラグもサポート可能です。 Folder の getPermanentFlags メソッドは、 そのフォルダ実装がサポートする全てのフラグを保持する Flags オブジェクトを返します。

例えば、検索語中の Flags オブジェクトの使用が検索語と共に直列化可能となる様に、 Flags オブジェクトは直列化可能です。

警告: このクラスの直列化オブジェクトは将来の JavaMail API リリースと互換性がなくなる可能性があります。 現在の直列化サポートは短期的に有効です。

以下のサンプルコードは、メッセージに対するフラグの設定、検査、 及び取得方法を示しています。

 
 Message m = folder.getMessage(1);
 m.setFlag(Flags.Flag.DELETED, true); // DELETED フラグを設定します
 
 // DELETED フラグがこのメッセージに設定されているか検証します
 if (m.isSet(Flags.Flag.DELETED))
        System.out.println("DELETED 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");
      ......
      ......
 }
 

関連項目:
Folder.getPermanentFlags(), 直列化された形式

入れ子のクラスの概要
static class Flags.Flag
          この内部クラスは個別のシステムフラグを表します。
 
コンストラクタの概要
Flags()
          空の Flags オブジェクトを構築します。
Flags(Flags.Flag flag)
          指定されたシステムフラグで初期化された Flags オブジェクトを構築します。
Flags(Flags flags)
          指定されたフラグで初期化された Flags オブジェクトを構築します。
Flags(String flag)
          指定されたユーザフラグで初期化された Flags オブジェクトを構築します。
 
メソッドの概要
 void add(Flags.Flag flag)
          指定されたシステムフラグをこの Flags オブジェクトに追加します。
 void add(Flags f)
          指定された Flags オブジェクト中の全てのフラグをこの Flags オブジェクトに追加します。
 void add(String flag)
          指定されたユーザフラグをこの Flags オブジェクトに追加します。
 Object clone()
          Flags オブジェクトの複製を返します。
 boolean contains(Flags.Flag flag)
          指定されたシステムフラグがこの Flags オブジェクト中に存在するかどうかを調べます。
 boolean contains(Flags f)
          指定された Flags オブジェクト中の全てのフラグがこの Flags オブジェクト中に存在するかどうかを調べます。
 boolean contains(String flag)
          指定されたユーザフラグがこの Flags オブジェクト中に存在するかどうかを調べます。
 boolean equals(Object obj)
          2 つの Flags オブジェクトが等しいかどうかを調べます。
 Flags.Flag[] getSystemFlags()
          この Flags オブジェクト中の全てのシステムフラグを返します。
 String[] getUserFlags()
          この Flags オブジェクト中の全てのユーザフラグを返します。
 int hashCode()
          この Flags オブジェクトのハッシュコードを計算します。
 void remove(Flags.Flag flag)
          指定されたシステムフラグをこの Flags オブジェクトから削除します。
 void remove(Flags f)
          指定された Flags オブジェクト中の全てのフラグをこの Flags オブジェクトから削除します。
 void remove(String flag)
          指定されたユーザフラグをこの Flags オブジェクトから削除します。
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Flags

public Flags()
空の Flags オブジェクトを構築します。


Flags

public Flags(Flags flags)
指定されたフラグで初期化された Flags オブジェクトを構築します。

パラメータ:
flags - 初期化のためのフラグ

Flags

public Flags(Flags.Flag flag)
指定されたシステムフラグで初期化された Flags オブジェクトを構築します。

パラメータ:
flag - 初期化のためのフラグ

Flags

public Flags(String flag)
指定されたユーザフラグで初期化された Flags オブジェクトを構築します。

パラメータ:
flag - 初期化のためのフラグ
メソッドの詳細

add

public final void add(Flags.Flag flag)
指定されたシステムフラグをこの Flags オブジェクトに追加します。

パラメータ:
flag - 追加するフラグ

add

public final void add(String flag)
指定されたユーザフラグをこの Flags オブジェクトに追加します。

パラメータ:
flag - 追加するフラグ

add

public final void add(Flags f)
指定された Flags オブジェクト中の全てのフラグをこの Flags オブジェクトに追加します。

パラメータ:
f - Flags オブジェクト

remove

public final void remove(Flags.Flag flag)
指定されたシステムフラグをこの Flags オブジェクトから削除します。

パラメータ:
flag - 削除するフラグ

remove

public final void remove(String flag)
指定されたユーザフラグをこの Flags オブジェクトから削除します。

パラメータ:
flag - 削除するフラグ

remove

public final void remove(Flags f)
指定された Flags オブジェクト中の全てのフラグをこの Flags オブジェクトから削除します。

パラメータ:
f - 削除するフラグ

contains

public final boolean contains(Flags.Flag flag)
指定されたシステムフラグがこの Flags オブジェクト中に存在するかどうかを調べます。

戻り値:
指定されたフラグが存在する場合は true、そうでない場合は false

contains

public final boolean contains(String flag)
指定されたユーザフラグがこの Flags オブジェクト中に存在するかどうかを調べます。

戻り値:
指定されたフラグが存在する場合は true、そうでない場合は false

contains

public final boolean contains(Flags f)
指定された Flags オブジェクト中の全てのフラグがこの Flags オブジェクト中に存在するかどうかを調べます。

戻り値:
指定された Flags オブジェクト中の全てのフラグが存在する場合は true、そうでない場合は false

equals

public final boolean equals(Object obj)
2 つの Flags オブジェクトが等しいかどうかを調べます。

オーバーライド:
クラス Object 内の equals
戻り値:
等しい場合は true

hashCode

public final int hashCode()
この Flags オブジェクトのハッシュコードを計算します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
ハッシュコード

getSystemFlags

public final Flags.Flag[] getSystemFlags()
この Flags オブジェクト中の全てのシステムフラグを返します。 フラグが全く設定されていない場合は、サイズ 0 の配列を返します。

戻り値:
システムフラグを表す Flags.Flag オブジェクトの配列

getUserFlags

public final String[] getUserFlags()
この Flags オブジェクト中の全てのユーザフラグを返します。 フラグが全く設定されていない場合は、サイズ 0 の配列を返します。

戻り値:
String の配列。各 String は 1 つのフラグを表します。

clone

public final Object clone()
Flags オブジェクトの複製を返します。

オーバーライド:
クラス Object 内の clone