rbi.factorybean = abd.getFactoryBeanName(); rbi.factorymethod = abd.getFactoryMethodName();
  public void init() {    // at this point we actually expect that the "Dead" factory is FULLY    // CREATED. This checks that all dependencies are resolvable (if this    // has not already been checked by the IDE).    String[] beanNames = blankcontext.getBeanDefinitionNames();    ConfigurableListableBeanFactory factory = blankcontext.getBeanFactory();    // prepare our list of dependencies.    rbimap = new HashMap();    for (int i = 0; i < beanNames.length; i++) {      String beanname = beanNames[i];      RSACBeanInfo rbi = new RSACBeanInfo();      BeanDefinition def = factory.getBeanDefinition(beanname);      MutablePropertyValues pvs = def.getPropertyValues();      PropertyValue[] values = pvs.getPropertyValues();      for (int j = 0; j < values.length; ++j) {        PropertyValue thispv = values[j];        Object beannames = propertyValueToBeanName(thispv.getValue());        boolean skip = false;        // skip recording the dependency if it was unresolvable (some        // unrecognised        // type) or was a single-valued type referring to a static dependency.        // NB - we now record ALL dependencies - bean-copying strategy        // discontinued.        if (beannames == null        // || beannames instanceof String        // && !blankcontext.containsBean((String) beannames)        ) {          skip = true;        }        if (!skip) {          rbi.recordDependency(thispv.getName(), beannames);        }      }      // yes, I am PERFECTLY aware this is a deprecated method, but it is the      // only      // visible way to determine ahead of time whether this will be a factory      // bean.      Class beanclass = def.getBeanClass();      rbi.beanclass = beanclass;      rbi.isfactorybean = FactoryBean.class.isAssignableFrom(beanclass);      AbstractBeanDefinition abd = (AbstractBeanDefinition) def;      rbi.initmethod = abd.getInitMethodName();      rbi.destroymethod = abd.getDestroyMethodName();      rbimap.put(beanname, rbi);    }  }