org.eclipse.jdt.core
Class JavaConventions

java.lang.Object
  extended by org.eclipse.jdt.core.JavaConventions

public final class JavaConventions
extends java.lang.Object

Provides methods for checking Java-specific conventions such as name syntax.

This class provides static methods and constants only.


Method Summary
static boolean isOverlappingRoots(org.eclipse.core.runtime.IPath rootPath1, org.eclipse.core.runtime.IPath rootPath2)
          Deprecated. Overlapping roots are allowed in 2.1
static org.eclipse.core.runtime.IStatus validateClassFileName(java.lang.String name)
          Deprecated. Use validateClassFileName(String id, String sourceLevel, String complianceLevel) instead
static org.eclipse.core.runtime.IStatus validateClassFileName(java.lang.String name, java.lang.String sourceLevel, java.lang.String complianceLevel)
          Validate the given .class file name for the given source and compliance levels.
static IJavaModelStatus validateClasspath(IJavaProject javaProject, IClasspathEntry[] rawClasspath, org.eclipse.core.runtime.IPath projectOutputLocation)
          Validate a given classpath and output location for a project, using the following rules: Classpath entries cannot collide with each other; that is, all entry paths must be unique.
static IJavaModelStatus validateClasspathEntry(IJavaProject project, IClasspathEntry entry, boolean checkSourceAttachment)
          Returns a Java model status describing the problem related to this classpath entry if any, a status object with code IStatus.OK if the entry is fine (that is, if the given classpath entry denotes a valid element to be referenced onto a classpath).
static org.eclipse.core.runtime.IStatus validateCompilationUnitName(java.lang.String name)
          Deprecated. Use validateCompilationUnitName(String id, String sourceLevel, String complianceLevel) instead
static org.eclipse.core.runtime.IStatus validateCompilationUnitName(java.lang.String name, java.lang.String sourceLevel, java.lang.String complianceLevel)
          Validate the given compilation unit name for the given source and compliance levels.
static org.eclipse.core.runtime.IStatus validateFieldName(java.lang.String name)
          Deprecated. Use validateFieldName(String id, String sourceLevel, String complianceLevel) instead
static org.eclipse.core.runtime.IStatus validateFieldName(java.lang.String name, java.lang.String sourceLevel, java.lang.String complianceLevel)
          Validate the given field name for the given source and compliance levels.
static org.eclipse.core.runtime.IStatus validateIdentifier(java.lang.String id)
          Deprecated. Use validateIdentifier(String id, String sourceLevel, String complianceLevel) instead
static org.eclipse.core.runtime.IStatus validateIdentifier(java.lang.String id, java.lang.String sourceLevel, java.lang.String complianceLevel)
          Validate the given Java identifier for the given source and compliance levels The identifier must not have the same spelling as a Java keyword, boolean literal ("true", "false"), or null literal ("null").
static org.eclipse.core.runtime.IStatus validateImportDeclaration(java.lang.String name)
          Deprecated. Use validateImportDeclaration(String id, String sourceLevel, String complianceLevel) instead
static org.eclipse.core.runtime.IStatus validateImportDeclaration(java.lang.String name, java.lang.String sourceLevel, java.lang.String complianceLevel)
          Validate the given import declaration name for the given source and compliance levels.
static org.eclipse.core.runtime.IStatus validateJavaTypeName(java.lang.String name)
          Deprecated. Use validateJavaTypeName(String id, String sourceLevel, String complianceLevel) instead
static org.eclipse.core.runtime.IStatus validateJavaTypeName(java.lang.String name, java.lang.String sourceLevel, java.lang.String complianceLevel)
          Validate the given Java type name, either simple or qualified, for the given source and compliance levels.
static org.eclipse.core.runtime.IStatus validateMethodName(java.lang.String name)
          Deprecated. Use validateMethodName(String id, String sourceLevel, String complianceLevel) instead
static org.eclipse.core.runtime.IStatus validateMethodName(java.lang.String name, java.lang.String sourceLevel, java.lang.String complianceLevel)
          Validate the given method name for the given source and compliance levels.
static org.eclipse.core.runtime.IStatus validatePackageName(java.lang.String name)
          Deprecated. Use validatePackageName(String id, String sourceLevel, String complianceLevel) instead
static org.eclipse.core.runtime.IStatus validatePackageName(java.lang.String name, java.lang.String sourceLevel, java.lang.String complianceLevel)
          Validate the given package name for the given source and compliance levels.
