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.thrift.ThriftDecorator; 007import net.gdface.thrift.exception.BaseServiceException; 008 009import java.io.PrintStream; 010import java.io.PrintWriter; 011import com.facebook.swift.codec.ThriftStruct; 012import static com.google.common.base.Preconditions.checkNotNull; 013 014/** 015 * decorator pattern 装饰者模式代理{@link net.gdface.facelog.DuplicateRecordException}<br> 016 * 代理对象必须有默认构造方法,String参数构造方法可选,必须是普通类型,不可以有@ThriftStruct注释<br> 017 * 转发所有{@link net.gdface.facelog.DuplicateRecordException}get/set方法到{@link #delegate()}指定的实例,<br> 018 * 计算机生成代码(generated by automated tools ThriftServiceDecoratorGenerator @author guyadong)<br> 019 * @author guyadong 020 * 021 */ 022@ThriftStruct 023public final class DuplicateRecordException extends BaseServiceException 024 implements ThriftDecorator<net.gdface.facelog.DuplicateRecordException> { 025 private static final long serialVersionUID = 1L; 026 private final net.gdface.facelog.DuplicateRecordException delegate; 027 028 public DuplicateRecordException(){ 029 this(new net.gdface.facelog.DuplicateRecordException()); 030 } 031 public DuplicateRecordException(String message){ 032 this(new net.gdface.facelog.DuplicateRecordException(message)); 033 } 034 public DuplicateRecordException(net.gdface.facelog.DuplicateRecordException delegate) { 035 super(checkNotNull(delegate,"delegate is null").getMessage(),delegate.getCause()); 036 // 检查被装饰类是否有@ThriftStruct注释 037 if(delegate.getClass().isAnnotationPresent(ThriftStruct.class)){ 038 throw new IllegalArgumentException( 039 String.format("NOT ALLOW %s have @ThriftStruct annotation",delegate.getClass().getName())); 040 } 041 this.delegate = delegate; 042 } 043 /** 044 * 返回被装饰的{@link net.gdface.facelog.DuplicateRecordException}实例 045 * @return 046 */ 047 @Override 048 public net.gdface.facelog.DuplicateRecordException delegate() { 049 return delegate; 050 } 051 @Override 052 public void printStackTrace() { 053 delegate().printStackTrace(); 054 } 055 @Override 056 public void printStackTrace(PrintStream s) { 057 delegate().printStackTrace(s); 058 } 059 @Override 060 public void printStackTrace(PrintWriter s) { 061 delegate().printStackTrace(s); 062 } 063 @Override 064 public StackTraceElement[] getStackTrace() { 065 return delegate().getStackTrace(); 066 } 067 @Override 068 public Throwable initCause(Throwable cause) { 069 return delegate().initCause(cause); 070 } 071 @Override 072 public int hashCode() { 073 return delegate().hashCode(); 074 } 075 @Override 076 public boolean equals(Object obj) { 077 return delegate().equals(obj); 078 } 079 @Override 080 public String toString() { 081 return delegate().toString(); 082 } 083}