/** * Get the classloader. * * @param beanMetaData the bean meta data * @return meta data's classloader * @throws UndeclaredThrowableException for any error */ protected ClassLoader getClassLoader(BeanMetaData beanMetaData) { try { return Configurator.getClassLoader(beanMetaData); } catch (Throwable t) { throw new UndeclaredThrowableException(t); } }
/** * Get the classloader. * * @param beanMetaData the bean meta data * @return meta data's classloader * @throws UndeclaredThrowableException for any error */ protected ClassLoader getClassLoader(BeanMetaData beanMetaData) { try { return Configurator.getClassLoader(beanMetaData); } catch (Throwable t) { throw new UndeclaredThrowableException(t); } }
public ClassLoader getClassLoader() throws Throwable { SecurityManager sm = System.getSecurityManager(); if (sm != null) sm.checkPermission(GET_CLASSLOADER_PERMISSION); return Configurator.getClassLoader(getBeanMetaData()); }
/** * Get the classloader for some BeanMetaData * * @param metaData the metaData * @return the classloader * @throws Throwable for any error */ public static ClassLoader getClassLoader(BeanMetaData metaData) throws Throwable { ClassLoaderMetaData clmd = null; if (metaData != null) clmd = metaData.getClassLoader(); return getClassLoader(clmd); }
/** * Unconfigure a bean * * @param object the object to unconfigure * @param info the bean info * @param metaData the bean metadata * @throws Throwable for any error */ public static void unconfigure(Object object, BeanInfo info, BeanMetaData metaData) throws Throwable { if (object == null) throw new IllegalArgumentException("Null object"); if (info == null) throw new IllegalArgumentException("Null bean info"); if (metaData == null) throw new IllegalArgumentException("Null bean metadata"); ClassLoader cl = getClassLoader(metaData); Set<PropertyMetaData> propertys = metaData.getProperties(); if (propertys != null && propertys.isEmpty() == false) { for (Iterator<PropertyMetaData> i = metaData.getProperties().iterator(); i.hasNext();) { PropertyMetaData property = i.next(); unconfigure(object, cl, info, property); } } }
/** * Configure a bean * * @param object the object to configure * @param info the bean info * @param metaData the bean metadata * @throws Throwable for any error */ public static void configure(Object object, BeanInfo info, BeanMetaData metaData) throws Throwable { boolean trace = log.isTraceEnabled(); if (object == null) throw new IllegalArgumentException("Null object"); if (info == null) throw new IllegalArgumentException("Null bean info"); if (metaData == null) throw new IllegalArgumentException("Null bean metadata"); Set<PropertyMetaData> properties = metaData.getProperties(); if (properties != null && properties.isEmpty() == false) { ClassLoader cl = getClassLoader(metaData); for (Iterator<PropertyMetaData> i = metaData.getProperties().iterator(); i.hasNext();) { PropertyMetaData property = i.next(); configure(trace, object, info, cl, property); } } }
/** * Set attributes/properties. * * @param context the context * @param target the target * @param info the bean info * @param metaData the bean metadata * @param nullify should we nullify attributes/properties * @throws Throwable for any error */ protected void setAttributes(KernelControllerContext context, Object target, BeanInfo info, BeanMetaData metaData, boolean nullify) throws Throwable { Set<PropertyMetaData> propertys = metaData.getProperties(); if (propertys != null && propertys.isEmpty() == false) { ClassLoader cl = Configurator.getClassLoader(metaData); for(PropertyMetaData property : propertys) { dispatchSetProperty(context, property, nullify, info, target, cl); } } }
public BeanInfo getBeanInfo(BeanMetaData metaData) throws Throwable { ClassLoader cl = Configurator.getClassLoader(metaData); String className = metaData.getBean(); if (className == null) return null; return getBeanInfo(className, cl, metaData.getAccessMode()); }
ClassLoader cl = Configurator.getClassLoader((BeanMetaData) null); try
protected ClassInfo getClass(MetaDataVisitor visitor, String classType) throws Throwable { KernelControllerContext context = visitor.getControllerContext(); ClassLoader cl = Configurator.getClassLoader(context.getBeanMetaData()); return getClassInfo(classType, cl); } }
@SuppressWarnings("deprecation") public Object initializeProxy(Kernel kernel, String bean, boolean exposeClass, Set<String> interfaces) throws Throwable { if (exposeClass) throw new IllegalArgumentException("Cannot expose class via JDK LazyInitializer."); if (interfaces == null || interfaces.isEmpty()) throw new IllegalArgumentException("Null interfaces."); KernelControllerContext context = getKernelControllerContext(kernel, bean); BeanInfo beanInfo = context.getBeanInfo(); if (beanInfo == null) throw new IllegalArgumentException("Cannot proxy factory beans."); LazyHandler lazyHandler = new LazyHandler(bean, kernel.getBus(), beanInfo.getClassInfo().getType()); ClassLoader cl = Configurator.getClassLoader(context.getBeanMetaData()); return Proxy.newProxyInstance(getClass().getClassLoader(), getClasses(kernel.getConfigurator(), interfaces, cl), lazyHandler); }
try cl = Configurator.getClassLoader(beanMetaData);
/** * Update class annotations * * @param mutable the mutable metadata * @param context the context * @param add true for add, false for remove */ private void updateClassAnnotations(MutableMetaDataLoader mutable, KernelControllerContext context, boolean add) { BeanMetaData beanMetaData = context.getBeanMetaData(); if (beanMetaData != null) { ClassLoader cl; try { cl = Configurator.getClassLoader(beanMetaData); } catch(Throwable t) { throw new RuntimeException("Error getting classloader for " + beanMetaData.getName(), t); } updateAnnotations(cl, mutable, beanMetaData.getAnnotations(), add); } }
try cl = Configurator.getClassLoader(beanMetaData);
loader = Configurator.getClassLoader(classLoader); BeanInfo info = null; if (bean != null)
ClassLoader cl = Configurator.getClassLoader(context.getBeanMetaData()); KernelController controller = (KernelController) context.getController(); KernelConfigurator configurator = controller.getKernel().getConfigurator();
try ClassLoader cl = Configurator.getClassLoader(metaData); joinpoint = configurator.getMethodJoinPoint(info, cl, method, parameters, false, true);
@SuppressWarnings("deprecation") public Object initializeProxy(Kernel kernel, String bean, boolean exposeClass, Set<String> interfaces) throws Throwable { KernelControllerContext context = getKernelControllerContext(kernel, bean); BeanInfo beanInfo = context.getBeanInfo(); if (beanInfo == null) throw new IllegalArgumentException("Cannot proxy factory beans."); ProxyFactory factory = new ProxyFactory(); factory.setFilter(FINALIZE_FILTER); if (exposeClass) { factory.setSuperclass(beanInfo.getClassInfo().getType()); } if (interfaces != null && interfaces.size() > 0) { ClassLoader cl = Configurator.getClassLoader(context.getBeanMetaData()); factory.setInterfaces(getClasses(kernel.getConfigurator(), interfaces, cl)); } Class<?> proxyClass = getProxyClass(factory); ProxyObject proxy = (ProxyObject)proxyClass.newInstance(); proxy.setHandler(new LazyHandler(bean, kernel.getBus(), beanInfo.getClassInfo().getType())); return proxy; }
ClassLoader cl = Configurator.getClassLoader(context.getBeanMetaData()); propertyInfo = Configurator.resolveProperty(log.isTraceEnabled(), context.getBeanInfo(), cl, property, signature);
public TypeInfo getType(MetaDataVisitor visitor, MetaDataVisitorNode previous) throws Throwable { String type = getType(); if (type != null) { KernelControllerContext context = visitor.getControllerContext(); ClassLoader cl = Configurator.getClassLoader(context.getBeanMetaData()); KernelConfigurator configurator = context.getKernel().getConfigurator(); return configurator.getClassInfo(type, cl); } // check properties KernelControllerContext context = visitor.getControllerContext(); BeanInfo beanInfo = context.getBeanInfo(); PropertyInfo pi = beanInfo.getProperty(getName()); return applyCollectionOrMapCheck(pi.getType()); }