[jboss-cvs] JBossAS SVN: r57760 - in trunk/aspects/src/main/org/jboss/aop: . deployers

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Oct 20 13:13:34 EDT 2006


Author: kabir.khan at jboss.com
Date: 2006-10-20 13:13:32 -0400 (Fri, 20 Oct 2006)
New Revision: 57760

Added:
   trunk/aspects/src/main/org/jboss/aop/deployers/
   trunk/aspects/src/main/org/jboss/aop/deployers/AspectDeployer.java
   trunk/aspects/src/main/org/jboss/aop/deployers/AspectManager.java
Log:


Added: trunk/aspects/src/main/org/jboss/aop/deployers/AspectDeployer.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aop/deployers/AspectDeployer.java	2006-10-20 17:05:17 UTC (rev 57759)
+++ trunk/aspects/src/main/org/jboss/aop/deployers/AspectDeployer.java	2006-10-20 17:13:32 UTC (rev 57760)
@@ -0,0 +1,322 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, Red Hat Middleware LLC., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.deployers;
+
+import org.jboss.aop.AspectAnnotationLoader;
+import org.jboss.aop.AspectManager;
+import org.jboss.aop.AspectXmlLoader;
+import org.jboss.aop.deployment.JBossScopedClassLoaderHelper;
+import org.jboss.deployers.plugins.deployer.AbstractSimpleDeployer;
+import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.virtual.VirtualFile;
+import org.jboss.virtual.VirtualFileFilter;
+import org.jboss.virtual.VisitorAttributes;
+import org.jboss.virtual.plugins.context.jar.JarUtils;
+import org.jboss.virtual.plugins.vfs.helpers.FilterVirtualFileVisitor;
+import org.jboss.virtual.plugins.vfs.helpers.SuffixesExcludeFilter;
+import org.jboss.logging.Logger;
+import org.w3c.dom.Document;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.List;
+
+import javassist.bytecode.ClassFile;
+
+/**
+ * Deployer for Aspects
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ */
+public class AspectDeployer extends AbstractSimpleDeployer
+{
+   private static final Logger log = Logger.getLogger(AspectDeployer.class);
+   private static final String AOP_JAR_SUFFIX = ".aop";
+   private static final String AOP_DD_SUFFIX = "-aop.xml";
+   
+   @Override
+   public int getRelativeOrder()
+   {
+      //TODO Replace with constant from Deployer interface
+      return 4100;//POSTPROCESS_CLASSLOADING_DEPLOYER;
+   }
+
+   public void deploy(DeploymentUnit unit) throws DeploymentException
+   {
+      List<VirtualFile> files = unit.getMetaDataFiles(null, AOP_DD_SUFFIX);
+
+      if (isAopArchiveOrFolder(unit))
+      {
+         deployAnnotations(unit);
+      }
+      
+      if (files.size() > 0)
+      {
+         deployXml(unit, files);
+      }
+   }
+   
+   public void undeploy(DeploymentUnit unit)
+   {
+      List<VirtualFile> files = unit.getMetaDataFiles(null, AOP_DD_SUFFIX);
+
+      if (isAopArchiveOrFolder(unit))
+      {
+         undeployAnnotations(unit);
+      }
+      
+      if (files.size() > 0)
+      {
+         undeployXml(unit, files);
+      }
+   }
+
+   private void deployXml(DeploymentUnit unit, List<VirtualFile> files) throws DeploymentException
+   {
+      ClassLoader scl = getScopedClassLoader(unit);
+
+      if (scl != null)
+      {
+         log.info("AOP deployment is scoped using classloader " + scl);   
+      }
+      
+      for (VirtualFile vf : files)
+      {
+         try
+         {
+            log.debug("deploying: " + vf.toURL());
+            InputStream is = vf.openStream();
+            try
+            {
+               Document doc = AspectXmlLoader.loadDocument(is);
+               AspectXmlLoader loader = new AspectXmlLoader();
+      
+               if (scl != null)
+               {
+                  loader.setManager(AspectManager.instance(scl));
+                  loader.setClassLoader(scl);
+               }
+               else
+               {
+                  loader.setManager(AspectManager.instance());
+               }
+               loader.deployXML(doc, vf.toURL(), unit.getClassLoader());
+            }
+            finally
+            {
+               is.close();
+            }
+         }
+         catch (Exception e)
+         {
+            throw new DeploymentException(e);
+         }
+      }
+   }
+
+   private void undeployXml(DeploymentUnit unit, List<VirtualFile> files)
+   {
+      for (VirtualFile vf : files)
+      {
+         try
+         {
+            log.debug("undeploying: " + vf.toURL());
+            InputStream is = vf.openStream();
+            try
+            {
+               Document doc = AspectXmlLoader.loadDocument(is);
+               AspectXmlLoader loader = new AspectXmlLoader();
+               loader.setManager(AspectManager.instance());
+               loader.undeployXML(doc, vf.toURL());
+            }
+            finally
+            {
+               is.close();
+            }
+         }
+         catch (Exception e)
+         {
+            throw new RuntimeException(e);
+         }
+      }
+      
+      AspectManager.instance().unregisterClassLoader(unit.getClassLoader());
+   }
+
+   private void deployAnnotations(DeploymentUnit unit) throws DeploymentException
+   {
+      AspectAnnotationLoader loader = new AspectAnnotationLoader(AspectManager.instance()); 
+      List<VirtualFile> files = getClasses(unit);
+      for(VirtualFile file : files)
+      {
+         ClassFile cf = loadClassFile(file);
+         
+         try
+         {
+            log.debug("Deploying possibly annotated class " + cf.getName());
+            loader.deployClassFile(cf);
+         }
+         catch (Exception e)
+         {
+            throw new DeploymentException("Error reading annotations for " + file, e);
+         }
+      }
+   }
+   
+   private void undeployAnnotations(DeploymentUnit unit)
+   {
+      AspectAnnotationLoader loader = new AspectAnnotationLoader(AspectManager.instance()); 
+      List<VirtualFile> files = getClasses(unit);
+      for(VirtualFile file : files)
+      {
+         ClassFile cf = loadClassFile(file);
+         
+         try
+         {
+            log.debug("Undeploying possibly annotated class " + cf.getName());
+            loader.undeployClassFile(cf);
+         }
+         catch (Exception e)
+         {
+            throw new RuntimeException("Error reading annotations for " + file, e);
+         }
+      }
+   }
+   
+   private ClassFile loadClassFile(VirtualFile file)
+   {
+      DataInputStream din = null;
+      ClassFile cf = null;
+      try
+      {
+         InputStream in = file.openStream();
+         din = new DataInputStream(in);
+         cf = new ClassFile(din);
+      }
+      catch (IOException e)
+      {
+         throw new RuntimeException("Error reading " + file, e);
+      }
+      finally
+      {
+         try
+         {
+            din.close();
+         }
+         catch (IOException e)
+         {
+            throw new RuntimeException("Error closing input stream for " + file, e);
+         }
+      }
+      
+      return cf;
+   }
+   
+   private List<VirtualFile> getClasses(DeploymentUnit unit)
+   {
+      VisitorAttributes va = new VisitorAttributes();
+      va.setLeavesOnly(true);
+      ClassFileFilter filter = new ClassFileFilter();
+      RecurseAOPFilter aopFilter = new RecurseAOPFilter();
+      va.setRecurseFilter(aopFilter);
+      FilterVirtualFileVisitor visitor = new FilterVirtualFileVisitor(filter, va);
+
+      for (VirtualFile vf : unit.getDeploymentContext().getClassPath())
+      {
+         try
+         {
+            vf.visit(visitor);
+         }
+         catch (IOException e)
+         {
+            throw new RuntimeException(e);
+         }
+      }
+      return visitor.getMatched();
+
+   }
+   
+   private boolean isAopArchiveOrFolder(DeploymentUnit unit)
+   {
+      String name = unit.getName();
+      
+      //If name is of format 'blah-blah.aop!/' get rid of the trailing '!' and '/', and see if it ends with .aop
+      int index = name.length();
+      if (name.charAt(name.length() - 1) == '/') 
+      {
+         index--;
+      }
+      if (name.charAt(name.length() - 2) == '!')
+      {
+         index--;
+      }
+      String realName = (index == name.length()) ? name : name.substring(0, index);
+      
+      return (realName.endsWith(AOP_JAR_SUFFIX));
+   }
+   
+   private ClassLoader getScopedClassLoader(DeploymentUnit unit)
+   {
+      //Scoped AOP deployments are only available when deployed as part of a scoped sar, ear etc.
+      //It can contain an aop.xml file, or it can be part of a .aop file
+      //Linking a standalone -aop.xml file onto a scoped deployment is not possible at the moment
+      if (JBossScopedClassLoaderHelper.isScopedClassLoader(unit.getClassLoader()))
+      {
+         return unit.getClassLoader();
+      }
+      
+      return null;
+   }
+
+   private static class ClassFileFilter implements VirtualFileFilter
+   {
+      public boolean accepts(VirtualFile file)
+      {
+         try
+         {
+            return file.isLeaf() && file.getName().endsWith(".class");
+         }
+         catch (IOException e)
+         {
+            throw new RuntimeException(e);
+         }
+      }
+   }
+
+   private static class RecurseAOPFilter implements VirtualFileFilter
+   {
+      public boolean accepts(VirtualFile file)
+      {
+         if (file.getName().endsWith(".aop"))
+         {
+            return true;
+         }
+         return false;
+      }
+   }
+
+}