static org.eclipse.core.runtime.IStatus validateTypeVariableName(java.lang.String name)
          Deprecated. Use validateTypeVariableName(String id, String sourceLevel, String complianceLevel) instead
static org.eclipse.core.runtime.IStatus validateTypeVariableName(java.lang.String name, java.lang.String sourceLevel, java.lang.String complianceLevel)
          Validate the given type variable name for the given source and compliance levels.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

isOverlappingRoots

public static boolean isOverlappingRoots(org.eclipse.core.runtime.IPath rootPath1,
                                         org.eclipse.core.runtime.IPath rootPath2)
Deprecated. Overlapping roots are allowed in 2.1

Returns whether the given package fragment root paths are considered to overlap.

Two root paths overlap if one is a prefix of the other, or they point to the same location. However, a JAR is allowed to be nested in a root.

Parameters:
rootPath1 - the first root path
rootPath2 - the second root path
Returns:
true if the given package fragment root paths are considered to overlap, false otherwise

validateCompilationUnitName

public static org.eclipse.core.runtime.IStatus validateCompilationUnitName(java.lang.String name)
Deprecated. Use validateCompilationUnitName(String id, String sourceLevel, String complianceLevel) instead

Validate the given compilation unit name.

A compilation unit name must obey the following rules:

Parameters:
name - the name of a compilation unit
Returns:
a status object with code IStatus.OK if the given name is valid as a compilation unit name, otherwise a status object indicating what is wrong with the name

validateCompilationUnitName

public static org.eclipse.core.runtime.IStatus validateCompilationUnitName(java.lang.String name,
                                                                           java.lang.String sourceLevel,
                                                                           java.lang.String complianceLevel)
Validate the given compilation unit name for the given source and compliance levels.

A compilation unit name must obey the following rules:

Parameters:
name - the name of a compilation unit
sourceLevel - the source level
complianceLevel - the compliance level
Returns:
a status object with code IStatus.OK if the given name is valid as a compilation unit name, otherwise a status object indicating what is wrong with the name
Since:
3.3

validateClassFileName

public static org.eclipse.core.runtime.IStatus validateClassFileName(java.lang.String name)
Deprecated. Use validateClassFileName(String id, String sourceLevel, String complianceLevel) instead

Validate the given .class file name.

A .class file name must obey the following rules:

Parameters:
name - the name of a .class file
Returns:
a status object with code IStatus.OK if the given name is valid as a .class file name, otherwise a status object indicating what is wrong with the name
Since:
2.0

validateClassFileName

public static org.eclipse.core.runtime.IStatus validateClassFileName(java.lang.String name,
                                                                     java.lang.String sourceLevel,
                                                                     java.lang.String complianceLevel)
Validate the given .class file name for the given source and compliance levels.

A .class file name must obey the following rules:

Parameters:
name - the name of a .class file
sourceLevel - the source level
complianceLevel - the compliance level
Returns:
a status object with code IStatus.OK if the given name is valid as a .class file name, otherwise a status object indicating what is wrong with the name
Since:
3.3

validateFieldName

public static org.eclipse.core.runtime.IStatus validateFieldName(java.lang.String name)
Deprecated. Use validateFieldName(String id, String sourceLevel, String complianceLevel) instead

Validate the given field name.

Syntax of a field name corresponds to VariableDeclaratorId (JLS2 8.3). For example, "x".

Parameters:
name - the name of a field
Returns:
a status object with code IStatus.OK if the given name is valid as a field name, otherwise a status object indicating what is wrong with the name

validateFieldName

public static org.eclipse.core.runtime.IStatus validateFieldName(java.lang.String name,
                                                                 java.lang.String sourceLevel,
                                                                 java.lang.String complianceLevel)
Validate the given field name for the given source and compliance levels.

Syntax of a field name corresponds to VariableDeclaratorId (JLS2 8.3). For example, "x".

Parameters:
name - the name of a field
sourceLevel - the source level
complianceLevel - the compliance level
Returns:
a status object with code IStatus.OK if the given name is valid as a field name, otherwise a status object indicating what is wrong with the name
Since:
3.3

validateIdentifier

public static org.eclipse.core.runtime.IStatus validateIdentifier(java.lang.String id)
Deprecated. Use validateIdentifier(String id, String sourceLevel, String complianceLevel) instead

