示例#1
0
  public Metadata applyRule(String name, TagAttribute attribute, MetadataTarget meta) {
    if (meta.isTargetInstanceOf(UIComponent.class)) {

      // if component and dynamic, then must set expression
      if (!attribute.isLiteral()) {
        Class type = meta.getPropertyType(name);
        if (type == null) {
          type = Object.class;
        }
        return new ValueExpressionMetadata(name, type, attribute);
      } else if (meta.getWriteMethod(name) == null) {

        // this was an attribute literal, but not property
        warnAttr(attribute, meta.getTargetClass(), name);

        return new LiteralAttributeMetadata(name, attribute.getValue());
      }
    }
    return null;
  }