java类freemarker.template.ObjectWrapper的实例源码

ContextFtlUtil.java 文件源码 项目:scipio-erp 阅读 23 收藏 0 点赞 0 评论 0
public static Object popRequestStack(String name, Environment env, ObjectWrapper objectWrapper) throws TemplateModelException {
    HttpServletRequest request = getRequest(env);
    Map<String, Object> context = null;
    if (request == null) {
        context = getContext(env);
    }
    return readRequestStack(name, true, request, context, env);
}
ContextFtlUtil.java 文件源码 项目:scipio-erp 阅读 21 收藏 0 点赞 0 评论 0
/**
 * Returns copy of request stack in request copyTargetType.
 * <strong>WARN</strong>: if copyTargetType is null, no copy is made and unmodifiable list is returned.
 *      This list must be discarded by caller as soon as possible, before any more changes to the stack.
 */
public static Object getRequestStackAsList(String name, LangFtlUtil.TemplateValueTargetType copyTargetType, Environment env, ObjectWrapper objectWrapper) throws TemplateModelException {
    HttpServletRequest request = getRequest(env);
    Map<String, Object> context = null;
    if (request == null) {
        context = getContext(env);
    }
    return getRequestStackAsList(name, request, context, env, objectWrapper, copyTargetType);
}
RequestStackMethod.java 文件源码 项目:scipio-erp 阅读 17 收藏 0 点赞 0 评论 0
@SuppressWarnings("unchecked")
protected Object execGetAsList(List args) throws TemplateModelException {
    if (args == null || args.size() < 1 || args.size() > 2) {
        throw new TemplateModelException("Invalid number of arguments (expected: 1-2)");
    }
    TemplateModel nameModel = (TemplateModel) args.get(0);
    if (!(nameModel instanceof TemplateScalarModel)) {
        throw new TemplateModelException("First argument not an instance of TemplateScalarModel (string)");
    }
    String stackName = LangFtlUtil.getAsStringNonEscaping(((TemplateScalarModel) nameModel));

    boolean origList = false;

    if (args.size() >= 2) {
        TemplateModel listTypeModel = (TemplateModel) args.get(1);
        String listType = LangFtlUtil.getAsStringNonEscaping(((TemplateScalarModel) listTypeModel));
        if ("orig".equals(listType)) {
            origList = true;
        }
    }

    Environment env = CommonFtlUtil.getCurrentEnvironment();
    ObjectWrapper objectWrapper = GetRequestVarMethod.getResultObjectWrapper(env);
    Object res = ContextFtlUtil.getRequestStackAsList(stackName, 
            (origList ? null : LangFtlUtil.TemplateValueTargetType.SIMPLEMODEL), env, objectWrapper);
    return LangFtlUtil.wrap(res, objectWrapper);
}
GetStyleNamesByPrefixMethod.java 文件源码 项目:scipio-erp 阅读 20 收藏 0 点赞 0 评论 0
@SuppressWarnings("unchecked")
@Override
public Object exec(List args) throws TemplateModelException {
    if (args == null || args.size() != 2) {
        throw new TemplateModelException("Invalid number of arguments (expected: 2)");
    }
    String styleString = LangFtlUtil.getAsStringNonEscaping(((TemplateScalarModel) args.get(0)));
    styleString = TemplateFtlUtil.getPlainClassArgNames(styleString);

    String prefix = LangFtlUtil.getAsStringNonEscaping(((TemplateScalarModel) args.get(1)));

    String[] names = StringUtils.split(styleString, ' ');
    // NOTE: For emergency/safety reasons, use the current wrapper, which MAY be escaping.
    // style strings contain only simple characters anyway.
    ObjectWrapper objectWrapper = LangFtlUtil.getCurrentObjectWrapper();
    SimpleSequence res = new SimpleSequence(names.length, objectWrapper);

    for(String name : names) {
        if (name.startsWith(prefix)) {
            res.add(name);
        }
    }

    // redundant
    //return LangFtlUtil.wrap(res, objectWrapper);
    return res;
}
WrappingOptions.java 文件源码 项目:scipio-erp 阅读 26 收藏 0 点赞 0 评论 0
public WrappingOptions(String targetWrapperName, ObjectWrapper targetWrapper, RewrapMode rewrapMode, ObjectWrapper curObjectWrapper) {
    super();
    this.targetWrapperName = targetWrapperName;
    this.targetWrapper = targetWrapper;
    this.rewrapMode = rewrapMode;
    this.curObjectWrapper = curObjectWrapper;
}
ToSimpleMapMethod.java 文件源码 项目:scipio-erp 阅读 15 收藏 0 点赞 0 评论 0
@SuppressWarnings("unchecked")
@Override
public Object exec(List args) throws TemplateModelException {
    if (args == null || args.size() != 1) {
        throw new TemplateModelException("Invalid number of arguments (expected: 1)");
    }
    Environment env = CommonFtlUtil.getCurrentEnvironment();
    TemplateModel object = (TemplateModel) args.get(0);
    ObjectWrapper objectWrapper = LangFtlUtil.getCurrentObjectWrapper(env);
    return LangFtlUtil.toSimpleMap(object, null, objectWrapper);
}
CopyObjectMethod.java 文件源码 项目:scipio-erp 阅读 16 收藏 0 点赞 0 评论 0
@SuppressWarnings("unchecked")
@Override
public Object exec(List args) throws TemplateModelException {
    if (args == null || args.size() < 1 || args.size() > 2) {
        throw new TemplateModelException("Invalid number of arguments (expected: 1-2)");
    }
    Environment env = CommonFtlUtil.getCurrentEnvironment();
    TemplateModel object = (TemplateModel) args.get(0);
    ObjectWrapper objectWrapper = LangFtlUtil.getCurrentObjectWrapper(env);
    return LangFtlUtil.copyObject(object, null, objectWrapper);
}
LangFtlUtil.java 文件源码 项目:scipio-erp 阅读 53 收藏 0 点赞 0 评论 0
/**
 * Checks if the wrapper is a special escaping wrapper, and if so,
 * returns a non-escaping one.
 */
public static ObjectWrapper getNonEscapingObjectWrapper(ObjectWrapper objectWrapper) {
    if (objectWrapper instanceof ScipioExtendedObjectWrapper) {
        return FreeMarkerWorker.getDefaultOfbizWrapper();
    } else {
        return objectWrapper;
    }
}
LangFtlUtil.java 文件源码 项目:scipio-erp 阅读 26 收藏 0 点赞 0 评论 0
/**
 * Checks if the current env wrapper is a special escaping wrapper, and if so,
 * returns a non-escaping one.
 */
public static ObjectWrapper getNonEscapingObjectWrapper(Environment env) {
    ObjectWrapper objectWrapper = env.getObjectWrapper();
    if (objectWrapper instanceof ScipioExtendedObjectWrapper) {
        return FreeMarkerWorker.getDefaultOfbizWrapper();
    } else {
        return objectWrapper;
    }
}
LangFtlUtil.java 文件源码 项目:scipio-erp 阅读 23 收藏 0 点赞 0 评论 0
/**
 * Checks if the current env wrapper is a special escaping wrapper, and if so,
 * returns a non-escaping one.
 */
public static ObjectWrapper getNonEscapingObjectWrapper() {
    Environment env = FreeMarkerWorker.getCurrentEnvironment();
    ObjectWrapper objectWrapper = env.getObjectWrapper();
    if (objectWrapper instanceof ScipioExtendedObjectWrapper) {
        return FreeMarkerWorker.getDefaultOfbizWrapper();
    } else {
        return objectWrapper;
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号