パッケージ jakarta.mail

クラス Store

実装されているすべてのインターフェース:
AutoCloseableSE

public abstract class Store extends Service
メッセージを格納および取得するための、メッセージストアとそのアクセスプロトコルをモデル化する抽象クラス。サブクラスは実際の実装を提供します。

Store は Service クラスを継承することに注意してください。これは、ストアの命名、ストアへの接続、接続イベントのリスニングのための多くの一般的なメソッドを提供します。

作成者:
John Mani, Bill Shannon
関連事項:
  • コンストラクターの詳細

    • Store

      protected Store(Session session, URLName urlname)
      コンストラクター。
      パラメーター:
      session - このストアのセッションオブジェクト。
      urlname - このストアに使用される URLName オブジェクト
  • メソッドの詳細

    • getDefaultFolder

      public abstract Folder getDefaultFolder() throws MessagingException
      ストアによってユーザーに提示されるデフォルト名前空間の「ルート」を表す Folder オブジェクトを返します。
      戻り値:
      ルートフォルダー
      例外:
      IllegalStateExceptionSE - このストアが接続されていない場合。
      MessagingException - その他の障害の場合
    • getFolder

      public abstract Folder getFolder(StringSE name) throws MessagingException
      指定された名前に対応する Folder オブジェクトを返します。指定されたフォルダーが物理的にストアに存在しない場合でも、Folder オブジェクトが返されることに注意してください。フォルダーオブジェクトの exists() メソッドは、このフォルダーが実際に存在するかどうかを示します。

      Folder オブジェクトは Store によってキャッシュされないため、同じ名前でこのメソッドを複数回呼び出すと、その多くの異なる Folder オブジェクトが返されます。

      パラメーター:
      name - フォルダーの名前。一部のストアでは、階層区切り文字で始まる場合、名前は絶対パスにすることができます。それ以外の場合は、この名前空間の「ルート」に関連して解釈されます。
      戻り値:
      フォルダーオブジェクト
      例外:
      IllegalStateExceptionSE - このストアが接続されていない場合。
      MessagingException - その他の障害の場合
      関連事項:
    • getFolder

      public abstract Folder getFolder(URLName url) throws MessagingException
      指定された URLName に対応する閉じた Folder オブジェクトを返します。指定された URLName で指定されたストアは、この Store オブジェクトを参照する必要があります。

      このメソッドの実装は、URLName の getFile() メソッドを使用して実際のフォルダーの名前を取得し、その名前を使用してフォルダーを作成します。

      パラメーター:
      url - フォルダーを示す URLName
      戻り値:
      フォルダーオブジェクト
      例外:
      IllegalStateExceptionSE - このストアが接続されていない場合。
      MessagingException - その他の障害の場合
      関連事項:
    • getPersonalNamespaces

      public Folder[] getPersonalNamespaces() throws MessagingException
      現在のユーザーの個人用名前空間を表す一連のフォルダーを返します。個人の名前空間は、認証されたユーザーの個人の範囲内と見なされる名前のセットです。通常、認証されたユーザーのみが個人の名前空間のメールフォルダーにアクセスできます。ユーザーの INBOX が存在する場合は、ユーザーの個人の名前空間内に表示される必要があります。一般的なケースでは、各ストアの各ユーザーに対して 1 つの個人用ネームスペースのみが存在する必要があります。

      この実装は、getDefaultFolder メソッドの戻り値を含む単一のエントリを持つ配列を返します。サブクラスは、このメソッドをオーバーライドして適切な情報を返す必要があります。

      戻り値:
      Folder オブジェクトの配列
      例外:
      IllegalStateExceptionSE - このストアが接続されていない場合。
      MessagingException - その他の障害の場合
      導入:
      JavaMail 1.2
    • getUserNamespaces

      public Folder[] getUserNamespaces(StringSE user) throws MessagingException
      user の名前空間を表す一連のフォルダーを返します。返される名前空間は、ユーザーの個人の名前空間を表します。他のユーザーのネームスペースにあるメールフォルダーにアクセスするには、現在認証されているユーザーにアクセス権を明示的に付与する必要があります。例: 管理者が秘書にメールフォルダーへのアクセス権を付与することは一般的です。

      この実装は空の配列を返します。サブクラスは、このメソッドをオーバーライドして適切な情報を返す必要があります。

      パラメーター:
      user - ユーザー名
      戻り値:
      Folder オブジェクトの配列
      例外:
      IllegalStateExceptionSE - このストアが接続されていない場合。
      MessagingException - その他の障害の場合
      導入:
      JavaMail 1.2
    • getSharedNamespaces

      public Folder[] getSharedNamespaces() throws MessagingException
      共有名前空間を表す一連のフォルダーを返します。共有名前空間は、ユーザー間で共有することを目的としたメールフォルダーで構成される名前空間であり、ユーザーの個人用名前空間内には存在しません。

      この実装は空の配列を返します。サブクラスは、このメソッドをオーバーライドして適切な情報を返す必要があります。

      戻り値:
      Folder オブジェクトの配列
      例外:
      IllegalStateExceptionSE - このストアが接続されていない場合。
      MessagingException - その他の障害の場合
      導入:
      JavaMail 1.2
    • addStoreListener

      public void addStoreListener(StoreListener l)
      このストアに StoreEvents のリスナーを追加します。

      ここで提供されるデフォルトの実装は、このリスナーを StoreListeners の内部リストに追加します。

      パラメーター:
      l - Store イベントのリスナー
      関連事項:
    • removeStoreListener

      public void removeStoreListener(StoreListener l)
      Store イベントのリスナーを削除します。

      ここで提供されるデフォルトの実装は、このリスナーを StoreListeners の内部リストから削除します。

      パラメーター:
      l - リスナー
      関連事項:
    • notifyStoreListeners

      protected void notifyStoreListeners(int type, StringSE message)
      すべての StoreListeners に通知します。ストアの実装では、このメソッドを使用して StoreEvents をブロードキャストする必要があります。

      提供されているデフォルトの実装は、イベントを内部イベントキューに入れます。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された StoreListeners にディスパッチします。イベントのディスパッチは別のスレッドで行われるため、潜在的なデッドロックの問題を回避できることに注意してください。

      パラメーター:
      type - StoreEvent 型
      message - StoreEvent へのメッセージ
    • addFolderListener

      public void addFolderListener(FolderListener l)
      このストアから取得した任意の Folder オブジェクトの Folder イベントのリスナーを追加します。FolderEvents は、影響を受けるフォルダーの FolderListeners と、含まれているストアの FolderListeners に配信されます。

      ここで提供されるデフォルトの実装は、このリスナーを FolderListeners の内部リストに追加します。

      パラメーター:
      l - Folder イベントのリスナー
      関連事項:
    • removeFolderListener

      public void removeFolderListener(FolderListener l)
      Folder イベントのリスナーを削除します。

      ここで提供されるデフォルトの実装は、このリスナーを FolderListeners の内部リストから削除します。

      パラメーター:
      l - リスナー
      関連事項:
    • notifyFolderListeners

      protected void notifyFolderListeners(int type, Folder folder)
      すべての FolderListeners に通知します。Store 実装は、このメソッドを使用して Folder イベントをブロードキャストすることが期待されています。

      提供されているデフォルトの実装は、イベントを内部イベントキューに入れます。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された FolderListeners にディスパッチします。イベントのディスパッチは別のスレッドで行われるため、潜在的なデッドロックの問題を回避できることに注意してください。

      パラメーター:
      type - FolderEvent の型
      folder - 影響を受けるフォルダー
      関連事項:
    • notifyFolderRenamedListeners

      protected void notifyFolderRenamedListeners(Folder oldF, Folder newF)
      フォルダーの名前変更についてすべての FolderListeners に通知します。Store 実装は、このメソッドを使用して、フォルダーの名前の変更を示す Folder イベントをブロードキャストする必要があります。

      提供されているデフォルトの実装は、イベントを内部イベントキューに入れます。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された FolderListeners にディスパッチします。イベントのディスパッチは別のスレッドで行われるため、潜在的なデッドロックの問題を回避できることに注意してください。

      パラメーター:
      oldF - 名前を変更するフォルダー
      newF - 新しい名前を表すフォルダー。
      導入:
      JavaMail 1.1