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.management;
    9
    10  /***
    11   * Enumeration for all join point types.
    12   *
    13   * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
    14   */
    15  public final class JoinPointType {
    16
    17      public static final int METHOD_EXECUTION_INT = 1;
    18      public static final int METHOD_CALL_INT = 2;
    19      public static final int CONSTRUCTOR_EXECUTION_INT = 3;
    20      public static final int CONSTRUCTOR_CALL_INT = 4;
    21      public static final int FIELD_SET_INT = 5;
    22      public static final int FIELD_GET_INT = 6;
    23      public static final int HANDLER_INT = 7;
    24      public static final int STATIC_INITIALIZATION_INT = 8;
    25
    26
    27      public static final JoinPointType METHOD_EXECUTION = new JoinPointType(METHOD_EXECUTION_INT);
    28
    29      public static final JoinPointType METHOD_CALL = new JoinPointType(METHOD_CALL_INT);
    30
    31      public static final JoinPointType CONSTRUCTOR_EXECUTION = new JoinPointType(CONSTRUCTOR_EXECUTION_INT);
    32
    33      public static final JoinPointType CONSTRUCTOR_CALL = new JoinPointType(CONSTRUCTOR_CALL_INT);
    34
    35      public static final JoinPointType FIELD_SET = new JoinPointType(FIELD_SET_INT);
    36
    37      public static final JoinPointType FIELD_GET = new JoinPointType(FIELD_GET_INT);
    38
    39      public static final JoinPointType HANDLER = new JoinPointType(HANDLER_INT);
    40
    41      public static final JoinPointType STATIC_INITIALIZATION = new JoinPointType(STATIC_INITIALIZATION_INT);
    42
    43      private int m_int;
    44
    45      private JoinPointType(int asInt) {
    46          m_int = asInt;
    47      }
    48
    49      public String toString() {
    50          switch (m_int) {
    51              case METHOD_EXECUTION_INT:
    52                  return "MethodExecution";
    53              case METHOD_CALL_INT:
    54                  return "MethodCall";
    55              case CONSTRUCTOR_EXECUTION_INT:
    56                  return "ConstructorExecution";
    57              case CONSTRUCTOR_CALL_INT:
    58                  return "ConstructorCall";
    59              case FIELD_GET_INT:
    60                  return "FieldGet";
    61              case FIELD_SET_INT:
    62                  return "FieldSet";
    63              case HANDLER_INT:
    64                  return "Handler";
    65              case STATIC_INITIALIZATION_INT:
    66                  return "StaticInitialization";
    67              default:
    68                  throw new Error("not supported join point type");
    69          }
    70      }
    71
    72      public static JoinPointType fromInt(int asInt) {
    73          return new JoinPointType(asInt);
    74      }
    75
    76      public boolean equals(Object o) {
    77          if (this == o) return true;
    78          if (!(o instanceof JoinPointType)) return false;
    79
    80          final JoinPointType joinPointType = (JoinPointType) o;
    81
    82          if (m_int != joinPointType.m_int) return false;
    83
    84          return true;
    85      }
    86
    87      public int hashCode() {
    88          return m_int;
    89      }
    90  }