クラス LdifParser

java.lang.ObjectSE
org.springframework.ldap.ldif.parser.LdifParser
実装されたすべてのインターフェース:
org.springframework.beans.factory.InitializingBeanParser

public class LdifParser extends ObjectSE implements Parser, org.springframework.beans.factory.InitializingBean
LdifParser は、org.springframework.ldap.ldif パッケージのメインクラスです。このクラスはリソースから行を読み取り、LdapAttributes オブジェクトにアセンブルします。LdifParser は、アプリケーションのコンテキストでの有用性がまだ決定されていないため、changetype LDIF エントリを無視します。

デザイン
LdifParser は操作のためのメインインターフェースを提供しますが、操作を可能にするために 3 つのサポートクラスが必要です。

  • SeparatorPolicy - 行を属性に組み立てるメカニズムを確立します。
  • AttributeValidationPolicy - 解析する前に属性が正しく構造化されていることを確認します。
  • Specification - アセンブリ後にオブジェクト構造を検証できるメカニズムを提供します。
これら 4 つのクラスは連携して、リソースから 1 行ずつ読み取り、データを使用するオブジェクトに変換します。

使用箇所
getRecord() は、リソースから次に使用可能なレコードを読み取ります。行が読み取られ、解釈のために SeparatorPolicy に渡されます。パーサーは行の読み取りを続け、新しい属性の開始またはレコードの終わりの区切り文字に到達するまで、それらの行をバッファーに追加します。新しい属性またはレコードの終わりに遭遇すると、バッファーが AttributeValidationPolicy に渡され、バッファーが RFC2849 で定義されている有効な属性定義に準拠していることが確認され、レコードに追加される LdapAttribute オブジェクト (LdapAttributes オブジェクト) が返されます。レコードの終わりに達すると、レコードは Specification ポリシーによって検証され、有効であればリクエスト者に返されます。

NOTE: デフォルトでは、オブジェクトは検証されません。検証が必要な場合は、適切な仕様オブジェクトを設定する必要があります。

パーサーは、getRecord() を呼び出す前に、リソースが open() であることを必要とします。hasMoreRecords() を使用すると、すべてのレコードが取得されるまでリソースをループできます。同様に、reset() メソッドはリソースをリセットします。

