| /* |
| * Copyright (C) The Apache Software Foundation. All rights reserved. |
| * |
| * This software is published under the terms of the Apache Software License |
| * version 1.1, a copy of which has been included with this distribution in |
| * the LICENSE file. |
| */ |
| package org.apache.myrmidon.aspects; |
| |
| import org.apache.avalon.framework.configuration.Configuration; |
| import org.apache.avalon.framework.parameters.Parameters; |
| import org.apache.log.Logger; |
| import org.apache.myrmidon.api.Task; |
| import org.apache.myrmidon.api.TaskException; |
| |
| /** |
| * AspectHandler is the interface through which aspects are handled. |
| * |
| * @author <a href="mailto:conor@apache.org">Conor MacNeill</a> |
| * @author <a href="mailto:donaldp@apache.org">Peter Donald</a> |
| */ |
| public abstract class AbstractAspectHandler |
| implements AspectHandler |
| { |
| private Parameters m_aspectParameters; |
| private Configuration[] m_aspectElements; |
| |
| private Task m_task; |
| private Logger m_logger; |
| private Configuration m_taskModel; |
| |
| public Configuration preCreate( final Configuration taskModel ) |
| throws TaskException |
| { |
| return taskModel; |
| } |
| |
| public void aspectSettings( final Parameters parameters, final Configuration[] elements ) |
| throws TaskException |
| { |
| m_aspectParameters = parameters; |
| m_aspectElements = elements; |
| } |
| |
| public void postCreate( final Task task ) |
| throws TaskException |
| { |
| m_task = task; |
| } |
| |
| public void preLoggable( final Logger logger ) |
| throws TaskException |
| { |
| m_logger = logger; |
| } |
| |
| public void preConfigure( final Configuration taskModel ) |
| throws TaskException |
| { |
| m_taskModel = taskModel; |
| } |
| |
| public void preExecute() |
| throws TaskException |
| { |
| } |
| |
| public void preDestroy() |
| throws TaskException |
| { |
| reset(); |
| } |
| |
| public boolean error( final TaskException te ) |
| throws TaskException |
| { |
| reset(); |
| return false; |
| } |
| |
| protected void reset() |
| { |
| m_aspectParameters = null; |
| m_aspectElements = null; |
| m_task = null; |
| m_logger = null; |
| m_taskModel = null; |
| } |
| |
| protected final Configuration getTaskModel() |
| { |
| return m_taskModel; |
| } |
| |
| protected final Task getTask() |
| { |
| return m_task; |
| } |
| |
| protected final Logger getLogger() |
| { |
| return m_logger; |
| } |
| |
| protected final Configuration[] getAspectElements() |
| { |
| return m_aspectElements; |
| } |
| |
| protected final Parameters getAspectParameters() |
| { |
| return m_aspectParameters; |
| } |
| } |