/******************************************************************************* * Copyright (c) 2005, 2008 BEA Systems, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * tyeung@bea.com - initial API and implementation * IBM Corporation - changed interface to extend IBinding * IBM Corporation - renamed from IResolvedMemberValuePair to IMemberValuePairBinding *******************************************************************************/ package org.eclipse.jdt.core.dom; /** * Represents a resolved instance of an annotation's member value pair. * Resolved annotation are computed along with other bindings; these objects * correspond to {@link MemberValuePair} nodes. * * @since 3.2 * @noimplement This interface is not intended to be implemented by clients. */ public interface IMemberValuePairBinding extends IBinding { /** * Returns the name of the annotation type member. * * @return the name of the member */ public String getName(); /** * Returns the method binding corresponding to the named annotation type member. * * @return the method binding for the annotation type member */ public IMethodBinding getMethodBinding(); /** * Returns the resolved value. Resolved values are represented as follows: * <ul> * <li>Primitive type - the equivalent boxed object</li> * <li>java.lang.Class - the <code>ITypeBinding</code> for the class object</li> * <li>java.lang.String - the string value itself</li> * <li>enum type - the <code>IVariableBinding</code> for the enum constant</li> * <li>annotation type - an <code>IAnnotationBinding</code></li> * <li>array type - an <code>Object[]</code> whose elements are as per above * (the language only allows single dimensional arrays in annotations)</li> * </ul> * * @return the resolved value, or <code>null</code> if none exists */ public Object getValue(); /** * @return <code>true</code> iff this member value pair's value is the default value. * Returns <code>false</code> otherwise. */ public boolean isDefault(); }