AttributesSE インターフェースを実装するオブジェクトは、オブジェクトの属性 ID で大文字と小文字を区別するかどうかを制御する大文字と小文字の区別設定をサポートする必要があります。LdifParser の caseInsensitive 設定は、作成された AttributesSE のコンストラクターに渡されます。この設定のデフォルト値は true なので、大文字と小文字を区別しないオブジェクトが作成されます。

  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
    デフォルトコンストラクター。
    LdifParser(boolean caseInsensitive)
    指定された大文字と小文字の区別設定を使用して LdifParser を作成します。
    コンビニエンスコンストラクター: File オブジェクトを受け入れます。
    LdifParser(org.springframework.core.io.Resource resource)
    リソース仕様のための便利なコンストラクター。
    LdifParser(org.springframework.core.io.Resource resource, boolean caseInsensitive)
    指定された大文字と小文字の区別設定を使用して、指定されたリソースの LdifParser を作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    void
    解析後にリソースを閉じます。
    リソースから次のレコードを解析します。
    boolean
    リソースにさらにレコードが含まれている場合は True。それ以外の場合は false。
    boolean
    パーサーが結果を返す準備ができているかどうかを示します。
    void
    リソースを開く: 解析する前にリソースを開く必要があります。
    void
    行読み取りパーサーをリセットします。
    void
    許容可能な属性のルールを強制するポリシーオブジェクト。
    void
    setCaseInsensitive(boolean caseInsensitive)
    AttributesSE オブジェクトの作成時に大文字と小文字の区別を指定するための制御パラメーターを設定します。
    void
    許容可能な LDAP オブジェクトにルールを適用するためのポリシーオブジェクト。
    void
    setResource(org.springframework.core.io.Resource resource)
    解析するリソースを設定します。
    void
    区切り文字ポリシーを設定します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • LdifParser

      public LdifParser()
      デフォルトコンストラクター。
    • LdifParser

      public LdifParser(boolean caseInsensitive)
      指定された大文字と小文字の区別設定を使用して LdifParser を作成します。
      パラメーター:
      caseInsensitive - パーサーによって返される LdapAttributes オブジェクトの大文字と小文字の区別設定。
    • LdifParser

      public LdifParser(org.springframework.core.io.Resource resource, boolean caseInsensitive)
      指定された大文字と小文字の区別設定を使用して、指定されたリソースの LdifParser を作成します。
      パラメーター:
      resource - 解析するリソース。
      caseInsensitive - パーサーによって返される LdapAttributes オブジェクトの大文字と小文字の区別設定。
    • LdifParser

      public LdifParser(org.springframework.core.io.Resource resource)
      リソース仕様のための便利なコンストラクター。
      パラメーター:
      resource - 解析するリソース。
    • LdifParser

      public LdifParser(FileSE file)
      コンビニエンスコンストラクター: File オブジェクトを受け入れます。
      パラメーター:
      file - 解析するファイル。
  • メソッドの詳細

    • setSeparatorPolicy

      public void setSeparatorPolicy(SeparatorPolicy separatorPolicy)
      区切り文字ポリシーを設定します。デフォルトの区切り文字ポリシーは、ほとんどのニーズに十分対応できます。
      パラメーター:
      separatorPolicy - 区切り記号ポリシー。
    • setAttributeValidationPolicy

      public void setAttributeValidationPolicy(AttributeValidationPolicy avPolicy)
      許容可能な属性のルールを強制するポリシーオブジェクト。
      パラメーター:
      avPolicy - 属性検証ポリシー。
    • setRecordSpecification

      public void setRecordSpecification(Specification<LdapAttributes> specification)
      許容可能な LDAP オブジェクトにルールを適用するためのポリシーオブジェクト。このポリシーは、スキーマ制限を強制するために使用できます。
      パラメーター:
      specification -
    • setResource

      public void setResource(org.springframework.core.io.Resource resource)
      インターフェースからコピーされた説明: Parser
      解析するリソースを設定します。
      次で指定:
      インターフェース ParsersetResource 
      パラメーター:
      resource - 解析するリソース。
    • setCaseInsensitive

      public void setCaseInsensitive(boolean caseInsensitive)
      インターフェースからコピーされた説明: Parser
      AttributesSE オブジェクトの作成時に大文字と小文字の区別を指定するための制御パラメーターを設定します。
      次で指定:
      インターフェース ParsersetCaseInsensitive 
      パラメーター:
      caseInsensitive - 解析するリソース。
    • open

      public void open() throws IOExceptionSE
      インターフェースからコピーされた説明: Parser
      リソースを開く: 解析する前にリソースを開く必要があります。
      次で指定:
      インターフェース Parseropen 
      例外:
      IOExceptionSE - リソースを開こうとしているときに問題が発生した場合。
    • isReady

      public boolean isReady() throws IOExceptionSE
      インターフェースからコピーされた説明: Parser
      パーサーが結果を返す準備ができているかどうかを示します。
      次で指定:
      インターフェース ParserisReady 
      戻り値:
      ブールインジケーター
      例外:
      IOExceptionSE - 基になるリソースに問題がある場合。
    • close

      public void close() throws IOExceptionSE
      インターフェースからコピーされた説明: Parser
      解析後にリソースを閉じます。
      次で指定:
      インターフェース Parserclose 
      例外:
      IOExceptionSE - リソースを閉じようとしているときに問題が発生した場合。
    • reset

      public void reset() throws IOExceptionSE
      インターフェースからコピーされた説明: Parser
      行読み取りパーサーをリセットします。
      次で指定:
      インターフェース Parserreset 
      例外:
      IOExceptionSE - リソースのリセット中に問題が発生した場合。
    • hasMoreRecords

      public boolean hasMoreRecords() throws IOExceptionSE
      インターフェースからコピーされた説明: Parser
      リソースにさらにレコードが含まれている場合は True。それ以外の場合は false。
      次で指定:
      インターフェース ParserhasMoreRecords 
      戻り値:
      レコードの終わりに達したかどうかを示すブール値。
      例外:
      IOExceptionSE - リソースの準備ができていることを検証しようとしているときに問題が発生した場合。
    • getRecord

      public LdapAttributes getRecord() throws IOExceptionSE
      インターフェースからコピーされた説明: Parser
      リソースから次のレコードを解析します。
      次で指定:
      インターフェース ParsergetRecord 
      戻り値:
      解析されたレコードを表す LdapAttributes オブジェクト。
      例外:
      IOExceptionSE - リソースからの読み取り中に問題が発生した場合。
    • afterPropertiesSet

      public void afterPropertiesSet() throws ExceptionSE
      次で指定:
      インターフェース org.springframework.beans.factory.InitializingBeanafterPropertiesSet 
      例外:
      ExceptionSE