Validate the given Java identifier. The identifier must not have the same spelling as a Java keyword, boolean literal ("true", "false"), or null literal ("null"). See section 3.8 of the Java Language Specification, Second Edition (JLS2). A valid identifier can act as a simple type name, method name or field name.

Parameters:
id - the Java identifier
Returns:
a status object with code IStatus.OK if the given identifier is a valid Java identifier, otherwise a status object indicating what is wrong with the identifier

validateIdentifier

public static org.eclipse.core.runtime.IStatus validateIdentifier(java.lang.String id,
                                                                  java.lang.String sourceLevel,
                                                                  java.lang.String complianceLevel)
Validate the given Java identifier for the given source and compliance levels The identifier must not have the same spelling as a Java keyword, boolean literal ("true", "false"), or null literal ("null"). See section 3.8 of the Java Language Specification, Second Edition (JLS2). A valid identifier can act as a simple type name, method name or field name.

Parameters:
id - the Java identifier
sourceLevel - the source level
complianceLevel - the compliance level
Returns:
a status object with code IStatus.OK if the given identifier is a valid Java identifier, otherwise a status object indicating what is wrong with the identifier
Since:
3.3

validateImportDeclaration

public static org.eclipse.core.runtime.IStatus validateImportDeclaration(java.lang.String name)
Deprecated. Use validateImportDeclaration(String id, String sourceLevel, String complianceLevel) instead

Validate the given import declaration name.

The name of an import corresponds to a fully qualified type name or an on-demand package name as defined by ImportDeclaration (JLS2 7.5). For example, "java.util.*" or "java.util.Hashtable".

Parameters:
name - the import declaration
Returns:
a status object with code IStatus.OK if the given name is valid as an import declaration, otherwise a status object indicating what is wrong with the name

validateImportDeclaration

public static org.eclipse.core.runtime.IStatus validateImportDeclaration(java.lang.String name,
                                                                         java.lang.String sourceLevel,
                                                                         java.lang.String complianceLevel)
Validate the given import declaration name for the given source and compliance levels.

The name of an import corresponds to a fully qualified type name or an on-demand package name as defined by ImportDeclaration (JLS2 7.5). For example, "java.util.*" or "java.util.Hashtable".

Parameters:
name - the import declaration
sourceLevel - the source level
complianceLevel - the compliance level
Returns:
a status object with code IStatus.OK if the given name is valid as an import declaration, otherwise a status object indicating what is wrong with the name
Since:
3.3

validateJavaTypeName

public static org.eclipse.core.runtime.IStatus validateJavaTypeName(java.lang.String name)
Deprecated. Use validateJavaTypeName(String id, String sourceLevel, String complianceLevel) instead

Validate the given Java type name, either simple or qualified. For example, "java.lang.Object", or "Object".

Parameters:
name - the name of a type
Returns:
a status object with code IStatus.OK if the given name is valid as a Java type name, a status with code IStatus.WARNING indicating why the given name is discouraged, otherwise a status object indicating what is wrong with the name

validateJavaTypeName

public static org.eclipse.core.runtime.IStatus validateJavaTypeName(java.lang.String name,
                                                                    java.lang.String sourceLevel,
                                                                    java.lang.String complianceLevel)
Validate the given Java type name, either simple or qualified, for the given source and compliance levels. For example, "java.lang.Object", or "Object".

Parameters:
name - the name of a type
sourceLevel - the source level
complianceLevel - the compliance level
Returns:
a status object with code IStatus.OK if the given name is valid as a Java type name, a status with code IStatus.WARNING indicating why the given name is discouraged, otherwise a status object indicating what is wrong with the name
Since:
3.3

validateMethodName

public static org.eclipse.core.runtime.IStatus validateMethodName(java.lang.String name)
Deprecated. Use validateMethodName(String id, String sourceLevel, String complianceLevel) instead

Validate the given method name. The special names "<init>" and "<clinit>" are not valid.

The syntax for a method name is defined by Identifier of MethodDeclarator (JLS2 8.4). For example "println".

Parameters:
name - the name of a method
Returns:
a status object with code IStatus.OK if the given name is valid as a method name, otherwise a status object indicating what is wrong with the name

validateMethodName

public static org.eclipse.core.runtime.IStatus validateMethodName(java.lang.String name,
                                                                  java.lang.String sourceLevel,
                                                                  java.lang.String complianceLevel)
Validate the given method name for the given source and compliance levels. The special names "<init>" and "<clinit>" are not valid.

