예제 #1
0
파일: TagNode.cs 프로젝트: rnrn/Jade4Net
        // throws ExpressionException
        private String getAttributeString(String name, Object attribute, JadeModel model, JadeTemplate template)
        {
            String value = null;
            if (attribute is String) {
                value = getInterpolatedAttributeValue(name, attribute, model, template);
            } else if (attribute is bool) {
                if ((bool)attribute)
                {
                    value = name;
                }
                else
                {
                    return "";
                }
                if (template.isTerse())
                {
                    value = null;
                }
            } else if (attribute is ExpressionString) {
                Object expressionValue = evaluateExpression((ExpressionString)attribute, model);
                if (expressionValue == null)
                {
                    return "";
                }
                // TODO: refactor
                if (expressionValue is bool) {
                    if ((bool)expressionValue)
                    {
                        value = name;
                    }
                    else
                    {
                        return "";
                    }
                    if (template.isTerse())
                    {
                        value = null;
                    }
                } else {
                    value = expressionValue.ToString();
                    value = Utils.escapeHTML(value);
                }
            } else {
                return "";
            }

            StringBuilder sb = new StringBuilder();
            if (name != null)
            {
                sb.Append(" ").Append(name);
                if (value != null)
                {
                    sb.Append("=").Append('"');
                    sb.Append(value);
                    sb.Append('"');
                }
            }
            return sb.ToString();
        }
예제 #2
0
        private String getAttributeString(String name, Object attribute, JadeModel model, JadeTemplate template)// throws ExpressionException
        {
            String value = null;

            if (attribute is String)
            {
                value = getInterpolatedAttributeValue(name, attribute, model, template);
            }
            else if (attribute is bool)
            {
                if ((bool)attribute)
                {
                    value = name;
                }
                else
                {
                    return("");
                }
                if (template.isTerse())
                {
                    value = null;
                }
            }
            else if (attribute is ExpressionString)
            {
                Object expressionValue = evaluateExpression((ExpressionString)attribute, model);
                if (expressionValue == null)
                {
                    return("");
                }
                // TODO: refactor
                if (expressionValue is bool)
                {
                    if ((bool)expressionValue)
                    {
                        value = name;
                    }
                    else
                    {
                        return("");
                    }
                    if (template.isTerse())
                    {
                        value = null;
                    }
                }
                else
                {
                    value = expressionValue.ToString();
                    value = Utils.escapeHTML(value);
                }
            }
            else
            {
                return("");
            }

            StringBuilder sb = new StringBuilder();

            if (name != null)
            {
                sb.Append(" ").Append(name);
                if (value != null)
                {
                    sb.Append("=").Append('"');
                    sb.Append(value);
                    sb.Append('"');
                }
            }
            return(sb.ToString());
        }
예제 #3
0
파일: TagNode.cs 프로젝트: rnrn/Jade4Net
 public bool isTerse(JadeTemplate template)
 {
     return isSelfClosing(template) && template.isTerse();
 }
예제 #4
0
 public bool isTerse(JadeTemplate template)
 {
     return(isSelfClosing(template) && template.isTerse());
 }