Exemple #1
0
			Object ICaptor.PreProcess(ICaptorState captorState)
			{
				IStringSink sink = (IStringSink)captorState.Environment;
				sink.BeginAppend(captorState.Capture, m_id);
				sink.Append(m_replacement);
				sink.EndAppend(captorState.Capture);

				//防止嵌套
				return null;
			}
Exemple #2
0
			Boolean IMatchTimeJudger.IsMatch(ICaptorState captorState)
			{
				return m_judger(captorState);
			}
Exemple #3
0
			void ICaptor.PostProcess(ICaptorState captorState, Object childEnvironment)
			{
				if (m_post != null)
					m_post(captorState, childEnvironment);
			}
Exemple #4
0
			Object ICaptor.PreProcess(ICaptorState captorState)
			{
				if (m_pre != null)
					return m_pre(captorState);
				else
					return captorState.Environment;
			}
Exemple #5
0
			void ICaptor.PostProcess(ICaptorState captorState, Object childEnvironment)
			{
			}
Exemple #6
0
			void ICaptor.PostProcess(ICaptorState captorState, Object childEnvironment)
			{
				IStringSink sink = (IStringSink)captorState.Environment;
				OnPostProcess(sink, captorState, childEnvironment);
				sink.EndAppend(captorState.Capture);
			}
Exemple #7
0
			Object ICaptor.PreProcess(ICaptorState captorState)
			{
				Substring[] arr = (Substring[])captorState.Environment;
				arr[m_index] = captorState.Capture;
				return null;
			}
Exemple #8
0
			protected abstract Object OnPreProcess(IStringSink sink, ICaptorState captorState);
Exemple #9
0
			protected abstract void OnPostProcess(IStringSink sink, ICaptorState captorState, Object childEnvironment);
Exemple #10
0
			void ICaptor.PostProcess(ICaptorState captorState, Object childEnvironment)
			{
				((Sink)childEnvironment).PostProcess(captorState, childEnvironment);
			}
Exemple #11
0
			Object ICaptor.PreProcess(ICaptorState captorState)
			{
				IStringSink sink = (IStringSink)captorState.Environment;
				sink.BeginAppend(captorState.Capture, m_id);
				return OnPreProcess(sink, captorState);
			}
Exemple #12
0
			Object ICaptor.PreProcess(ICaptorState captorState)
			{
				return new Sink(m_id).PreProcess(captorState);
			}
Exemple #13
0
				public void PostProcess(ICaptorState captorState, Object childEnvironment)
				{
					m_baseSink.EndAppend(captorState.Capture);
				}
Exemple #14
0
				public Object PreProcess(ICaptorState captorState)
				{
					IStringSink sink = (IStringSink)captorState.Environment;
					m_baseSink = sink;

					m_baseSink.BeginAppend(captorState.Capture, m_id);

					return this;
				}
Exemple #15
0
				public void PostProcess(ICaptorState captorState, Object childEnvironment)
				{
					//当前位置到整体结尾
					m_baseSink.Append(captorState.Capture.WholeString, m_currentPosition, captorState.Capture.End - m_currentPosition);
					m_currentPosition = captorState.Capture.End;

					m_baseSink.EndAppend(captorState.Capture);
				}
Exemple #16
0
				public Object PreProcess(ICaptorState captorState)
				{
					m_baseSink = (IStringSink)captorState.Environment;

					m_currentPosition = captorState.Capture.Begin;

					m_baseSink.BeginAppend(captorState.Capture, m_id);

					return this;
				}