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 }