@Override public synchronized Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { if (o == null) { throw new NullPointerException("o"); } Class<?> c = o.getClass(); if ( property==null ) { return throwNoSuchProperty(c, propertyName, null); } Member member = findMember(c, propertyName); if ( member!=null ) { try { if (member instanceof Method) { return ((Method)member).invoke(o); } else if (member instanceof Field) { return ((Field)member).get(o); } } catch (Exception e) { throwNoSuchProperty(c, propertyName, e); } } return throwNoSuchProperty(c, propertyName, null); }
@Override public synchronized Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { if (o == null) { throw new NullPointerException("o"); } Class<?> c = o.getClass(); if ( property==null ) { return throwNoSuchProperty(c, propertyName, null); } Member member = findMember(c, propertyName); if ( member!=null ) { try { if (member instanceof Method) { return ((Method)member).invoke(o); } else if (member instanceof Field) { return ((Field)member).get(o); } } catch (Exception e) { throwNoSuchProperty(c, propertyName, e); } } return throwNoSuchProperty(c, propertyName, null); }
@Override public synchronized Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { if (o == null) { throw new NullPointerException("o"); } Class<?> c = o.getClass(); if ( property==null ) { return throwNoSuchProperty(c, propertyName, null); } Member member = findMember(c, propertyName); if ( member!=null ) { try { if (member instanceof Method) { return ((Method)member).invoke(o); } else if (member instanceof Field) { return ((Field)member).get(o); } } catch (Exception e) { throwNoSuchProperty(c, propertyName, e); } } return throwNoSuchProperty(c, propertyName, null); }
@Override public synchronized Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { if (o == null) { throw new NullPointerException("o"); } Class<?> c = o.getClass(); if ( property==null ) { return throwNoSuchProperty(c, propertyName, null); } Member member = findMember(c, propertyName); if ( member!=null ) { try { if (member instanceof Method) { return ((Method)member).invoke(o); } else if (member instanceof Field) { return ((Field)member).get(o); } } catch (Exception e) { throwNoSuchProperty(c, propertyName, e); } } return throwNoSuchProperty(c, propertyName, null); }
@Override public synchronized Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { if (o == null) { throw new NullPointerException("o"); } Class<?> c = o.getClass(); if ( property==null ) { return throwNoSuchProperty(c, propertyName, null); } Member member = findMember(c, propertyName); if ( member!=null ) { try { if (member instanceof Method) { return ((Method)member).invoke(o); } else if (member instanceof Field) { return ((Field)member).get(o); } } catch (Exception e) { throwNoSuchProperty(c, propertyName, e); } } return throwNoSuchProperty(c, propertyName, null); }
@Override public synchronized Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { if (o == null) { throw new NullPointerException("o"); } Class<?> c = o.getClass(); if ( property==null ) { return throwNoSuchProperty(c, propertyName, null); } Member member = findMember(c, propertyName); if ( member!=null ) { try { if (member instanceof Method) { return ((Method)member).invoke(o); } else if (member instanceof Field) { return ((Field)member).get(o); } } catch (Exception e) { throwNoSuchProperty(c, propertyName, e); } } return throwNoSuchProperty(c, propertyName, null); }
@Override public synchronized Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { if (o == null) { throw new NullPointerException("o"); } Class<?> c = o.getClass(); if ( property==null ) { return throwNoSuchProperty(c, propertyName, null); } Member member = findMember(c, propertyName); if ( member!=null ) { try { if (member instanceof Method) { return ((Method)member).invoke(o); } else if (member instanceof Field) { return ((Field)member).get(o); } } catch (Exception e) { throwNoSuchProperty(c, propertyName, e); } } return throwNoSuchProperty(c, propertyName, null); }
public Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { Object value = null; Class c = o.getClass(); if ( property==null ) { return throwNoSuchProperty(c.getName() + "." + propertyName); } // Look in cache for Member first Member member = classAndPropertyToMemberCache.get(c, propertyName); if ( member!=null ) { try { Class memberClass = member.getClass(); if ( memberClass == Method.class ) return ((Method)member).invoke(o); if ( memberClass == Field.class ) return ((Field)member).get(o); } catch (Exception e) { throwNoSuchProperty(c.getName() + "." + propertyName); } } return lookupMethod(o, propertyName, value, c); }
throwNoSuchProperty(c.getName() + "." + propertyName); throwNoSuchProperty(c.getName() + "." + propertyName);