パターンを使用したカスタム・フィルタの設定
単純なケースに役立つパターン・ベースのカスタム・フィルタは、ObjectInputFilter.Config.createFilterメソッドを使用して作成できます。システム・プロパティまたはセキュリティ・プロパティとしてパターン・ベースのフィルタを作成できます。メソッドまたはラムダ式としてパターン・ベースのフィルタを実装すると、柔軟性が向上します。
フィルタ・パターンはクラス、パッケージおよびモジュールの特定の名前を受け入れたり、拒否でき、配列サイズ、グラフ深度、合計参照およびストリーム・サイズに制限を設定できます。パターンは、クラスのスーパータイプまたはインタフェースの名前と一致させることができません。
次の例では、フィルタは
example.File
クラスを許可し、example.Directory
を拒否します。ObjectInputFilter filesOnlyFilter =
ObjectInputFilter.Config.createFilter("example.File;!example.Directory");
この例では、
example.File
のみを許可します。他のすべてのクラス名は拒否されます。ObjectInputFilter filesOnlyFilter =
ObjectInputFilter.Config.createFilter("example.File;!*");