Added: trunk/aspects/src/main/org/jboss/aop/deployers/AspectManager.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aop/deployers/AspectManager.java	2006-10-20 17:05:17 UTC (rev 57759)
+++ trunk/aspects/src/main/org/jboss/aop/deployers/AspectManager.java	2006-10-20 17:13:32 UTC (rev 57760)
@@ -0,0 +1,618 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors. 
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/ 
+package org.jboss.aop.deployers;
+
+import java.io.File;
+
+import javax.management.InstanceAlreadyExistsException;
+import javax.management.JMException;
+import javax.management.ListenerNotFoundException;
+import javax.management.MBeanNotificationInfo;
+import javax.management.MBeanRegistrationException;
+import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
+import javax.management.NotCompliantMBeanException;
+import javax.management.Notification;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+import javax.management.ObjectName;
+
+import org.jboss.aop.deployment.AspectManagerServiceJDK5;
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.logging.Logger;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class AspectManager
+{
+   AspectManagerServiceJDK5 delegate = new AspectManagerServiceJDK5("base-aspects.xml");
+   MBeanServer server;
+
+   public void setMbeanServer(MBeanServer server)
+   {
+      if (server != null)
+      {
+         try
+         {
+            server.registerMBean(delegate, new ObjectName("jboss.aop:service=AspectManager"));
+         }
+         catch (Exception e)
+         {
+            // AutoGenerated
+            throw new RuntimeException("Problem registering jboss.aop:service=AspectManager with JMXServer", e);
+         }
+      }
+      else
+      {
+         if (this.server == null)
+         {
+            try
+            {
+               server.unregisterMBean(new ObjectName("jboss.aop:service=AspectManager"));
+            }
+            catch (Exception e)
+            {
+               // AutoGenerated
+               throw new RuntimeException("Problem unregistering jboss.aop:service=AspectManager with JMXServer", e);
+            }
+         }
+      }
+      this.server = server;
+   }
+
+   public MBeanServer getMbeanServer()
+   {
+      return server;
+   }
+   
+   /**
+    * @param listener
+    * @param filter
+    * @param handback
+    * @see org.jboss.mx.util.JBossNotificationBroadcasterSupport#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+    */
+   public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
+   {
+      delegate.addNotificationListener(listener, filter, handback);
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#aspectDefinitions()
+    */
+   public String aspectDefinitions()
+   {
+      return delegate.aspectDefinitions();
+   }
+
+   /**
+    * @param classname
+    * @see org.jboss.aop.deployment.AspectManagerService#attachClass(java.lang.String)
+    */
+   public void attachClass(String classname)
+   {
+      delegate.attachClass(classname);
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#bindings()
+    */
+   public String bindings()
+   {
+      return delegate.bindings();
+   }
+
+   /**
+    * @throws Exception
+    * @see org.jboss.system.ServiceMBeanSupport#create()
+    */
+   public void create() throws Exception
+   {
+      delegate.create();
+   }
+
+   /**
+    * 
+    * @see org.jboss.system.ServiceMBeanSupport#destroy()
+    */
+   public void destroy()
+   {
+      delegate.destroy();
+   }
+
+   /**
+    * @param obj
+    * @return
+    * @see java.lang.Object#equals(java.lang.Object)
+    */
+   public boolean equals(Object obj)
+   {
+      return delegate.equals(obj);
+   }
+
+   /**
+    * @return
+    * @throws JMException
+    * @see org.jboss.system.ServiceMBeanSupport#getDeploymentInfo()
+    */
+   public DeploymentInfo getDeploymentInfo() throws JMException
+   {
+      return delegate.getDeploymentInfo();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getEnableLoadtimeWeaving()
+    */
+   public boolean getEnableLoadtimeWeaving()
+   {
+      return delegate.getEnableLoadtimeWeaving();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getEnableTransformer()
+    */
+   public boolean getEnableTransformer()
+   {
+      return delegate.getEnableTransformer();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getExclude()
+    */
+   public String getExclude()
+   {
+      return delegate.getExclude();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getIgnore()
+    */
+   public String getIgnore()
+   {
+      return delegate.getIgnore();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getInclude()
+    */
+   public String getInclude()
+   {
+      return delegate.getInclude();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getInstrumentor()
+    */
+   public String getInstrumentor()
+   {
+      return delegate.getInstrumentor();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.system.ServiceMBeanSupport#getLog()
+    */
+   public Logger getLog()
+   {
+      return delegate.getLog();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.system.ServiceMBeanSupport#getName()
+    */
+   public String getName()
+   {
+      return delegate.getName();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.mx.util.JBossNotificationBroadcasterSupport#getNotificationInfo()
+    */
+   public MBeanNotificationInfo[] getNotificationInfo()
+   {
+      return delegate.getNotificationInfo();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getOptimized()
+    */
+   public boolean getOptimized()
+   {
+      return delegate.getOptimized();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getPrune()
+    */
+   public boolean getPrune()
+   {
+      return delegate.getPrune();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.system.ServiceMBeanSupport#getServer()
+    */
+   public MBeanServer getServer()
+   {
+      return delegate.getServer();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.system.ServiceMBeanSupport#getServiceName()
+    */
+   public ObjectName getServiceName()
+   {
+      return delegate.getServiceName();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.system.ServiceMBeanSupport#getState()
+    */
+   public int getState()
+   {
+      return delegate.getState();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.system.ServiceMBeanSupport#getStateString()
+    */
+   public String getStateString()
+   {
+      return delegate.getStateString();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getSuppressReferenceErrors()
+    */
+   public boolean getSuppressReferenceErrors()
+   {
+      return delegate.getSuppressReferenceErrors();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getSuppressTransformationErrors()
+    */
+   public boolean getSuppressTransformationErrors()
+   {
+      return delegate.getSuppressTransformationErrors();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getTmpClassesDir()
+    */
+   public File getTmpClassesDir()
+   {
+      return delegate.getTmpClassesDir();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#getVerbose()
+    */
+   public boolean getVerbose()
+   {
+      return delegate.getVerbose();
+   }
+
+   /**
+    * @param listener
+    * @param notification
+    * @param handback
+    * @see org.jboss.mx.util.JBossNotificationBroadcasterSupport#handleNotification(javax.management.NotificationListener, javax.management.Notification, java.lang.Object)
+    */
+   public void handleNotification(NotificationListener listener, Notification notification, Object handback)
+   {
+      delegate.handleNotification(listener, notification, handback);
+   }
+
+   /**
+    * @return
+    * @see java.lang.Object#hashCode()
+    */
+   public int hashCode()
+   {
+      return delegate.hashCode();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#interceptorFactories()
+    */
+   public String interceptorFactories()
+   {
+      return delegate.interceptorFactories();
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#introductions()
+    */
+   public String introductions()
+   {
+      return delegate.introductions();
+   }
+
+   /**
+    * @param method
+    * @throws Exception
+    * @see org.jboss.system.ServiceMBeanSupport#jbossInternalLifecycle(java.lang.String)
+    */
+   public void jbossInternalLifecycle(String method) throws Exception
+   {
+      delegate.jbossInternalLifecycle(method);
+   }
+
+   /**
+    * @return
+    * @see org.jboss.mx.util.JBossNotificationBroadcasterSupport#nextNotificationSequenceNumber()
+    */
+   public long nextNotificationSequenceNumber()
+   {
+      return delegate.nextNotificationSequenceNumber();
+   }
+
+   /**
+    * 
+    * @see org.jboss.system.ServiceMBeanSupport#postDeregister()
+    */
+   public void postDeregister()
+   {
+      delegate.postDeregister();
+   }
+
+   /**
+    * @param registrationDone
+    * @see org.jboss.system.ServiceMBeanSupport#postRegister(java.lang.Boolean)
+    */
+   public void postRegister(Boolean registrationDone)
+   {
+      delegate.postRegister(registrationDone);
+   }
+
+   /**
+    * @throws Exception
+    * @see org.jboss.system.ServiceMBeanSupport#preDeregister()
+    */
+   public void preDeregister() throws Exception
+   {
+      delegate.preDeregister();
+   }
+
+   /**
+    * @param server
+    * @param name
+    * @return
+    * @throws Exception
+    * @see org.jboss.system.ServiceMBeanSupport#preRegister(javax.management.MBeanServer, javax.management.ObjectName)
+    */
+   public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
+   {
+      return delegate.preRegister(server, name);
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#registeredClassLoaders()
+    */
+   public String registeredClassLoaders()
+   {
+      return delegate.registeredClassLoaders();
+   }
+
+   /**
+    * @param listener
+    * @param filter
+    * @param handback
+    * @throws ListenerNotFoundException
+    * @see org.jboss.mx.util.JBossNotificationBroadcasterSupport#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
+    */
+   public void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
+   {
+      delegate.removeNotificationListener(listener, filter, handback);
+   }
+
+   /**
+    * @param listener
+    * @throws ListenerNotFoundException
+    * @see org.jboss.mx.util.JBossNotificationBroadcasterSupport#removeNotificationListener(javax.management.NotificationListener)
+    */
+   public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException
+   {
+      delegate.removeNotificationListener(listener);
+   }
+
+   /**
+    * @param notification
+    * @see org.jboss.mx.util.JBossNotificationBroadcasterSupport#sendNotification(javax.management.Notification)
+    */
+   public void sendNotification(Notification notification)
+   {
+      delegate.sendNotification(notification);
+   }
+
+   /**
+    * @param enableTransformer
+    * @see org.jboss.aop.deployment.AspectManagerService#setEnableLoadtimeWeaving(boolean)
+    */
+   public void setEnableLoadtimeWeaving(boolean enableTransformer)
+   {
+      delegate.setEnableLoadtimeWeaving(enableTransformer);
+   }
+
+   /**
+    * @param enableTransformer
+    * @see org.jboss.aop.deployment.AspectManagerService#setEnableTransformer(boolean)
+    */
+   public void setEnableTransformer(boolean enableTransformer)
+   {
+      delegate.setEnableTransformer(enableTransformer);
+   }
+
+   /**
+    * @param exclude
+    * @see org.jboss.aop.deployment.AspectManagerService#setExclude(java.lang.String)
+    */
+   public void setExclude(String exclude)
+   {
+      delegate.setExclude(exclude);
+   }
+
+   /**
+    * @param ignore
+    * @see org.jboss.aop.deployment.AspectManagerService#setIgnore(java.lang.String)
+    */
+   public void setIgnore(String ignore)
+   {
+      delegate.setIgnore(ignore);
+   }
+
+   /**
+    * @param include
+    * @see org.jboss.aop.deployment.AspectManagerService#setInclude(java.lang.String)
+    */
+   public void setInclude(String include)
+   {
+      delegate.setInclude(include);
+   }
+
+   /**
+    * @param instrumentor
+    * @see org.jboss.aop.deployment.AspectManagerService#setInstrumentor(java.lang.String)
+    */
+   public void setInstrumentor(String instrumentor)
+   {
+      delegate.setInstrumentor(instrumentor);
+   }
+
+   /**
+    * @param verbose
+    * @see org.jboss.aop.deployment.AspectManagerService#setOptimized(boolean)
+    */
+   public void setOptimized(boolean verbose)
+   {
+      delegate.setOptimized(verbose);
+   }
+
+   /**
+    * @param prune
+    * @see org.jboss.aop.deployment.AspectManagerService#setPrune(boolean)
+    */
+   public void setPrune(boolean prune)
+   {
+      delegate.setPrune(prune);
+   }
+
+   /**
+    * @param suppressReferenceErrors
+    * @see org.jboss.aop.deployment.AspectManagerService#setSuppressReferenceErrors(boolean)
+    */
+   public void setSuppressReferenceErrors(boolean suppressReferenceErrors)
+   {
+      delegate.setSuppressReferenceErrors(suppressReferenceErrors);
+   }
+
+   /**
+    * @param suppressTransformationErrors
+    * @see org.jboss.aop.deployment.AspectManagerService#setSuppressTransformationErrors(boolean)
+    */
+   public void setSuppressTransformationErrors(boolean suppressTransformationErrors)
+   {
+      delegate.setSuppressTransformationErrors(suppressTransformationErrors);
+   }
+
+   /**
+    * @param tmpClassesDir
+    * @see org.jboss.aop.deployment.AspectManagerService#setTmpClassesDir(java.io.File)
+    */
+   public void setTmpClassesDir(File tmpClassesDir)
+   {
+      delegate.setTmpClassesDir(tmpClassesDir);
+   }
+
+   /**
+    * @param verbose
+    * @see org.jboss.aop.deployment.AspectManagerService#setVerbose(boolean)
+    */
+   public void setVerbose(boolean verbose)
+   {
+      delegate.setVerbose(verbose);
+   }
+
+   /**
+    * @return
+    * @see org.jboss.aop.deployment.AspectManagerService#stacks()
+    */
+   public String stacks()
+   {
+      return delegate.stacks();
+   }
+
+   /**
+    * @throws Exception
+    * @see org.jboss.system.ServiceMBeanSupport#start()
+    */
+   public void start() throws Exception
+   {
+      delegate.start();
+   }
+
+   /**
+    * 
+    * @see org.jboss.system.ServiceMBeanSupport#stop()
+    */
+   public void stop()
+   {
+      delegate.stop();
+   }
+
+   /**
+    * @return
+    * @see java.lang.Object#toString()
+    */
+   public String toString()
+   {
+      return delegate.toString();
+   }
+   
+   
+}




More information about the jboss-cvs-commits mailing list