/******************************************************************************* * 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 net.sourceforge.phpdt.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: *
ITypeBinding
for the class objectIVariableBinding
for the enum constantIAnnotationBinding
Object[]
whose elements are as per above
* (the language only allows single dimensional arrays in annotations)null
if none exists
*/
public Object getValue();
/**
* @return true
iff this member value pair's value is the default value.
* Returns false
otherwise.
*/
public boolean isDefault();
}