Example

The following is a sample interceptor and configuration file, where one interceptor class implements all four interfaces.

Configuration file CMServiceConfig.xml:


			<ServiceInterceptors
			    <Service name="CMLTBTCP">
			        <Interceptor action="add">
			            com.splwg.cis.interceptortest.InterceptorTest
			        </Interceptor> 
			        <Interceptor action="change">
			            com.splwg.cis.interceptortest.InterceptorTest
			        </Interceptor> 
			        <Interceptor action="delete">
			            com.splwg.cis.interceptortest.InterceptorTest
			        </Interceptor> 
			        <Interceptor action="read">
			            com.splwg.cis.interceptortest.InterceptorTest
			        </Interceptor>
			    </Service>
			</ServiceInterceptors>
			
		

Class com.splwg.cm.interceptortest.InterceptorTest:


			package com.splwg.cm.interceptortest;
			
			import com.splwg.base.api.serviceinterception.IAddInterceptor;
			import com.splwg.base.api.serviceinterception.IChangeInterceptor;
			import com.splwg.base.api.serviceinterception.IDeleteInterceptor;
			import com.splwg.base.api.serviceinterception.IReadInterceptor;
			import com.splwg.base.api.service.PageBody;
			import com.splwg.base.api.service.PageHeader;
			import com.splwg.base.api.service.RequestContext;
			
			public class InterceptorTest implements IAddInterceptor, IChangeInterceptor,
			        IDeleteInterceptor, IReadInterceptor {
			
			    public PageBody aboutToAdd(RequestContext context, PageBody in) {
			        System.out.println("aboutToAdd: " + in);
			        return null;
			    }
			
			    public void afterAdd(RequestContext context, PageBody added) {
			        System.out.println("afterAdd: " + added);
			    };
			
			    public PageBody aboutToChange(RequestContext context, PageBody in) {
			        System.out.println("aboutToChange: " + in);
			        return null;
			    };
			
			    public void afterChange(RequestContext context, PageBody changed) {
			        System.out.println("afterChange: " + changed);
			    };
			
			    public boolean aboutToDelete(RequestContext context, PageBody in) {
			        System.out.println("aboutToDelete: " + in);
			        return true;
			    }
			
			    public void afterDelete(RequestContext context, PageBody in) {
			        System.out.println("afterDelete: " + in);
			    }
			
			    public PageBody aboutToRead(RequestContext context, PageHeader in) {
			        System.out.println("aboutToRead: " + in);
			        return null;
			    }
			
			    public void afterRead(RequestContext context, PageBody result) {
			        System.out.println("afterRead: " + result);
			    }
			}