private void _writeVirtualSetMethod()

in maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/taglib/TrinidadComponentTagGenerator.java [444:518]


  private void _writeVirtualSetMethod(
      PrettyWriter out,
      String componentClass,
      String propName) throws IOException
  {
    String[] propKeys = _getAccessKeyPropertyKeys(componentClass, propName);

    String propVar = "_" + propName;
    out.println("if (" + propVar + " != null)");
    out.println("{");
    out.indent();

    if (_is12)
    {
      out.println("if (!" + propVar + ".isLiteralText())");
      out.println("{");
      out.indent();
      out.println("VirtualAttributeUtils.setAccessKeyAttribute(");
      out.indent();
      out.println("bean,");
      out.println(propVar + ",");
      out.println(propKeys[0] + ",");
      out.println(propKeys[1] + ");");
      out.unindent();
      out.unindent();
      out.println("}");
      out.println("else");
      out.println("{");
      out.indent();
      out.println("String s = " + propVar + ".getExpressionString();");
      out.println("if (s != null)");
      out.indent();
      out.println("VirtualAttributeUtils.setAccessKeyAttribute(");
      out.indent();
      out.println("bean,");
      out.println("s,");
      out.println(propKeys[0] + ",");
      out.println(propKeys[1] + ");");
      out.unindent();
      out.unindent();
      out.unindent();
      out.println("}");
    }
    else
    {
      out.println("if (isValueReference(" + propVar + "))");
      out.println("{");
      out.indent();
      out.println("ValueBinding vb = createValueBinding(" + propVar + ");");
      out.println("VirtualAttributeUtils.setAccessKeyAttribute(");
      out.indent();
      out.println("bean,");
      out.println("vb,");
      out.println(propKeys[0] + ",");
      out.println(propKeys[1] + ");");
      out.unindent();
      out.unindent();
      out.println("}");
      out.println("else");
      out.println("{");
      out.indent();
      out.println("VirtualAttributeUtils.setAccessKeyAttribute(");
      out.indent();
      out.println("bean,");
      out.println(propVar + ",");
      out.println(propKeys[0] + ",");
      out.println(propKeys[1] + ");");
      out.unindent();
      out.unindent();
      out.println("}");
    }

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