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