モジュール java.base
パッケージ java.io

クラスObjectInputFilter.Config

java.lang.Object
java.io.ObjectInputFilter.Config
含まれているインタフェース:
ObjectInputFilter

public static final class ObjectInputFilter.Config extends Object
JVM全体の直列化復元フィルタ・ファクトリを設定および取得するユーティリティ・クラス、静的なJVM全体のフィルタ、またはパターン文字列からフィルタを作成するユーティリティ・クラス。 静的フィルタ・ファクトリおよび静的フィルタはJavaランタイム全体に適用されるか、"JVM-wide"はそれぞれ1つのみ存在します。 関数の詳細は、ObjectInputFilterを参照してください。

JVM全体の直列化復元フィルタ・ファクトリおよび静的JVM全体のフィルタは、ObjectInputFilter.Configクラスの初期化中にシステム・プロパティから構成できます。

Java仮想マシンがシステム・プロパティjdk.serialFilterで起動される場合、その値を使用してフィルタが構成されます。 システム・プロパティが定義されておらず、Securityプロパティjdk.serialFilterが定義されている場合は、フィルタの構成に使用されます。 フィルタは、createFilterがコールされるかのように作成されます。フィルタ文字列が無効な場合、初期化が失敗し、その後の「フィルタの取得」「フィルタの設定」の試行、またはObjectInputStreamの作成でIllegalStateExceptionがスローされます。 無効なシリアル・フィルタでは直列化復元できません。 システム・プロパティjdk.serialFilterまたはSecurityプロパティjdk.serialFilterが設定されていない場合、フィルタはConfig.setSerialFilterで設定できます。 jdk.serialFilterSystem.setProperty 「フィルタが設定されていません」に設定します。 プロパティ値の構文は、createFilterメソッドの場合と同じです。

Java仮想マシンが同じ名前のシステム・プロパティjdk.serialFilterFactoryまたはSecurityプロパティを使用して起動された場合、その値には、JVM全体の直列化復元フィルタ・ファクトリを構成するためにクラスが指定されます。 システム・プロパティが定義されておらず、Securityプロパティjdk.serialFilterFactoryが定義されている場合は、フィルタ・ファクトリの構成に使用されます。 設定されていない場合、フィルタ・ファクトリは、以前のバージョンと互換性のある組込みフィルタ・ファクトリです。

クラスはpublicで、0引数のパブリック・コンストラクタが必要です。BinaryOperator<ObjectInputFilter>インタフェースを実装し、実装を提供して、「アプリケーション・クラス・ローダー」を介してアクセスできます。 フィルタ・ファクトリ・コンストラクタが「ファクトリを取得」「ファクトリを設定」への後続の試行に正常に起動されない場合、またはObjectInputStreamの作成でIllegalStateExceptionがスローされます。 無効なシリアル・フィルタ・ファクトリでは直列化復元できません。 初期化中にシステムまたはセキュリティ・プロパティを使用して構成されたフィルタ・ファクトリは、Config.setSerialFilterFactoryに置き換えることはできません。 これにより、コマンド行に設定されているフィルタ・ファクトリが、誤って、または意図的にアプリケーションによって上書きされないことが保証されます。

jdk.serialFilterFactorySystem.setPropertyと設定しても、「フィルタ・ファクトリを設定しません」 システム・プロパティ値とセキュリティ・プロパティ値の構文は、直列化復元フィルタ・ファクトリの完全修飾クラス名です。

導入されたバージョン:
9