The syntax for a method name is defined by Identifier of MethodDeclarator (JLS2 8.4). For example "println".

Parameters:
name - the name of a method
sourceLevel - the source level
complianceLevel - the compliance level
Returns:
a status object with code IStatus.OK if the given name is valid as a method name, otherwise a status object indicating what is wrong with the name
Since:
3.3

validatePackageName

public static org.eclipse.core.runtime.IStatus validatePackageName(java.lang.String name)
Deprecated. Use validatePackageName(String id, String sourceLevel, String complianceLevel) instead

Validate the given package name.

The syntax of a package name corresponds to PackageName as defined by PackageDeclaration (JLS2 7.4). For example, "java.lang".

Note that the given name must be a non-empty package name (that is, attempting to validate the default package will return an error status.) Also it must not contain any characters or substrings that are not valid on the file system on which workspace root is located.

Parameters:
name - the name of a package
Returns:
a status object with code IStatus.OK if the given name is valid as a package name, otherwise a status object indicating what is wrong with the name

validatePackageName

public static org.eclipse.core.runtime.IStatus validatePackageName(java.lang.String name,
                                                                   java.lang.String sourceLevel,
                                                                   java.lang.String complianceLevel)
Validate the given package name for the given source and compliance levels.

The syntax of a package name corresponds to PackageName as defined by PackageDeclaration (JLS2 7.4). For example, "java.lang".

Note that the given name must be a non-empty package name (that is, attempting to validate the default package will return an error status.) Also it must not contain any characters or substrings that are not valid on the file system on which workspace root is located.

Parameters:
name - the name of a package
sourceLevel - the source level
complianceLevel - the compliance level
Returns:
a status object with code IStatus.OK if the given name is valid as a package name, otherwise a status object indicating what is wrong with the name
Since:
3.3

validateClasspath

public static IJavaModelStatus validateClasspath(IJavaProject javaProject,
                                                 IClasspathEntry[] rawClasspath,
                                                 org.eclipse.core.runtime.IPath projectOutputLocation)
Validate a given classpath and output location for a project, using the following rules: Note that the classpath entries are not validated automatically. Only bound variables or containers are considered in the checking process (this allows to perform a consistency check on a classpath which has references to yet non existing projects, folders, ...).

This validation is intended to anticipate classpath issues prior to assigning it to a project. In particular, it will automatically be performed during the classpath setting operation (if validation fails, the classpath setting will not complete).

Parameters:
javaProject - the given java project
rawClasspath - the given classpath
projectOutputLocation - the given output location
Returns:
a status object with code IStatus.OK if the given classpath and output location are compatible, otherwise a status object indicating what is wrong with the classpath or output location
Since:
2.0

validateClasspathEntry

public static IJavaModelStatus validateClasspathEntry(IJavaProject project,
                                                      IClasspathEntry entry,
                                                      boolean checkSourceAttachment)
Returns a Java model status describing the problem related to this classpath entry if any, a status object with code IStatus.OK if the entry is fine (that is, if the given classpath entry denotes a valid element to be referenced onto a classpath).

Parameters:
project - the given java project
entry - the given classpath entry
checkSourceAttachment - a flag to determine if source attachement should be checked
Returns:
a java model status describing the problem related to this classpath entry if any, a status object with code IStatus.OK if the entry is fine
Since:
2.0

validateTypeVariableName

public static org.eclipse.core.runtime.IStatus validateTypeVariableName(java.lang.String name)
Deprecated. Use validateTypeVariableName(String id, String sourceLevel, String complianceLevel) instead

Validate the given type variable name.

Syntax of a type variable name corresponds to a Java identifier (JLS3 4.3). For example, "E".

Parameters:
name - the name of a type variable
Returns:
a status object with code IStatus.OK if the given name is valid as a type variable name, otherwise a status object indicating what is wrong with the name
Since:
3.1

validateTypeVariableName

public static org.eclipse.core.runtime.IStatus validateTypeVariableName(java.lang.String name,
                                                                        java.lang.String sourceLevel,
                                                                        java.lang.String complianceLevel)
Validate the given type variable name for the given source and compliance levels.

Syntax of a type variable name corresponds to a Java identifier (JLS3 4.3). For example, "E".

Parameters:
name - the name of a type variable
sourceLevel - the source level
complianceLevel - the compliance level
Returns:
a status object with code IStatus.OK if the given name is valid as a type variable name, otherwise a status object indicating what is wrong with the name
Since:
3.3