<?xml version="1.0" encoding="UTF-8"?>

<!--
  This is the meta file to declare user's POJO as "aspectized" under
  JBossCacheAop. User will need this file when:
  1. Run off-line precompier, aopc, to generate the "aspectized" class
  2. Run on-line with a special aop class loader.
-->
<aop>
  <!--
    This is JBossAop way of declaring every field in Student has a hook
    for both get and set.
  -->
  <prepare expr="field(* org.jboss.cache.aop.test.Address->*)" />

  <prepare expr="field(* org.jboss.cache.data.Address->*)" />
  <prepare expr="field(* org.jboss.cache.data.Course->*)" />
  <prepare expr="field(* $instanceof{org.jboss.cache.data.Person}->*)" />

   <!-- Note there is no need to declare Student because of instanceof pointcut -->
  <prepare expr="field(* $instanceof{org.jboss.cache.aop.test.Person}->*)" />

  <!--
    Or we can also use instanceof to declare all inherited classes of Link
    as "aspectized" as well.
  -->
   <prepare expr="field(* $instanceof{org.jboss.cache.aop.test.Link}->*)" />

   <prepare expr="field(* $instanceof{org.jboss.cache.aop.test.ValueObject}->*)" />
   <prepare expr="field(* $instanceof{org.jboss.cache.aop.test.IdObject}->*)" />

   <prepare expr="field(* $instanceof{org.jboss.cache.aop.test.NodeManager}->*)" />

   <prepare expr="field(* $instanceof{org.jboss.cache.aop.test.TestNode}->*)" />

   <prepare expr="field(* $instanceof{org.jboss.cache.aop.test.Network*}->*)" />

   <prepare expr="field(* $instanceof{org.jboss.cache.aop.test.Resource}->*)" />

   <prepare expr="field(* $instanceof{org.jboss.cache.aop.test.propagation.*}->*)" />

</aop>
