Package freemarker.template

Examples of freemarker.template.TemplateModel


            public Object exec(List args)
                    throws TemplateModelException {
                if (args.size() != 1)
                    throw new TemplateModelException("?seq_contains(...) expects one argument.");
                TemplateModel arg = (TemplateModel) args.get(0);
                TemplateModelIterator it = m_coll.iterator();
                while (it.hasNext()) {
                    if (modelsEqual(it.next(), arg, m_env))
                        return TemplateBooleanModel.TRUE;
                }
View Full Code Here


        logger.warn(message);
    }
   
    static class matchesBI extends BuiltIn {
        TemplateModel _getAsTemplateModel(Environment env) throws TemplateException {
            TemplateModel targetModel = target.getAsTemplateModel(env);
            assertNonNull(targetModel, this, env);
            if (!(targetModel instanceof TemplateScalarModel)) {
                throw invalidTypeException(targetModel, target, env, "string");
            }
            return new MatcherBuilder((TemplateScalarModel) targetModel);
View Full Code Here

        }
    }
   
    static class groupsBI extends BuiltIn {
        TemplateModel _getAsTemplateModel(Environment env) throws TemplateException {
            TemplateModel targetModel = target.getAsTemplateModel(env);
            assertNonNull(targetModel, this, env);
            if (targetModel instanceof RegexMatchModel) {
                return ((RegexMatchModel) targetModel).getGroups();
            }
            if (targetModel instanceof RegexMatchModel.Match) {
View Full Code Here

   
   
    static class replace_reBI extends BuiltIn {
        TemplateModel _getAsTemplateModel(Environment env)
                throws TemplateException {
            TemplateModel model = target.getAsTemplateModel(env);
            if (model instanceof TemplateScalarModel) {
                return new ReplaceMethod(((TemplateScalarModel) model).getAsString());
            }
            throw invalidTypeException(model, target, env, "string");
        }
View Full Code Here

    }
   
    static class split_reBI extends BuiltIn {
        TemplateModel _getAsTemplateModel(Environment env)
                throws TemplateException {
            TemplateModel model = target.getAsTemplateModel(env);
            if (model instanceof TemplateScalarModel) {
                return new SplitMethod(((TemplateScalarModel) model).getAsString());
            }
            throw invalidTypeException(model, target, env, "string");
        }
View Full Code Here

abstract class DateBuiltins {
    abstract static class DateBuiltin extends BuiltIn {
        TemplateModel _getAsTemplateModel(Environment env)
                throws TemplateException
        {
            TemplateModel model = target.getAsTemplateModel(env);
            if (model instanceof TemplateDateModel) {
                TemplateDateModel tdm = (TemplateDateModel) model;
                return calculateResult(EvaluationUtil.getDate(tdm, target, env), tdm.getDateType(), env);
            } else {
                if(model == null) {
                    throw new InvalidReferenceException(target + " is undefined.", env);
                }
                throw new NonDateException(
                        target + " should be a date, time, or date+time, but it's a(n) "
                        + model.getClass().getName(), env);               
            }
        }
View Full Code Here

                    throw new TemplateModelException(
                        "?" + biName + "(...) expects exactly 1 argument, but had "
                        + args.size() + ".");
                }
               
                TemplateModel tzArgTM = (TemplateModel) args.get(0);
                TimeZone tzArg;
                Object adaptedObj;
                if (tzArgTM instanceof AdapterTemplateModel
                        && (adaptedObj =
                                ((AdapterTemplateModel) tzArgTM)
                                .getAdaptedObject(TimeZone.class))
                            instanceof TimeZone) {
                    tzArg = (TimeZone) adaptedObj;                   
                } else if (tzArgTM instanceof TemplateScalarModel) {
                    String tzName = ((TemplateScalarModel) tzArgTM).getAsString();
                    try {
                        tzArg = DateUtil.getTimeZone(tzName);
                    } catch (UnrecognizedTimeZoneException e) {
                        throw new TemplateModelException(
                                "The time zone string specified for ?" + biName +
                                "(...) is not recognized as a valid time zone name: " +
                                StringUtil.jQuote(tzName));
                    }
                } else {
                    throw new TemplateModelException(
                            "The argument to ?" + biName +
                            "(...) must be a String or a " +
                            "java.util.TimeZone but it was a " +
                            (tzArgTM != null ? tzArgTM.getClass().getName() : "null") +
                            ".");
                }
               
                return new SimpleScalar(DateUtil.dateToISO8601String(
                        date,
View Full Code Here

        this.nestedBlock = nestedBlock;
    }

    void accept(Environment env) throws TemplateException, IOException
    {
        TemplateModel baseModel = listExpression.getAsTemplateModel(env);
        if (baseModel == null) {
            if (env.isClassicCompatible()) {
                // Classic behavior of simply ignoring null references.
                return;
            }
View Full Code Here

            invokingMacroContext = env.getCurrentMacroContext();
            List bodyParameterNames = invokingMacroContext.bodyParameterNames;
            if (bodyParameters != null) {
                for (int i=0; i<bodyParameters.size(); i++) {
                    Expression exp = (Expression) bodyParameters.get(i);
                    TemplateModel tm = exp.getAsTemplateModel(env);
                    if (bodyParameterNames != null && i < bodyParameterNames.size()) {
                        String bodyParameterName = (String) bodyParameterNames.get(i);
                        if (bodyVars == null) {
                            bodyVars = env.new Namespace();
                        }
View Full Code Here

                    beginLine, beginColumn);
        }
    }

    void accept(Environment env) throws TemplateException {
        TemplateModel mval = value.getAsTemplateModel(env);
        String strval;
        if (mval instanceof TemplateScalarModel) {
            strval = ((TemplateScalarModel) mval).getAsString();
        } else if (mval instanceof TemplateBooleanModel) {
            strval = ((TemplateBooleanModel) mval).getAsBoolean() ? "true" : "false";
View Full Code Here

TOP

Related Classes of freemarker.template.TemplateModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.