001// ______________________________________________________
002// Generated by codegen - https://gitee.com/l0km/codegen 
003// template: thrift/client_thrifty/perstruct/exception.decorator.class.vm
004// ______________________________________________________
005package net.gdface.facelog.decorator.client;
006import net.gdface.facelog.ServiceSecurityException.SecurityExceptionType;
007import net.gdface.thrift.ThriftDecorator;
008import net.gdface.thrift.TypeTransformer;
009import net.gdface.thrift.exception.BaseServiceException;
010
011import java.io.PrintStream;
012import java.io.PrintWriter;
013import com.facebook.swift.codec.ThriftStruct;
014import com.facebook.swift.codec.ThriftField;
015import com.facebook.swift.codec.ThriftField.Requiredness;
016import static com.google.common.base.Preconditions.checkNotNull;
017
018/**
019 * decorator pattern 装饰者模式代理{@link net.gdface.facelog.ServiceSecurityException}<br>
020 * 代理对象必须有默认构造方法,String参数构造方法可选,必须是普通类型,不可以有@ThriftStruct注释<br>
021 * 转发所有{@link net.gdface.facelog.ServiceSecurityException}get/set方法到{@link #delegate()}指定的实例,<br>
022 * 计算机生成代码(generated by automated tools ThriftServiceDecoratorGenerator @author guyadong)<br>
023 * @author guyadong
024 *
025 */
026@ThriftStruct
027public final class ServiceSecurityException extends BaseServiceException 
028    implements ThriftDecorator<net.gdface.facelog.ServiceSecurityException> {
029    private static final long serialVersionUID = 1L;
030    private final net.gdface.facelog.ServiceSecurityException delegate;
031
032    public ServiceSecurityException(){
033        this(new net.gdface.facelog.ServiceSecurityException());
034    }
035    public ServiceSecurityException(String message){
036        this(new net.gdface.facelog.ServiceSecurityException(message));
037    }
038    public ServiceSecurityException(net.gdface.facelog.ServiceSecurityException delegate) {
039        super(checkNotNull(delegate,"delegate is null").getMessage(),delegate.getCause());
040        // 检查被装饰类是否有@ThriftStruct注释
041        if(delegate.getClass().isAnnotationPresent(ThriftStruct.class)){
042            throw new IllegalArgumentException(
043                String.format("NOT ALLOW %s have @ThriftStruct annotation",delegate.getClass().getName()));
044        }
045        this.delegate = delegate;
046    }
047    /**
048     * 返回被装饰的{@link net.gdface.facelog.ServiceSecurityException}实例
049     * @return
050     */
051    @Override
052    public net.gdface.facelog.ServiceSecurityException delegate() {
053        return delegate;
054    }
055    @Override
056    public void printStackTrace() {
057        delegate().printStackTrace();
058    }
059    @Override
060    public void printStackTrace(PrintStream s) {
061        delegate().printStackTrace(s);
062    }
063    @Override
064    public void printStackTrace(PrintWriter s) {
065        delegate().printStackTrace(s);
066    }
067    @Override
068    public StackTraceElement[] getStackTrace() {
069        return delegate().getStackTrace();
070    }
071    @Override
072    public Throwable initCause(Throwable cause) {
073        return delegate().initCause(cause);
074    }
075    @Override
076    public int hashCode() {
077        return delegate().hashCode();
078    }
079    @Override
080    public boolean equals(Object obj) {
081        return delegate().equals(obj);
082    }
083    @Override
084    public String toString() {
085        return delegate().toString();
086    }
087    @ThriftField(value = 5,requiredness=Requiredness.OPTIONAL)
088    public Integer getDeviceID(){
089        return delegate().getDeviceID();
090    }
091    
092    @ThriftField
093    public void setDeviceID(Integer value){
094        delegate().setDeviceID(value);
095    }
096
097    @ThriftField(value = 6,requiredness=Requiredness.OPTIONAL)
098    public net.gdface.facelog.client.thrift.SecurityExceptionType getType(){
099        return TypeTransformer.getInstance().to(
100                    delegate().getType(),
101                    SecurityExceptionType.class,
102                    net.gdface.facelog.client.thrift.SecurityExceptionType.class);
103    }
104    
105    @ThriftField
106    public void setType(net.gdface.facelog.client.thrift.SecurityExceptionType value){
107        delegate().setType(TypeTransformer.getInstance().to(
108                    value,
109                    net.gdface.facelog.client.thrift.SecurityExceptionType.class,
110                    SecurityExceptionType.class));
111    }
112
113}