1 /******************************************************************************* 2 * Copyright (c) 2004, 2006 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.jdt.core.util; 12 13 /** 14 * Description of a annotation structure as described in the JVM specifications 15 * (added in J2SE 1.5). 16 * 17 * This interface may be implemented by clients. 18 * 19 * @since 3.0 20 */ 21 public interface IAnnotation { 22 /** 23 * Answer back the type index as described in the JVM specifications. 24 * 25 * @return the type index 26 */ 27 int getTypeIndex(); 28 29 /** 30 * Answer back the type name as described in the JVM specifications. 31 * 32 * @return the type name 33 * @since 3.1 34 */ 35 char[] getTypeName(); 36 37 /** 38 * Answer back the number of components as described in the JVM specifications. 39 * 40 * @return the type index 41 */ 42 int getComponentsNumber(); 43 44 /** 45 * Answer back the components as described in the JVM specifications. Answer an 46 * empty collection if none. 47 * 48 * @return the components 49 */ 50 IAnnotationComponent[] getComponents(); 51 } 52