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.thrift.ThriftDecorator; 008import net.gdface.thrift.TypeTransformer; 009import com.facebook.swift.codec.ThriftStruct; 010import com.facebook.swift.codec.ThriftField; 011import com.facebook.swift.codec.ThriftField.Requiredness; 012/** 013 * decorator pattern 装饰者模式client端代理{@link net.gdface.facelog.PersonSummary}<br> 014 * 代理对象必须有默认构造方法,必须是普通类型,不可以有@ThriftStruct注释<br> 015 * 转发所有{@link net.gdface.facelog.PersonSummary}get/set方法到{@link #delegate()}指定的实例,<br> 016 * 计算机生成代码(generated by automated tools ThriftServiceDecoratorGenerator @author guyadong)<br> 017 * @author guyadong 018 * 019 */ 020@ThriftStruct 021public final class PersonSummary implements ThriftDecorator<net.gdface.facelog.PersonSummary> { 022 private final net.gdface.facelog.PersonSummary delegate; 023 024 public PersonSummary(){ 025 this(new net.gdface.facelog.PersonSummary()); 026 } 027 public PersonSummary(net.gdface.facelog.PersonSummary delegate) { 028 if(null == delegate){ 029 throw new NullPointerException("delegate is null"); 030 } 031 // 检查被装饰类是否有@ThriftStruct注释 032 if(delegate.getClass().isAnnotationPresent(ThriftStruct.class)){ 033 throw new IllegalArgumentException( 034 String.format("NOT ALLOW %s have @ThriftStruct annotation",delegate.getClass().getName())); 035 } 036 this.delegate = delegate; 037 } 038 039 /** 040 * 返回被装饰的{@link net.gdface.facelog.PersonSummary}实例 041 * @return 042 */ 043 @Override 044 public net.gdface.facelog.PersonSummary delegate() { 045 return delegate; 046 } 047 @Override 048 public int hashCode() { 049 return delegate().hashCode(); 050 } 051 @Override 052 public boolean equals(Object obj) { 053 return delegate().equals(obj); 054 } 055 @Override 056 public String toString() { 057 return delegate().toString(); 058 } 059 @ThriftField(value = 1,requiredness=Requiredness.OPTIONAL) 060 public List<String> getFeatureIds(){ 061 return TypeTransformer.getInstance().to( 062 delegate().getFeatureIds(), 063 String.class, 064 String.class); 065 } 066 067 @ThriftField 068 public void setFeatureIds(List<String> value){ 069 delegate().setFeatureIds(TypeTransformer.getInstance().to( 070 value, 071 String.class, 072 String.class)); 073 } 074 075 @ThriftField(value = 2,requiredness=Requiredness.REQUIRED) 076 public int getPersonId(){ 077 return delegate().getPersonId(); 078 } 079 080 @ThriftField 081 public void setPersonId(int value){ 082 delegate().setPersonId(value); 083 } 084 085}