01: /*******************************************************************************
02: * Copyright (c) 2005, 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;
11:
12: /**
13: * A classpath attribute defines a name/value pair that can be persisted with a classpath entry. Such an attribute
14: * can be created using the factory method {@link JavaCore#newClasspathAttribute(String, String) newClasspathAttribute(String name, String value)}.
15: * <p>
16: * This interface is not intended to be implemented by clients.
17: * </p>
18: *
19: * @see JavaCore#newContainerEntry(
20: * org.eclipse.core.runtime.IPath containerPath,
21: * IAccessRule[] accessRules,
22: * IClasspathAttribute[] extraAttributes,
23: * boolean isExported)
24: * @see JavaCore#newLibraryEntry(
25: * org.eclipse.core.runtime.IPath path,
26: * org.eclipse.core.runtime.IPath sourceAttachmentPath,
27: * org.eclipse.core.runtime.IPath sourceAttachmentRootPath,
28: * IAccessRule[] accessRules,
29: * IClasspathAttribute[] extraAttributes,
30: * boolean isExported)
31: * @see JavaCore#newProjectEntry(
32: * org.eclipse.core.runtime.IPath path,
33: * IAccessRule[] accessRules,
34: * boolean combineAccessRestrictions,
35: * IClasspathAttribute[] extraAttributes,
36: * boolean isExported)
37: * @see JavaCore#newSourceEntry(
38: * org.eclipse.core.runtime.IPath path,
39: * org.eclipse.core.runtime.IPath[] inclusionPatterns,
40: * org.eclipse.core.runtime.IPath[] exclusionPatterns,
41: * org.eclipse.core.runtime.IPath specificOutputLocation,
42: * IClasspathAttribute[] extraAttributes)
43: * @see JavaCore#newVariableEntry(
44: * org.eclipse.core.runtime.IPath variablePath,
45: * org.eclipse.core.runtime.IPath variableSourceAttachmentPath,
46: * org.eclipse.core.runtime.IPath variableSourceAttachmentRootPath,
47: * IAccessRule[] accessRules,
48: * IClasspathAttribute[] extraAttributes,
49: * boolean isExported)
50: * @since 3.1
51: */
52: public interface IClasspathAttribute {
53:
54: /**
55: * Constant for the name of the javadoc location attribute.
56: *
57: * @since 3.1
58: */
59: String JAVADOC_LOCATION_ATTRIBUTE_NAME = "javadoc_location"; //$NON-NLS-1$
60:
61: /**
62: * Constant for the name of the optional attribute. The possible values
63: * for this attribute are <code>"true"</code> or <code>"false"</code>.
64: * When not present, <code>"false"</code> is assumed.
65: * If the value of this attribute is <code>"true"</code>, the classpath entry
66: * is optional. If the underlying resource or jar file doesn't exist, no error
67: * is reported and the classpath entry is ignored.
68: *
69: * @since 3.2
70: */
71: String OPTIONAL = "optional"; //$NON-NLS-1$
72:
73: /**
74: * Returns the name of this classpath attribute.
75: *
76: * @return the name of this classpath attribute.
77: * @since 3.1
78: */
79: String getName();
80:
81: /**
82: * Returns the value of this classpath attribute.
83: *
84: * @return the value of this classpath attribute.
85: * @since 3.1
86: */
87: String getValue();
88:
89: }
|