本文整理了Java中org.tinygroup.context.Context.getParent()
方法的一些代码示例,展示了Context.getParent()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Context.getParent()
方法的具体详情如下:
包路径:org.tinygroup.context.Context
类名称:Context
方法名:getParent
[英]返回父上下文对象
[中]返回父上下文对象
代码示例来源:origin: org.tinygroup/org.tinygroup.beancontext
public Context getParent() {
return context.getParent();
}
代码示例来源:origin: org.tinygroup/org.tinygroup.tinyscriptbase
public Object execute(ScriptSegment segment, ScriptContext context)
throws ScriptException {
//支持多层上下文结构,设置引擎上下文为最顶层上下文
Context nowContext = context;
Context parentContext = nowContext.getParent();
while(parentContext!=null){
nowContext = parentContext;
parentContext = nowContext.getParent();
}
if(!nowContext.equals(scriptContext)){
//关联引擎上下文
nowContext.setParent(scriptContext);
}
return segment.execute(context);
}
代码示例来源:origin: org.tinygroup/org.tinygroup.context
protected void getTotalContext(Context contextNode, List<Context> list){
if(!list.contains(contextNode)){
list.add(contextNode);
}else{
return;
}
for (Context subContext : contextNode.getSubContextMap().values()) {
getTotalContext(subContext,list);
}
if(contextNode.getParent()!=null){
getTotalContext(contextNode.getParent(),list);
}
}
代码示例来源:origin: org.tinygroup/org.tinygroup.tinyscriptbase
public Map<String, Object> getTotalItemMap() {
List<Context> contextList = new ArrayList<Context>();
//获取完整的上下文链
Context parentContext = getParent();
while(parentContext!=null){
contextList.add(0,parentContext);
parentContext = parentContext.getParent();
}
Map<String, Object> map = new HashMap<String, Object>();
//合并上下文,优先级:儿子高于父亲
for(Context context:contextList){
map.putAll(context.getItemMap());
}
map.putAll(getItemMap());
return map;
}
代码示例来源:origin: org.tinygroup/org.tinygroup.templateengine
protected Macro getMacro(TemplateContext $context) {
Macro $macro;
$macro = getBodyContentMacro();
if ($macro == null) {
$macro = (Macro) $context.getItemMap().get("bodyContent");
}
if ($macro == null) {
Context context = $context;
while (context.getParent() != null) {
if (context.get("bodyContent") != null && context.getItemMap().size() > 0 && !context.getItemMap().containsKey("isCalled")) {
$macro = (Macro) context.getItemMap().get("bodyContent");
return $macro;
}
context = context.getParent();
}
}
return $macro;
}
代码示例来源:origin: org.tinygroup/org.tinygroup.tinyscriptbase
/**
* 自下往上递归查询包含key值的itemMap
* @param context
* @param key
* @return
*/
private Map<String, Object> findItemMap(Context context,String key){
if(context!= null){
if(context.getItemMap().containsKey(key)){
return context.getItemMap();
}else{
return findItemMap(context.getParent(),key);
}
}
return null;
}
代码示例来源:origin: org.tinygroup/org.tinygroup.context
protected boolean existNodeMap(String name, Context contextNode,
Map<Context, String> nodeMap) {
// 如果当前不存在,则查找父亲中有没有
// 如果已经存在,则返回之
if (contextNode.getItemMap().containsKey(name)) {
return true;
} else {
nodeMap.put(contextNode, "");
}
if (!contextNode.getSubContextMap().isEmpty()) {
for (Context context : contextNode.getSubContextMap().values()) {
if (nodeMap.get(context) == null) {
boolean exist = existNodeMap(name, context, nodeMap);
if (exist) {
return true;
}
}
}
}
Context theParent = contextNode.getParent();
if (theParent != null && nodeMap.get(theParent) == null) {
return existNodeMap(name, theParent, nodeMap);
}
return false;
}
代码示例来源:origin: org.tinygroup/org.tinygroup.context
protected Context containNodeMap(String name, Context contextNode,
Map<Context, String> nodeMap) {
// 如果当前不存在,则查找父亲中有没有
// 如果已经存在,则返回之
if (contextNode.getItemMap().containsKey(name)) {
return contextNode;
} else {
nodeMap.put(contextNode, "");
}
if (!contextNode.getSubContextMap().isEmpty()) {
for (Context context : contextNode.getSubContextMap().values()) {
if (nodeMap.get(context) == null) {
Context con = containNodeMap(name, context, nodeMap);
if (con != null) {
return con;
}
}
}
}
Context theParent = contextNode.getParent();
if (theParent != null && nodeMap.get(theParent) == null) {
return containNodeMap(name, theParent, nodeMap);
}
return null;
}
代码示例来源:origin: org.tinygroup/org.tinygroup.context
protected boolean renameKeyNodeMap(String key, String newKey,
Context contextNode, Map<Context, String> nodeMap) {
boolean renamed = renameKeyOfSuper(key, newKey, contextNode);
Context theParent = contextNode.getParent();
if (renamed) {
return true;
} else {
nodeMap.put(contextNode, "");
}
if (!contextNode.getSubContextMap().isEmpty()) {
for (Context context : contextNode.getSubContextMap().values()) {
if (nodeMap.get(context) == null) {
renamed = renameKeyNodeMap(key, newKey, context, nodeMap);
if (renamed) {
return true;
}
}
}
}
if (theParent != null && nodeMap.get(theParent) == null) {
renamed = renameKeyNodeMap(key, newKey, theParent, nodeMap);
if (renamed) {
return true;
}
}
return false;
}
代码示例来源:origin: org.tinygroup/context
protected boolean renameKeyNodeMap(String key, String newKey,
Context contextNode, Map<Context, String> nodeMap) {
boolean renamed = renameKeyOfSuper(key, newKey, contextNode);
Context theParent = contextNode.getParent();
if (renamed) {
return true;
} else {
nodeMap.put(contextNode, "");
}
if (contextNode.getSubContextMap().size() > 0) {
for (Context context : contextNode.getSubContextMap().values()) {
if (nodeMap.get(context) == null) {
renamed = renameKeyNodeMap(key, newKey, context, nodeMap);
if (renamed) {
return true;
}
}
}
}
if (theParent != null && nodeMap.get(theParent) == null) {
renamed = renameKeyNodeMap(key, newKey, theParent, nodeMap);
if (renamed) {
return true;
}
}
return false;
}
代码示例来源:origin: org.tinygroup/org.tinygroup.context
Context theParent = contextNode.getParent();
if (theParent != null && nodeMap.get(theParent) == null) {
return (T) findNodeMap(name, theParent, nodeMap);
代码示例来源:origin: org.tinygroup/context
Context theParent = contextNode.getParent();
if (theParent != null && nodeMap.get(theParent) == null) {
return (T) findNodeMap(name, theParent, nodeMap);
内容来源于网络,如有侵权,请联系作者删除!