View Javadoc

    1   /***************************************************************************************
    2    * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved.                 *
    3    * http://aspectwerkz.codehaus.org                                                    *
    4    * ---------------------------------------------------------------------------------- *
    5    * The software in this package is published under the terms of the LGPL license      *
    6    * a copy of which has been included with this distribution in the license.txt file.  *
    7    **************************************************************************************/
    8   package org.codehaus.aspectwerkz.joinpoint.impl;
    9
    10  import org.codehaus.aspectwerkz.joinpoint.CatchClauseSignature;
    11  import org.codehaus.aspectwerkz.joinpoint.Signature;
    12
    13  /***
    14   * Implementation for the catch clause signature.
    15   *
    16   * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
    17   */
    18  public class CatchClauseSignatureImpl implements CatchClauseSignature {
    19
    20      private Class m_exceptionType;
    21
    22      /***
    23       * Creates a new catch clause signature.
    24       *
    25       * @param exceptionClass
    26       */
    27      public CatchClauseSignatureImpl(final Class exceptionClass) {
    28          m_exceptionType = exceptionClass;
    29      }
    30
    31      /***
    32       * Returns the exception class.
    33       *
    34       * @return the declaring class
    35       */
    36      public Class getDeclaringType() {
    37          return m_exceptionType;
    38      }
    39
    40      /***
    41       * Returns the modifiers for the signature. <p/>Could be used like this:
    42       * <p/>
    43       * <pre>
    44       * boolean isPublic = java.lang.reflect.Modifier.isPublic(signature.getModifiers());
    45       * </pre>
    46       *
    47       * @return the mofifiers
    48       */
    49      public int getModifiers() {
    50          return m_exceptionType.getModifiers();
    51      }
    52
    53      /***
    54       * Returns the name
    55       *
    56       * @return
    57       */
    58      public String getName() {
    59          return m_exceptionType.getName();
    60      }
    61
    62      /***
    63       * Returns the exception type.
    64       *
    65       * @return the parameter type
    66       * @deprecated
    67       */
    68      public Class getParameterType() {
    69          return m_exceptionType;
    70      }
    71
    72      /***
    73       * Returns a string representation of the signature.
    74       *
    75       * @return a string representation
    76       */
    77      public String toString() {
    78          return getName();
    79      }
    80
    81      /***
    82       * Creates a deep copy of the signature.
    83       *
    84       * @return a deep copy of the signature
    85       */
    86      public Signature newInstance() {
    87          return new CatchClauseSignatureImpl(m_exceptionType);
    88      }
    89  }