protected void writeSetProperty()

in maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/TrinidadValidatorTagGenerator.java [69:176]


  protected void writeSetProperty(
    PrettyWriter out,
    PropertyBean property)
  {
    String propName = property.getPropertyName();
    String propFullClass = property.getPropertyClass();
    String propClass = Util.getClassFromFullClass(propFullClass);
    String propVar = "_" + Util.getVariableFromName(propName);
    out.println("if (" + propVar + " != null)");
    out.println("{");
    out.indent();
    if (is12())
    {
      out.println("if (!" + propVar + ".isLiteralText())");
      out.println("{");
      out.indent();
      out.println("validator.setValueExpression(\"" + propName + "\", " +
                  propVar + ");");
      out.unindent();
      out.println("}");
      String propType = null;
      if ("Date".equals (propClass)) 
      {
        propType = resolveDateType(propFullClass, property.getUseMaxTime());                        
      }
      else 
      {
        propType = resolveType(propFullClass);            
      }
      if (propType != null)
      {
        out.println("else");
        out.println("{");
        out.indent();
        if ("StringArray".equals(propType))
        {
          out.println("try");
          out.println("{");
        }

        out.println(propClass + " value = TagUtils.get" + propType + "(" + propVar + ".getValue(null));");
        String setMethod = Util.getPrefixedPropertyName("set", propName);
        out.println("validator." + setMethod + "(value);");
        if ("StringArray".equals(propType))
        {
          out.println("}");
          out.println("catch (ParseException pe)");
          out.println("{");
          out.indent();
          out.println("throw new JspException(");
          out.println("  pe.getMessage() + \": \" + \"Position \" + pe.getErrorOffset());");
          out.unindent();
          out.println("}");
        }
        out.unindent();
        out.println("}");
      }
    }
    else
    {
      out.println("if (TagUtils.isValueReference(" + propVar + "))");
      out.println("{");
      out.indent();
      out.println("ValueBinding vb = TagUtils.getValueBinding(" + propVar + ");");
      out.println("validator.setValueBinding(\"" + propName + "\", vb);");
      out.unindent();
      out.println("}");
      String propType = null;
      if ("Date".equals (propClass)) 
      {
        propType = resolveDateType(propFullClass, property.getUseMaxTime());                        
      }
      else 
      {
        propType = resolveType(propFullClass);            
      }
      if (propType != null)
      {
        out.println("else");
        out.println("{");
        out.indent();
        if ("StringArray".equals(propType))
        {
          out.println("try");
          out.println("{");
        }
        out.println(propClass + " value = TagUtils.get" + propType + "(" + propVar + ");");
        String setMethod = Util.getPrefixedPropertyName("set", propName);
        out.println("validator." + setMethod + "(value);");
        if ("StringArray".equals(propType))
        {
          out.println("}");
          out.println("catch (ParseException pe)");
          out.println("{");
          out.indent();
          out.println("throw new JspException(");
          out.println("  pe.getMessage() + \": \" + \"Position \" + pe.getErrorOffset());");
          out.unindent();
          out.println("}");
        }
        out.unindent();
        out.println("}");
      }
    }

    out.unindent();
    out.println("}");
  }