protected void handleManagedpropertiesCompiled()

in extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/MyFacesBeanImplementationListener.java [136:169]


    protected void handleManagedpropertiesCompiled(ManagedBean mbean, Field[] fields) {
        /*since we reprocess the managed properties we can handle them here by clearing them first*/
        mbean.getManagedProperties().clear();
        for (Field field : fields) {
            if (_log.isLoggable(Level.FINEST)) {
                _log.log(Level.FINEST, "  Scanning field '" + field.getName() + "'");
            }
            ManagedProperty property = field
                    .getAnnotation(ManagedProperty.class);
            if (property != null) {
                if (_log.isLoggable(Level.FINE)) {
                    _log.log(Level.FINE, "  Field '" + field.getName()
                            + "' has a @ManagedProperty annotation");
                }

                org.apache.myfaces.config.element.ManagedProperty mpc = ManagedPropertyHandler.newInstance();
                String name = property.name();
                if ((name == null) || "".equals(name)) {
                    name = field.getName();
                }

                ManagedPropertyHandler.setPropertyName(mpc, name);
                //mpc.setPropertyName(name);
                ManagedPropertyHandler.setPropertyClass(mpc, field.getType().getName());

                //mpc.setPropertyClass(field.getType().getName()); // FIXME - primitives, arrays, etc.

                ManagedPropertyHandler.setValue(mpc, property.value());// FIXME - primitives, arrays, etc.
                //mpc.setValue(property.value());

                ReflectUtil.executeMethod(mbean, "addProperty", mpc);
            }
        }
    }