class ServiceImpl extends AbstractContract implements Service {

    private final Object target;

    public ServiceImpl(String uniqueId, Class<?> interfaceType, Object target) {
        super(uniqueId, interfaceType);
        this.target = target;
    }

    public ServiceImpl(String uniqueId, Class<?> interfaceType, InterfaceMode interfaceMode,
                       Object target) {
        super(uniqueId, interfaceType, interfaceMode);
        this.target = target;
    }

    public ServiceImpl(String uniqueId, Class<?> interfaceType, InterfaceMode interfaceMode,
                       Object target, Map<String, String> property) {
        super(uniqueId, interfaceType, interfaceMode, property);
        this.target = target;
    }

    @Override
    public Object getTarget() {
        return target;
    }

    @Override
    public void setUniqueId(String uniqueId) {
        this.uniqueId = uniqueId;
    }

    @Override
    public String toString() {<FILL_FUNCTION_BODY>}
}

        return this.getInterfaceType().getName()
               + (StringUtils.hasText(uniqueId) ? ":" + uniqueId : "");
    
<methods>public void addBinding(T) ,public void addBinding(Set<T>) ,public com.alipay.sofa.runtime.spi.binding.Binding getBinding(com.alipay.sofa.runtime.api.binding.BindingType) ,public Set<com.alipay.sofa.runtime.spi.binding.Binding> getBindings() ,public com.alipay.sofa.runtime.model.InterfaceMode getInterfaceMode() ,public Class<?> getInterfaceType() ,public java.lang.String getInterfaceTypeCanonicalName() ,public java.lang.String getProperty(java.lang.String) ,public Map<java.lang.String,java.lang.String> getProperty() ,public java.lang.String getUniqueId() ,public boolean hasBinding() <variables>protected Set<com.alipay.sofa.runtime.spi.binding.Binding> bindings,protected com.alipay.sofa.runtime.model.InterfaceMode interfaceMode,protected Class<?> interfaceType,protected java.lang.String interfaceTypeCanonicalName,protected Map<java.lang.String,java.lang.String> property,protected java.lang.String uniqueId