<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
  <description>Object definitions.</description>

  <!-- Creates an advisor (advice + pointcut). -->
  <object id="StringArrayFilterAspect" type="Spring.Aop.Support.RegularExpressionMethodPointcutAdvisor, Spring.Aop">
    <property name="advice">
      <object type="StringArrayFilterAdvice">
        <property name="Pattern" value="*spring.net"/>
      </object>
    </property>
    <property name="patterns">
      <list>
        <value>GetEmails</value>
      </list>
    </property>
  </object>

  <!-- Defines the contact service. -->
  <object id="ContactService" type="ContactService">
    <property name="Emails">
      <list element-type="string">
        <value>manuel@spring.pt</value>
        <value>bruno@spring.net</value>
        <value>marie@spring.net</value>
        <value>brice@spring.net</value>
        <value>bertrand@spring.net</value>
        <value>marcel@spring.net</value>
        <value>bernadette@spring.net</value>
        <value>bruno@spring.pt</value>
        <value>baptiste@spring.net</value>
        <value>brad@spring.net</value>
        <value>marc@spring.net</value>
        <value>barbie@spring.net</value>
        <value>bernie@spring.net</value>
        <value>betty@spring.net</value>
        <value>maria@spring.pt</value>
      </list>
    </property>
  </object>

  <!-- Applies AOP on the contact service. -->
  <object id="ContactServiceWeaved" type="Spring.Aop.Framework.ProxyFactoryObject, Spring.Aop">
    <property name="target" ref="ContactService"/>
    <property name="interceptorNames">
      <list>
        <value>StringArrayFilterAspect</value>
      </list>
    </property>
  </object>

  <!-- Exports contact service (weaved or not) as a web service. -->
  <object id="ContactWebService" type="Spring.Web.Services.WebServiceExporter, Spring.Web">
    <!--<property name="TargetName" value="ContactService"/>-->
    <property name="TargetName" value="ContactServiceWeaved"/>
    <property name="Namespace" value="http://Spring.Examples.Atlas/ContactService"/>
    <property name="Description" value="Contact Web Services"/>
    <property name="TypeAttributes">
      <list>
        <object type="System.Web.Script.Services.ScriptServiceAttribute, System.Web.Extensions"/>
      </list>
    </property>
  </object>

</objects>