Mercurial > hg > Members > sugi > MessagePack-java
comparison src/main/java/org/msgpack/template/builder/BeansFieldEntry.java @ 0:cb825acd883a
first commit
author | sugi |
---|---|
date | Sat, 18 Oct 2014 15:06:15 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:cb825acd883a |
---|---|
1 package org.msgpack.template.builder; | |
2 | |
3 import java.lang.reflect.InvocationTargetException; | |
4 import java.lang.reflect.Type; | |
5 | |
6 import org.msgpack.MessageTypeException; | |
7 import org.msgpack.template.FieldOption; | |
8 import org.msgpack.template.builder.beans.PropertyDescriptor; | |
9 | |
10 public class BeansFieldEntry extends FieldEntry { | |
11 | |
12 protected PropertyDescriptor desc; | |
13 | |
14 public BeansFieldEntry() { | |
15 super(); | |
16 } | |
17 | |
18 public BeansFieldEntry(final BeansFieldEntry e) { | |
19 super(e.option); | |
20 this.desc = e.getPropertyDescriptor(); | |
21 } | |
22 | |
23 public BeansFieldEntry(final PropertyDescriptor desc) { | |
24 this(desc, FieldOption.DEFAULT); | |
25 } | |
26 | |
27 public BeansFieldEntry(final PropertyDescriptor desc, final FieldOption option) { | |
28 super(option); | |
29 this.desc = desc; | |
30 } | |
31 | |
32 public String getGetterName() { | |
33 return getPropertyDescriptor().getReadMethod().getName(); | |
34 } | |
35 | |
36 public String getSetterName() { | |
37 return getPropertyDescriptor().getWriteMethod().getName(); | |
38 } | |
39 | |
40 public PropertyDescriptor getPropertyDescriptor() { | |
41 return desc; | |
42 } | |
43 | |
44 @Override | |
45 public String getName() { | |
46 return getPropertyDescriptor().getDisplayName(); | |
47 } | |
48 | |
49 @Override | |
50 public Class<?> getType() { | |
51 return getPropertyDescriptor().getPropertyType(); | |
52 } | |
53 | |
54 @Override | |
55 public Type getGenericType() { | |
56 return getPropertyDescriptor().getReadMethod().getGenericReturnType(); | |
57 } | |
58 | |
59 @Override | |
60 public Object get(Object target) { | |
61 try { | |
62 return getPropertyDescriptor().getReadMethod().invoke(target); | |
63 } catch (IllegalArgumentException e) { | |
64 throw new MessageTypeException(e); | |
65 } catch (IllegalAccessException e) { | |
66 throw new MessageTypeException(e); | |
67 } catch (InvocationTargetException e) { | |
68 throw new MessageTypeException(e); | |
69 } | |
70 } | |
71 | |
72 @Override | |
73 public void set(Object target, Object value) { | |
74 try { | |
75 getPropertyDescriptor().getWriteMethod().invoke(target, value); | |
76 } catch (IllegalArgumentException e) { | |
77 throw new MessageTypeException(e); | |
78 } catch (IllegalAccessException e) { | |
79 throw new MessageTypeException(e); | |
80 } catch (InvocationTargetException e) { | |
81 throw new MessageTypeException(e); | |
82 } | |
83 } | |
84 } |