1 28 29 package com.caucho.es.wrapper; 30 31 import java.beans.IntrospectionException ; 32 import java.lang.reflect.Modifier ; 33 34 class NamedPropertyDescriptor extends ESPropertyDescriptor { 35 ESMethodDescriptor namedGetter; 36 ESMethodDescriptor namedSetter; 37 ESMethodDescriptor namedRemover; 38 ESMethodDescriptor namedIterator; 39 40 public ESMethodDescriptor getNamedReadMethod() { return namedGetter; } 41 public ESMethodDescriptor getNamedWriteMethod() { return namedSetter; } 42 public ESMethodDescriptor getNamedRemoveMethod() { return namedRemover; } 43 public ESMethodDescriptor getNamedIteratorMethod() { return namedIterator; } 44 45 public boolean isStatic() 46 { 47 if (namedGetter != null) { 48 int modifiers = namedGetter.getMethod().getModifiers(); 49 return Modifier.isStatic(modifiers); 50 } 51 else if (namedSetter != null) { 52 int modifiers = namedSetter.getMethod().getModifiers(); 53 return Modifier.isStatic(modifiers); 54 } else 55 return false; 56 } 57 58 public boolean isStaticVirtual() 59 { 60 if (namedGetter != null) { 61 return namedGetter.isStaticVirtual(); 62 } 63 else if (namedSetter != null) { 64 return namedSetter.isStaticVirtual(); 65 } else 66 return false; 67 } 68 69 public NamedPropertyDescriptor(String propertyName, Class beanClass) 70 throws IntrospectionException 71 { 72 super(propertyName, null, null, null); 73 } 74 75 public NamedPropertyDescriptor(String propertyName, 76 ESMethodDescriptor getter, 77 ESMethodDescriptor setter, 78 ESMethodDescriptor namedGetter, 79 ESMethodDescriptor namedSetter, 80 ESMethodDescriptor namedRemover, 81 ESMethodDescriptor namedIterator) 82 throws IntrospectionException 83 { 84 super(propertyName, null, getter, setter); 85 86 this.namedGetter = namedGetter; 87 this.namedSetter = namedSetter; 88 this.namedRemover = namedRemover; 89 this.namedIterator = namedIterator; 90 } 91 } 92 93 94 | Popular Tags |