Summary description for EngineConfiguration.
상속: NodeBase
예제 #1
0
		/// <summary>
		/// Constructs an AspectEngine
		/// </summary>
		/// <param name="config">From where to gather the 
		/// configuration</param>
		public AspectEngine(EngineConfiguration config)
		{
			AssertUtil.ArgumentNotNull(config, "config");
			_config = config;
			_aspectMatcher = new DefaultAspectMatcher();
			_proxyFactory = new DefaultProxyFactory(this);
		}
예제 #2
0
		public virtual void Process(Context context, EngineConfiguration configuration)
		{
			if (Next != null)
			{
				Next.Process(context, configuration);
			}
		}
예제 #3
0
		public override AspectEngine Build()
		{
			if (!_node.Name.Equals("configuration"))
			{
				throw new BuilderException("Invalid root node. Expecting 'configuration'");
			}

			XmlNode contentNode = _node;

			if (contentNode.FirstChild.NodeType == XmlNodeType.Whitespace ||
				contentNode.FirstChild.NodeType == XmlNodeType.Text)
			{
				base.Reader = new StringReader(contentNode.InnerText);
				return base.Build();
			}
			else if (contentNode.FirstChild.NodeType == XmlNodeType.CDATA)
			{
				// CData node containing language configuration
				// Parse it 

				base.Reader = new StringReader(contentNode.FirstChild.Value);
				return base.Build();
			}

			Configuration = new EngineConfiguration();

			LoadImports();
			LoadGlobals();
			LoadAspects();

			ExecuteSteps();

			return new AspectEngine(Configuration);
		}
예제 #4
0
		public override void Process(Context context, EngineConfiguration conf)
		{
			Init(context);
			Visit(conf);

			if (!context.HasErrors)
			{
				base.Process(context, conf);
			}
		}
예제 #5
0
		public override void Process(Context context, EngineConfiguration conf)
		{
			base.Init(context);

			CheckImports(conf.Imports);
			CheckGlobals(conf);
			CheckAspects(conf.Aspects);

			if (!context.HasErrors)
			{
				base.Process(context, conf);
			}
		}
예제 #6
0
		private void CheckGlobals(EngineConfiguration conf)
		{
			CheckMixins(conf.Mixins.ToDictionary());
			CheckInterceptors(conf.Interceptors.ToDictionary());
		}
예제 #7
0
		protected SemanticAnalizerStep Analize(EngineConfiguration conf, IStep next)
		{
			SemanticAnalizerStep analizer = new SemanticAnalizerStep();
			analizer.Next = next;
			_context = new Context();
			_context.Error += new ErrorDelegate(OnError);
			analizer.Process(_context, conf);
			return analizer;
		}
예제 #8
0
		protected SemanticAnalizerStep Analize(EngineConfiguration conf)
		{
			return Analize(conf, null);
		}
예제 #9
0
		public virtual void Process(Context context, EngineConfiguration configuration)
		{
			_step.Process(context, configuration);
		}
예제 #10
0
		public CodeEngineBuilder()
		{
			Configuration = new EngineConfiguration();
		}