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