001// ______________________________________________________
002// Generated by codegen - https://gitee.com/l0km/codegen 
003// template: thrift/client_thrifty/perstruct/bean.decorator.class.vm
004// ______________________________________________________
005package net.gdface.facedb.decorator.client;
006import net.gdface.thrift.ThriftDecorator;
007import net.gdface.thrift.TypeTransformer;
008import com.facebook.swift.codec.ThriftStruct;
009import com.facebook.swift.codec.ThriftField;
010import com.facebook.swift.codec.ThriftField.Requiredness;
011/**
012 * decorator pattern 装饰者模式client端代理{@link net.gdface.facedb.SearchResult}<br>
013 * 代理对象必须有默认构造方法,必须是普通类型,不可以有@ThriftStruct注释<br>
014 * 转发所有{@link net.gdface.facedb.SearchResult}get/set方法到{@link #delegate()}指定的实例,<br>
015 * 计算机生成代码(generated by automated tools ThriftServiceDecoratorGenerator @author guyadong)<br>
016 * @author guyadong
017 *
018 */
019@ThriftStruct
020public final class SearchResult implements ThriftDecorator<net.gdface.facedb.SearchResult> {
021    private final net.gdface.facedb.SearchResult delegate;
022    
023    public SearchResult(){
024        this(new net.gdface.facedb.SearchResult());
025    }
026    public SearchResult(net.gdface.facedb.SearchResult delegate) {
027        if(null == delegate){
028            throw new NullPointerException("delegate is null");
029        }
030        // 检查被装饰类是否有@ThriftStruct注释
031        if(delegate.getClass().isAnnotationPresent(ThriftStruct.class)){
032            throw new IllegalArgumentException(
033                String.format("NOT ALLOW %s have @ThriftStruct annotation",delegate.getClass().getName()));
034        }
035        this.delegate = delegate;
036    }
037
038    /**
039     * 返回被装饰的{@link net.gdface.facedb.SearchResult}实例
040     */
041    @Override
042    public net.gdface.facedb.SearchResult delegate() {
043        return delegate;
044    }
045    @Override
046    public int hashCode() {
047        return delegate().hashCode();
048    }
049    @Override
050    public boolean equals(Object obj) {
051        return delegate().equals(obj);
052    }
053    @Override
054    public String toString() {
055        return delegate().toString();
056    }
057    @ThriftField(value = 1,requiredness=Requiredness.OPTIONAL)
058    public byte[] getFeatureId(){
059        return delegate().getFeatureId();
060    }
061    
062    @ThriftField
063    public void setFeatureId(byte[] value){
064        delegate().setFeatureId(value);
065    }
066
067    @ThriftField(value = 2,requiredness=Requiredness.OPTIONAL)
068    public String getHexFeatureId(){
069        return delegate().getHexFeatureId();
070    }
071    
072    @ThriftField
073    public void setHexFeatureId(String value){
074        delegate().setHexFeatureId(value);
075    }
076
077    @ThriftField(value = 3,requiredness=Requiredness.OPTIONAL)
078    public String getOwner(){
079        return delegate().getOwner();
080    }
081    
082    @ThriftField
083    public void setOwner(String value){
084        delegate().setOwner(value);
085    }
086
087    @ThriftField(value = 4,requiredness=Requiredness.REQUIRED)
088    public double getSimilarity(){
089        return delegate().getSimilarity();
090    }
091    
092    @ThriftField
093    public void setSimilarity(double value){
094        delegate().setSimilarity(value);
095    }
096
097}