/** * @param initializationExpression the initializationExpression to set * @throws ParsingException */ public void setObject(String name, String type, String initializationExpression, boolean cast) { try { this.name = name; this.cast = cast; if (!Strings.isEmpty(initializationExpression)) { initializationStatement = parser.parse(initializationExpression, this, TypesFactory.OBJECT_TYPE); initializationStatement.setParent(this); this.type = initializationStatement.getType(); } else { this.type = TypesFactory.OBJECT_TYPE; } if (!Strings.isEmpty(type)) { this.type = typesFactory.getType(type); addImports(this.type.getRequiredImports()); } } catch (ParsingException e) { log.error("Error parse initialization expression for variable " + name, e); } }
protected void verifyAttribute(PropertyBase attribute, GeneratedFacesComponent component) { // Check name. if (Strings.isEmpty(attribute.getName())) { log.error("No name for attribute " + attribute); return; } if (attribute.getName().contains(".") || Character.isDigit(attribute.getName().charAt(0)) || attribute.getName().contains(" ")) { log.error("Invalid attribute name [" + attribute.getName() + "]"); return; } // Check type BeanProperty beanProperty = findBeanProperty(attribute, component); if (null == attribute.getType()) { log.warn("Unknown type of attribute [" + attribute.getName() + "]"); attribute.setType(beanProperty.getType()); } if (attribute.getType().isPrimitive() && null == attribute.getDefaultValue()) { // Set default value for primitive attribute.setDefaultValue(attribute.getType().getDefaultValue()); } // Check binding properties. if ("javax.faces.el.MethodBinding".equals(attribute.getType().getName())) { attribute.setBinding(true); attribute.setBindingAttribute(true); } else if ("javax.el.MethodExpression".equals(attribute.getType().getName())) { attribute.setBindingAttribute(true); } // if(attribute.isBindingAttribute() && attribute.getSignature().isEmpty() && // !attribute.isHidden()) { // log.error("Signature for method expression attribute "+attribute.getName()+" has not been // set"); // } // Check "generate" flag. if (Boolean.TRUE.equals(component.getGenerate())) { // TODO Attribute should be only generated if it does not exist or abstract in the base class. // Step one - check base class if (SPECIAL_PROPERTIES.contains(attribute.getName())) { attribute.setGenerate(false); } else if (null == attribute.getGenerate()) { attribute.setGenerate(!beanProperty.isExists()); } } else { attribute.setGenerate(false); } verifyDescription(attribute); }
protected void verifyTag(TagModel tag, FacesId id, ClassName handler) { if (Strings.isEmpty(tag.getName())) { String defaultTagName = namingConventions.inferTagName(id); tag.setName(defaultTagName); } if (null == tag.getType()) { tag.setType(TagType.Facelets); } if (tag.isGenerate()) { if (null == tag.getBaseClass()) { // TODO - choose default handler class by tag type. tag.setBaseClass(handler); } if (null == tag.getTargetClass()) { namingConventions.inferTagHandlerClass( id, tag.getType().toString()); // TODO - get markup somethere. } } // TODO - copy component description to tag, if it has no description. }