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