1 /*******************************************************************************
2  * Copyright (c) 2000, 2009 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.jdt.core.util;
15 
16 /**
17  * This class represents a generic class file attribute. It is intended to be extended
18  * for any new attribute.
19  *
20  * @since 2.0
21  */
22 public interface IClassFileAttribute {
23 
24 	/**
25 	 * Answer back the attribute name index in the constant pool as specified
26 	 * in the JVM specifications.
27 	 *
28 	 * @return the attribute name index in the constant pool
29 	 */
getAttributeNameIndex()30 	int getAttributeNameIndex();
31 
32 	/**
33 	 * Answer back the attribute name as specified
34 	 * in the JVM specifications.
35 	 *
36 	 * @return the attribute name
37 	 */
getAttributeName()38 	char[] getAttributeName();
39 
40 	/**
41 	 * Answer back the attribute length as specified
42 	 * in the JVM specifications.
43 	 *
44 	 * @return the attribute length
45 	 */
getAttributeLength()46 	long getAttributeLength();
47 }
48