代码之家  ›  专栏  ›  技术社区  ›  Mohamed Taboubi

如何在手动声明外部客户端时强制方法

  •  0
  • Mohamed Taboubi  · 技术社区  · 5 年前

    我已经申报了几个外国客户。

    public interface AddressClient{
    
      @RequestLine("GET addresses")
      public AddressResponse get();
    
      @RequestLine("POST /api/addresses")
      public AddressResponse add(String json);
    
      @RequestLine("PUT addresses")
      public AddressResponse update(String json);
    
      @RequestLine("DELETE /api/addresses")
      public AddressResponse delete(String json);
    
    }
    

    我有几个声明相同方法(get、add、put、post)。

    我试图实现一个工厂模式,以链接一个特定的类到一个特定的外国客户机。这种方式:

    public Object getClient(Object obj) {
    
            if (checkClassType(obj, Individual.class)) {
                return individualRestClient;
            } else if (checkClassType(obj, Address.class)) {
                return addressRestClient;
            } else 
                return null;
            }
        }
    
        private boolean checkClassType(Object obj, Class clazz) {
            return obj.getClass().equals(clazz);
        }
    

    我想从我的工厂类返回我需要的客户,我将能够调用metods获取,放置,张贴和删除它。。。

    我的第一个问题是,我找不到一个解决方案返回一个类型的外国客户。实际上我正在返回对象(getClient(Object obj))。。

    我的第二个问题是如何告诉我的工厂调用常用方法。。实际上它们都是接口而不是类。。一个接口不能实现另一个接口。。

    0 回复  |  直到 5 年前
    推荐文章