私が取り組んでいる実装については、ちょっと混乱しています。これは私が呼び出すと思われるメソッドです
<I, O, T> T post(String url, I data, ContentBuilder<I, HttpEntity> contentBuilder, ResponseHandler<? extends T> responseHandler);
ここで、ContentBuilderとresponsehandlerに使用されるクラスをいくつか作成する必要があります。注目すべきはリターンタイプTです。
抽象クラスWSResponse
を作成し、それを拡張しMyWSResponse
て、応答ハンドラーが次のようになるようにしました。
ResponseHandler <WSResponse> rh = new MyWSResponse();
このpostメソッドを呼び出しているメソッドにはこのシグネチャがあります
public interface GPCl{
public <T> T callPost (String data)
}
..。
public <T> T callPost(String data){
HttpWebServiceClient client = getHttpWSClient();
ContentBuilder<String, HttpEntity> contentBuilder = new MyXMLBuilder();
ResponseHandler<WSResponse> rh= new MyWSResponse();
WSResponse wsResponse = client.post("", data, contentBuilder, rh);
return (T)wsResponse;
}
今、私はこのメソッドの戻り型で混乱しています。それはTか何か他のもののままでしょうか?TからWSResponsに変更すると、メソッドを実装していないというエラーが表示されますcallPost
。
メソッドcallPost
は次のように呼び出されています
GPClient cl = new GPClient(myhttpParams);
cl.callPost(d)
PS:ジェネリック医薬品を扱うのはこれが初めてです