ognlcontextstate.java
来自「在Struts2中的jar包xwork的源代码.版本为2.0.7」· Java 代码 · 共 157 行
JAVA
157 行
/* * Copyright (c) 2002-2006 by OpenSymphony * All rights reserved. */package com.opensymphony.xwork2.util;import java.util.HashMap;import java.util.Map;/** * Manages variables in the OgnlContext and returns values * to be used by the application. * * @author Gabe */public class OgnlContextState { public static final String CURRENT_PROPERTY_PATH="current.property.path"; public static final String FULL_PROPERTY_PATH="current.property.path"; private static final String GETTING_BY_KEY_PROPERTY="xwork.getting.by.key.property"; private static final String SET_MAP_KEY="set.map.key"; public static boolean isCreatingNullObjects(Map context) { //TODO return getBooleanProperty(InstantiatingNullHandler.CREATE_NULL_OBJECTS, context); } public static void setCreatingNullObjects(Map context, boolean creatingNullObjects) { setBooleanValue(InstantiatingNullHandler.CREATE_NULL_OBJECTS, context, creatingNullObjects); } public static boolean isGettingByKeyProperty(Map context) { return getBooleanProperty(GETTING_BY_KEY_PROPERTY, context); } public static void setDenyMethodExecution(Map context, boolean denyMethodExecution) { setBooleanValue(XWorkMethodAccessor.DENY_METHOD_EXECUTION, context, denyMethodExecution); } public static boolean isDenyMethodExecution(Map context) { return getBooleanProperty(XWorkMethodAccessor.DENY_METHOD_EXECUTION, context); } public static void setGettingByKeyProperty(Map context, boolean gettingByKeyProperty) { setBooleanValue(GETTING_BY_KEY_PROPERTY, context, gettingByKeyProperty); } public static boolean isReportingConversionErrors(Map context) { return getBooleanProperty(XWorkConverter.REPORT_CONVERSION_ERRORS, context); } public static void setReportingConversionErrors(Map context, boolean reportingErrors) { setBooleanValue(XWorkConverter.REPORT_CONVERSION_ERRORS, context, reportingErrors); } public static Class getLastBeanClassAccessed(Map context) { return (Class)context.get(XWorkConverter.LAST_BEAN_CLASS_ACCESSED); } public static void setLastBeanPropertyAccessed(Map context, String property) { context.put(XWorkConverter.LAST_BEAN_PROPERTY_ACCESSED, property); } public static String getLastBeanPropertyAccessed(Map context) { return (String)context.get(XWorkConverter.LAST_BEAN_PROPERTY_ACCESSED); } public static void setLastBeanClassAccessed(Map context, Class clazz) { context.put(XWorkConverter.LAST_BEAN_CLASS_ACCESSED, clazz); } /** * Gets the current property path but not completely. * It does not use the [ and ] used in some representations * of Maps and Lists. The reason for this is that the current * property path is only currently used for caching purposes * so there is no real reason to have an exact replica. * * <p/>So if the real path is myProp.myMap['myKey'] this would * return myProp.myMap.myKey. * * @param context */ public static String getCurrentPropertyPath(Map context) { return (String)context.get(CURRENT_PROPERTY_PATH); } public static String getFullPropertyPath(Map context) { return (String)context.get(FULL_PROPERTY_PATH); } public static void setFullPropertyPath(Map context, String path) { context.put(FULL_PROPERTY_PATH, path); } public static void updateCurrentPropertyPath(Map context, Object name) { String currentPath=getCurrentPropertyPath(context); if (name!=null) { if (currentPath!=null) { currentPath=currentPath + "." + name.toString(); } else { currentPath=name.toString(); } context.put(CURRENT_PROPERTY_PATH, currentPath); } } public static void setSetMap(Map context, Map setMap, String path) { Map mapOfSetMaps=(Map)context.get(SET_MAP_KEY); if (mapOfSetMaps==null) { mapOfSetMaps=new HashMap(); context.put(SET_MAP_KEY, mapOfSetMaps); } mapOfSetMaps.put(path, setMap); } public static Map getSetMap(Map context, String path) { Map mapOfSetMaps=(Map)context.get(SET_MAP_KEY); if (mapOfSetMaps==null) { return null; } return (Map)mapOfSetMaps.get(path); } private static boolean getBooleanProperty(String property, Map context) { Boolean myBool=(Boolean)context.get(property); return (myBool==null)?false:myBool.booleanValue(); } private static void setBooleanValue(String property, Map context, boolean value) { context.put(property, new Boolean(value)); } /** * */ public static void clearCurrentPropertyPath(Map context) { context.put(CURRENT_PROPERTY_PATH, null); } public static void clear(Map context) { context.put(XWorkConverter.LAST_BEAN_CLASS_ACCESSED,null); context.put(XWorkConverter.LAST_BEAN_PROPERTY_ACCESSED,null); context.put(CURRENT_PROPERTY_PATH,null); context.put(FULL_PROPERTY_PATH,null); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?