デコレータの実験を始めたところです。私が見たことのないものの 1 つは、Immutable Forwarding Decorators です。私が取り組んでいるサンプルコードはこちら
デコレータに ImmutableSet を指定できるようですが、ImmutableSet が ForwardingSet の「デリゲート」である場合、コンパイル時の警告は表示されません。
ForwardingSet を拡張して ForwardingImmutableSet を作成し、それをデコレータとして使用する必要がありますか?
誰もこれを試しましたか?
どんなアドバイスも役に立ちます。
上記のコードリンクを使用して、これを試してください:
public void test1()
{
final ImmutableSet<String> stringsA = ImmutableSet.of("A1", "A2", "A3");
final ISetA a = SetA.of(stringsA);
a.add("A0"); // Run-time error
stringsA.add("A0"); // Compile time warning, Run-time error
}
「a.add("A0");」のコンパイル時の警告を確認したいだけです。
もちろん、より制限されたインターフェイスを作成する選択肢があり、そこから始めることもできますが、ForwardingImmutableSet を実行する必要があるかどうかを知りたいのですが、どこから始めればよいでしょうか?