@Override public void setValue(Object bean, Object value) { m.invoke(o, value); } }
@Override public void setValue(Object bean, Object value) { m.invoke(o, value); } }
@Override public Object invoke(ElEvalContext context, Object instance, Object[] args) throws Throwable { return m.invoke(instance, args); }
protected Object invoke(ReflectMethod m,Object owner,Object[] args) throws Throwable { if(null == instance){ throw new ElException("Cannot invoke instance method '" + name + "', the instance is null"); } return m.invoke(owner, args); }
@Override public Object invoke(ElEvalContext context, Object[] args) throws Throwable { if(null == instance){ throw new IllegalStateException("Instance is null,cannot invoke method '" + m.getName() + "'"); } return m.invoke(instance, args); } }
public Object getValue(Object bean) { if (!readable) { throw new IllegalStateException("Property '" + name + "' of '" + beanType.getBeanClass().getName() + "' not readable"); } return null != getter ? getter.invoke(bean) : field.getValue(bean, true); }
public void setValue(Object bean,Object value){ if(!writable) { throw new IllegalStateException("Property '" + name + "' is not writable at '" + beanType.getBeanClass().getName() + "'"); } if(null != value && !type.isAssignableFrom(value.getClass())){ value = Converts.convert(value, type,genericType); } if(null != setter){ setter.invoke(bean,value); }else{ field.setValue(bean, value, true); } }
public boolean trySetValue(Object bean,Object value) { if(writable){ try { if(null != value && !type.isAssignableFrom(value.getClass())){ value = Converts.convert(value, type,genericType); } if(null != setter){ setter.invoke(bean,value); }else{ field.setValue(bean, value, true); } return true; } catch (ConvertUnsupportedException e) { log.debug("cannot set property '{}' of bean '{}' -> {}",name,beanType.getBeanClass().getSimpleName(),e.getMessage()); } } return false; }
public ReflectDeleteEntityListener(Object inst, ReflectMethod m) { this.inst = inst; this.method = m; if(m.getParameters().length == 1) { this.transactional = false; ReflectParameter p = m.getParameters()[0]; if(p.getType().equals(Object.class)) { func = (e) -> m.invoke(inst, e.getId()); return; }else if(p.getType().equals(DeleteEntityEvent.class)) { func = (e) -> m.invoke(inst, e); return; } } else if(m.getParameters().length == 2) { this.transactional = true; ReflectParameter p0 = m.getParameters()[0]; ReflectParameter p1 = m.getParameters()[1]; if(p0.getType().equals(Object.class) && p1.getType().equals(TransactionStatus.class)) { func = (e) -> m.invoke(inst, e.getId(), e.getTransactionStatus()); return; } if(p0.getType().equals(DeleteEntityEvent.class) && p1.getType().equals(TransactionStatus.class)) { func = (e) -> m.invoke(inst, e, e.getTransactionStatus()); return; } } throw new IllegalArgumentException("Incorrect parameters in method '" + Reflection.fullQualifyName(m.getReflectedMethod()) + "' for 'DeleteEntity' event"); }
public Object getValue(Object instance,boolean useGetter) { try { if(useGetter && null != getter){ if(getterAccessorIndex != -1){ return accessor.invokeMethod(instance, getterAccessorIndex, Arrays2.EMPTY_OBJECT_ARRAY); }else{ return getter.invoke(instance, Arrays2.EMPTY_OBJECT_ARRAY); } }else{ if(fieldAccessorIndex != -1){ return accessor.getFieldValue(instance, fieldAccessorIndex); }else { return field.get(instance); } } } catch (Throwable e) { if(e instanceof InvocationTargetException){ e = e.getCause(); } if(e instanceof RuntimeException){ throw (RuntimeException)e; } throw new ReflectException(Strings.format("Error getting value of field '{0}'",getName()),e); } }
func = (e) -> m.invoke(inst, e); return; func = (e) -> m.invoke(inst, ((EntityEventWithWrapper)e).getEntity()); return; func = (e) -> invoke((EntityEventWithWrapper)e, bt, (bean) -> m.invoke(inst, bean)); return; func = (e) -> m.invoke(inst, ((EntityEventWithWrapper)e).getEntity(), e.getTransactionStatus()); return; func = (e) -> m.invoke(inst, e, e.getTransactionStatus()); return; func = (e) -> invoke((EntityEventWithWrapper)e, bt, (bean) -> m.invoke(inst, bean, e.getTransactionStatus())); return;
String v = (String)ReflectClass.of(a.getClass()).getMethod(nameAnnotation.value()).invoke(a); if(!v.isEmpty()) { name = v; ReflectMethod m = bt.getReflectClass().getMethod("$"); if(null != m && m.getParameters().length == 1) { m.invoke(bean, Converts.convert(v, m.getParameters()[0].getType(), m.getParameters()[0].getGenericType(), context));
public void setValue(Object instance, Object value, boolean useSetter) { try { if(field.isSynthetic() || isFinal()){ field.set(instance, safeValue(value)); }else{ if(useSetter && null != setter){ if(setterAccessorIndex != -1){ accessor.invokeMethod(instance, setterAccessorIndex, safeValue(value)); }else{ setter.invoke(instance, safeValue(value)); } }else{ if(fieldAccessorIndex != -1){ accessor.setFieldValue(instance, fieldAccessorIndex, safeValue(value)); }else{ field.set(instance, safeValue(value)); } } } } catch (Exception e) { throw new ReflectException(Strings.format("Error setting value '{0}' to field '{1}'",value,getName()),e); } }
if(m.getParameters().length == 0 && m.isAnnotationPresent(Destroy.class)) { try { m.invoke(bean, Arrays2.EMPTY_OBJECT_ARRAY); } catch (Throwable e) { log.warn("Error destroy bean '{}' : {}", null == bd ? bean : bd, e.getMessage(), e);
@Override public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException { MOperation o = operations.get(new MSignature(actionName, signature)); if(null == o) { throw new MBeanException(new ObjectNotFoundException("Operation '" + actionName + "' not found in '" + bean.getClass() + "'")); } try{ Object value = o.getMethod().invoke(bean, params); if(o.isOpen()) { value = MConverts.convert(value, o.getReturnOpenType()); } return value; }catch(ReflectException e) { throw new ReflectionException(e); }catch(Exception e) { throw new MBeanException(e); } }
ReflectParameter p = extraSetter.getParameters()[0]; value = Converts.convert(value, p.getType(), p.getGenericType(), context); extraSetter.invoke(bean, value); return; ReflectParameter p = extraSetter.getParameters()[0]; value = Converts.convert(value, p.getType(), p.getGenericType(), context); extraSetter.invoke(bean, value); return; }catch (ConvertUnsupportedException e1) {
for (ReflectMethod m : rc.getMethods()) { if (m.getParameters().length == 0 && m.isAnnotationPresent(Init.class)) { m.invoke(bean, Arrays2.EMPTY_OBJECT_ARRAY); init = true; break;