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 com.facebook.swift.codec.ThriftStruct;
009import com.facebook.swift.codec.ThriftField;
010import com.facebook.swift.codec.ThriftField.Requiredness;
011/**
012 * decorator pattern 装饰者模式代理{@link net.gdface.sdk.FInt2}<br>
013 * 代理对象必须有默认构造方法,必须是普通类型,不可以有@ThriftStruct注释<br>
014 * 转发所有{@link net.gdface.sdk.FInt2}get/set方法到{@link #delegate()}指定的实例,<br>
015 * 计算机生成代码(generated by automated tools ThriftServiceDecoratorGenerator @author guyadong)<br>
016 * @author guyadong
017 *
018 */
019@ThriftStruct
020public final class FInt2 implements ThriftDecorator<net.gdface.sdk.FInt2> {
021    private final net.gdface.sdk.FInt2 delegate;
022    
023    public FInt2(){
024        this(new net.gdface.sdk.FInt2());
025    }
026    public FInt2(net.gdface.sdk.FInt2 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.sdk.FInt2}实例
040     * @return
041     */
042    @Override
043    public net.gdface.sdk.FInt2 delegate() {
044        return delegate;
045    }
046    @Override
047    public int hashCode() {
048        return delegate().hashCode();
049    }
050    @Override
051    public boolean equals(Object obj) {
052        return delegate().equals(obj);
053    }
054    @Override
055    public String toString() {
056        return delegate().toString();
057    }
058    @ThriftField(value = 1,name = "x",requiredness=Requiredness.REQUIRED)
059    public int getX(){
060        return delegate().getX();
061    }
062    
063    @ThriftField
064    public void setX(int value){
065        delegate().setX(value);
066    }
067
068    @ThriftField(value = 2,name = "y",requiredness=Requiredness.REQUIRED)
069    public int getY(){
070        return delegate().getY();
071    }
072    
073    @ThriftField
074    public void setY(int value){
075        delegate().setY(value);
076    }
077
078}