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