Hippo CMS是一个以信息为中心的开源内容管理系统。Hippo CMS目标是供中,大型企业来管理其发布在互连网

源代码在线查看: context.js

软件大小: 29397 K
上传用户: devilgaze
关键词: Hippo CMS 开源 大型
下载地址: 免注册下载 普通下载 VIP

相关代码

				/*
				* Copyright 2001-2007 Hippo (www.hippo.nl)
				*
				* Licensed under the Apache License, Version 2.0 (the "License");
				* you may not use this file except in compliance with the License.
				* You may obtain a copy of the License at
				*
				*   http://www.apache.org/licenses/LICENSE-2.0
				*
				* Unless required by applicable law or agreed to in writing, software
				* distributed under the License is distributed on an "AS IS" BASIS,
				* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
				* See the License for the specific language governing permissions and
				* limitations under the License.
				*/
				
				
				/**
				 * default context
				 * Simple port of Avalon context, through which runtime context can be applied 
				 * by a manager on a component. 
				 */
				 
				function DefaultContext() {
				  if(!Cfx.Class.IsDefined(DefaultContext)) {
				    Cfx.Class.New(DefaultContext);
				  
				    if(Cfx.Class.IsInitializing(DefaultContext)) {
				       DefaultContext.Method(get);
				       DefaultContext.Method(has);
				       DefaultContext.Method(put);       
				
				       return;
				    }
				  }
				
				  this.InitInstance();
				  
				  /**
				   *  @param 	DefaultContext
				   */
				  if(arguments.length) {
				    this.parentContext = arguments[0];
				  } 
				  this.context = new Array();
				  
				  return this;
				
				  function get(key) {
				    var entry = this.context[key];
				    if (entry != null) {
				      return entry;
				    }
				    if (this.parentContext != null) {
				      return this.parentContext.get(key);
				    }
				    throw new Error("Context-entry for " + key + " not found!");  
				  }
				  
				  function has(key) {
				    if (this.context[key] != null) {
				      return true;
				    }
				    if (this.parentContext != null ) {
				      return this.parentContext.has(key);
				    }
				    return false;  
				  }
				  
				  function put(key, entry) {
				    this.context[key] = entry;
				  }
				}			

相关资源