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 java.nio.ByteBuffer;
008import net.gdface.thrift.ThriftDecorator;
009import net.gdface.thrift.TypeTransformer;
010import com.facebook.swift.codec.ThriftStruct;
011import com.facebook.swift.codec.ThriftField;
012import com.facebook.swift.codec.ThriftField.Requiredness;
013/**
014 * decorator pattern 装饰者模式代理{@link net.gdface.sdk.CodeInfo}<br>
015 * 代理对象必须有默认构造方法,必须是普通类型,不可以有@ThriftStruct注释<br>
016 * 转发所有{@link net.gdface.sdk.CodeInfo}get/set方法到{@link #delegate()}指定的实例,<br>
017 * 计算机生成代码(generated by automated tools ThriftServiceDecoratorGenerator @author guyadong)<br>
018 * @author guyadong
019 *
020 */
021@ThriftStruct
022public final class CodeInfo implements ThriftDecorator<net.gdface.sdk.CodeInfo> {
023    private final net.gdface.sdk.CodeInfo delegate;
024    
025    public CodeInfo(){
026        this(new net.gdface.sdk.CodeInfo());
027    }
028    public CodeInfo(net.gdface.sdk.CodeInfo delegate) {
029        if(null == delegate){
030            throw new NullPointerException("delegate is null");
031        }
032        // 检查被装饰类是否有@ThriftStruct注释
033        if(delegate.getClass().isAnnotationPresent(ThriftStruct.class)){
034            throw new IllegalArgumentException(
035                String.format("NOT ALLOW %s have @ThriftStruct annotation",delegate.getClass().getName()));
036        }
037        this.delegate = delegate;
038    }
039
040    /**
041     * 返回被装饰的{@link net.gdface.sdk.CodeInfo}实例
042     * @return
043     */
044    @Override
045    public net.gdface.sdk.CodeInfo delegate() {
046        return delegate;
047    }
048    @Override
049    public int hashCode() {
050        return delegate().hashCode();
051    }
052    @Override
053    public boolean equals(Object obj) {
054        return delegate().equals(obj);
055    }
056    @Override
057    public String toString() {
058        return delegate().toString();
059    }
060    @ThriftField(value = 1,name = "angle",requiredness=Requiredness.OPTIONAL)
061    public FAngle getAngle(){
062        return TypeTransformer.getInstance().to(
063                    delegate().getAngle(),
064                    net.gdface.sdk.FAngle.class,
065                    FAngle.class);
066    }
067    
068    @ThriftField
069    public void setAngle(FAngle value){
070        delegate().setAngle(TypeTransformer.getInstance().to(
071                    value,
072                    FAngle.class,
073                    net.gdface.sdk.FAngle.class));
074    }
075
076    @ThriftField(value = 2,name = "code",requiredness=Requiredness.OPTIONAL)
077    public ByteBuffer getCode(){
078        return TypeTransformer.getInstance().to(
079                    delegate().getCode(),
080                    byte[].class,
081                    ByteBuffer.class);
082    }
083    
084    @ThriftField
085    public void setCode(ByteBuffer value){
086        delegate().setCode(TypeTransformer.getInstance().to(
087                    value,
088                    ByteBuffer.class,
089                    byte[].class));
090    }
091
092    @ThriftField(value = 3,name = "ei",requiredness=Requiredness.OPTIONAL)
093    public EyeInfo getEi(){
094        return TypeTransformer.getInstance().to(
095                    delegate().getEi(),
096                    net.gdface.sdk.EyeInfo.class,
097                    EyeInfo.class);
098    }
099    
100    @ThriftField
101    public void setEi(EyeInfo value){
102        delegate().setEi(TypeTransformer.getInstance().to(
103                    value,
104                    EyeInfo.class,
105                    net.gdface.sdk.EyeInfo.class));
106    }
107
108    @ThriftField(value = 4,name = "facialData",requiredness=Requiredness.OPTIONAL)
109    public ByteBuffer getFacialData(){
110        return TypeTransformer.getInstance().to(
111                    delegate().getFacialData(),
112                    byte[].class,
113                    ByteBuffer.class);
114    }
115    
116    @ThriftField
117    public void setFacialData(ByteBuffer value){
118        delegate().setFacialData(TypeTransformer.getInstance().to(
119                    value,
120                    ByteBuffer.class,
121                    byte[].class));
122    }
123
124    @ThriftField(value = 5,name = "mouth",requiredness=Requiredness.OPTIONAL)
125    public FInt2 getMouth(){
126        return TypeTransformer.getInstance().to(
127                    delegate().getMouth(),
128                    net.gdface.sdk.FInt2.class,
129                    FInt2.class);
130    }
131    
132    @ThriftField
133    public void setMouth(FInt2 value){
134        delegate().setMouth(TypeTransformer.getInstance().to(
135                    value,
136                    FInt2.class,
137                    net.gdface.sdk.FInt2.class));
138    }
139
140    @ThriftField(value = 6,name = "nose",requiredness=Requiredness.OPTIONAL)
141    public FInt2 getNose(){
142        return TypeTransformer.getInstance().to(
143                    delegate().getNose(),
144                    net.gdface.sdk.FInt2.class,
145                    FInt2.class);
146    }
147    
148    @ThriftField
149    public void setNose(FInt2 value){
150        delegate().setNose(TypeTransformer.getInstance().to(
151                    value,
152                    FInt2.class,
153                    net.gdface.sdk.FInt2.class));
154    }
155
156    @ThriftField(value = 7,name = "offset",requiredness=Requiredness.OPTIONAL)
157    public FInt2 getOffset(){
158        return TypeTransformer.getInstance().to(
159                    delegate().getOffset(),
160                    net.gdface.sdk.FInt2.class,
161                    FInt2.class);
162    }
163    
164    @ThriftField
165    public void setOffset(FInt2 value){
166        delegate().setOffset(TypeTransformer.getInstance().to(
167                    value,
168                    FInt2.class,
169                    net.gdface.sdk.FInt2.class));
170    }
171
172    @ThriftField(value = 8,name = "pos",requiredness=Requiredness.OPTIONAL)
173    public FRect getPos(){
174        return TypeTransformer.getInstance().to(
175                    delegate().getPos(),
176                    net.gdface.sdk.FRect.class,
177                    FRect.class);
178    }
179    
180    @ThriftField
181    public void setPos(FRect value){
182        delegate().setPos(TypeTransformer.getInstance().to(
183                    value,
184                    FRect.class,
185                    net.gdface.sdk.FRect.class));
186    }
187
188}