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.Date;
007import net.gdface.facelog.TmpPwdTargetType;
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 装饰者模式client端代理{@link net.gdface.facelog.TmpwdTargetInfo}<br>
015 * 代理对象必须有默认构造方法,必须是普通类型,不可以有@ThriftStruct注释<br>
016 * 转发所有{@link net.gdface.facelog.TmpwdTargetInfo}get/set方法到{@link #delegate()}指定的实例,<br>
017 * 计算机生成代码(generated by automated tools ThriftServiceDecoratorGenerator @author guyadong)<br>
018 * @author guyadong
019 *
020 */
021@ThriftStruct
022public final class TmpwdTargetInfo implements ThriftDecorator<net.gdface.facelog.TmpwdTargetInfo> {
023    private final net.gdface.facelog.TmpwdTargetInfo delegate;
024    
025    public TmpwdTargetInfo(){
026        this(new net.gdface.facelog.TmpwdTargetInfo());
027    }
028    public TmpwdTargetInfo(net.gdface.facelog.TmpwdTargetInfo 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.facelog.TmpwdTargetInfo}实例
042     * @return
043     */
044    @Override
045    public net.gdface.facelog.TmpwdTargetInfo 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,requiredness=Requiredness.OPTIONAL)
061    public Long getExpiryDate(){
062        return TypeTransformer.getInstance().to(
063                    delegate().getExpiryDate(),
064                    Date.class,
065                    Long.class);
066    }
067    
068    @ThriftField
069    public void setExpiryDate(Long value){
070        delegate().setExpiryDate(TypeTransformer.getInstance().to(
071                    value,
072                    Long.class,
073                    Date.class));
074    }
075
076    @ThriftField(value = 2,requiredness=Requiredness.REQUIRED)
077    public int getTargetId(){
078        return delegate().getTargetId();
079    }
080    
081    @ThriftField
082    public void setTargetId(int value){
083        delegate().setTargetId(value);
084    }
085
086    @ThriftField(value = 3,requiredness=Requiredness.OPTIONAL)
087    public net.gdface.facelog.client.thrift.TmpPwdTargetType getTargetType(){
088        return TypeTransformer.getInstance().to(
089                    delegate().getTargetType(),
090                    TmpPwdTargetType.class,
091                    net.gdface.facelog.client.thrift.TmpPwdTargetType.class);
092    }
093    
094    @ThriftField
095    public void setTargetType(net.gdface.facelog.client.thrift.TmpPwdTargetType value){
096        delegate().setTargetType(TypeTransformer.getInstance().to(
097                    value,
098                    net.gdface.facelog.client.thrift.TmpPwdTargetType.class,
099                    TmpPwdTargetType.class));
100    }
101
102}