/************************************************************************************** * Copyright (c) Jonas Bon�r, Alexandre Vasseur. All rights reserved. * * http://aspectwerkz.codehaus.org * * ---------------------------------------------------------------------------------- * * The software in this package is published under the terms of the LGPL license * * a copy of which has been included with this distribution in the license.txt file. * **************************************************************************************/ package org.codehaus.aspectwerkz.joinpoint.management; /** * Enumeration for all join point types. * * @author <a href="mailto:jboner@codehaus.org">Jonas Bon�r </a> */ public final class JoinPointType { public static final int METHOD_EXECUTION_INT = 1; public static final int METHOD_CALL_INT = 2; public static final int CONSTRUCTOR_EXECUTION_INT = 3; public static final int CONSTRUCTOR_CALL_INT = 4; public static final int FIELD_SET_INT = 5; public static final int FIELD_GET_INT = 6; public static final int HANDLER_INT = 7; public static final int STATIC_INITIALIZATION_INT = 8; public static final JoinPointType METHOD_EXECUTION = new JoinPointType(METHOD_EXECUTION_INT); public static final JoinPointType METHOD_CALL = new JoinPointType(METHOD_CALL_INT); public static final JoinPointType CONSTRUCTOR_EXECUTION = new JoinPointType(CONSTRUCTOR_EXECUTION_INT); public static final JoinPointType CONSTRUCTOR_CALL = new JoinPointType(CONSTRUCTOR_CALL_INT); public static final JoinPointType FIELD_SET = new JoinPointType(FIELD_SET_INT); public static final JoinPointType FIELD_GET = new JoinPointType(FIELD_GET_INT); public static final JoinPointType HANDLER = new JoinPointType(HANDLER_INT); public static final JoinPointType STATIC_INITIALIZATION = new JoinPointType(STATIC_INITIALIZATION_INT); private int m_int; private JoinPointType(int asInt) { m_int = asInt; } public String toString() { switch (m_int) { case METHOD_EXECUTION_INT: return "MethodExecution"; case METHOD_CALL_INT: return "MethodCall"; case CONSTRUCTOR_EXECUTION_INT: return "ConstructorExecution"; case CONSTRUCTOR_CALL_INT: return "ConstructorCall"; case FIELD_GET_INT: return "FieldGet"; case FIELD_SET_INT: return "FieldSet"; case HANDLER_INT: return "Handler"; case STATIC_INITIALIZATION_INT: return "StaticInitialization"; default: throw new Error("not supported join point type"); } } public static JoinPointType fromInt(int asInt) { return new JoinPointType(asInt); } public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof JoinPointType)) return false; final JoinPointType joinPointType = (JoinPointType) o; if (m_int != joinPointType.m_int) return false; return true; } public int hashCode() { return m_int; } }