2016-06-22 3 views
3

私はimmutablesを私のDTOオブジェクトにしたいと思っています。そのためには、http://immutables.github.io/を使用します。Immutableライブラリの使用方法<T>

私は次のレガシー階層があります。下位互換性を保つため

public interface Interface1 extends Serializable{ 
    public void method1(); 
} 

public interface Interface2<T> extends Interface1{ 
    public void method2(); 
} 

public class Implementation1<T> implements Interface2<T>{ 
    public void method1(){ } 

    public void method2(){ 
     return null; 
    } 
} 

を、私は下記のように、新しいインタフェースと実装をimeplementsたい:

@Value.Immutable 
public Interface3<T> extends Interface2<T>{ 
    public void method3(); 
} 

するImmutableInterface3クラスを生成する必要がありますビルダーを入手して、クラスの実装を構築することができます。

問題は、私は次のステートメントを使用することができないということです。

Interface3<Object> immutableImplementationOfInterface3 = ImmutableInterface3<Object>.builder().build(); 

は、この溶液中に問題はありませんか?

+0

なぜあなたは、そのステートメントを使用することはできませんか?クラスは存在しないのですか?メソッドは存在しないのでしょうか? – ipsi

+0

私はただソリューションを投稿します。ご協力いただきありがとうございます。 –

答えて

2

解決策は以下のとおりです。

Interface3<Object> immutableImplementationOfInterface3 = ImmutableInterface3.<Object> builder().build(); 
関連する問題