Eclipse JDT
2.0

org.eclipse.jdt.core
Class JavaConventions

java.lang.Object
  |
  +--org.eclipse.jdt.core.JavaConventions

public final class JavaConventions
extends Object

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

This class provides static methods and constants only; it is not intended to be instantiated or subclassed by clients.


Method Summary
static boolean isOverlappingRoots(IPath rootPath1, IPath rootPath2)
          Returns whether the given package fragment root paths are considered to overlap.
static IStatus validateClassFileName(String name)
          Validate the given .class file name.
static IJavaModelStatus validateClasspath(IJavaProject javaProject, IClasspathEntry[] classpath, IPath outputLocation)
          Validate the given classpath and output location, using the following rules: No duplicate path amongst classpath entries.
static IJavaModelStatus validateClasspathEntry(IJavaProject javaProject, 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.
static IStatus validateCompilationUnitName(String name)
          Validate the given compilation unit name.
static IStatus validateFieldName(String name)
          Validate the given field name.
static IStatus validateIdentifier(String id)
          Validate the given Java identifier.
static IStatus validateImportDeclaration(String name)
          Validate the given import declaration name.
static IStatus validateJavaTypeName(String name)
          Validate the given Java type name, either simple or qualified.
static IStatus validateMethodName(String name)
          Validate the given method name.
static IStatus validatePackageName(String name)
          Validate the given package name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

isOverlappingRoots

public static boolean isOverlappingRoots(IPath rootPath1,
                                         IPath rootPath2)
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 IStatus validateCompilationUnitName(String name)
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

validateClassFileName

public static IStatus validateClassFileName(String name)
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

validateFieldName

public static IStatus validateFieldName(String name)
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

validateIdentifier

public static IStatus validateIdentifier(String id)
Validate the given Java identifier. The identifier must 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

validateImportDeclaration

public static IStatus validateImportDeclaration(String name)
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

validateJavaTypeName

public static IStatus validateJavaTypeName(String name)
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

validateMethodName

public static IStatus validateMethodName(String name)
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

validatePackageName

public static IStatus validatePackageName(String name)
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 (ie. 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

validateClasspath

public static IJavaModelStatus validateClasspath(IJavaProject javaProject,
                                                 IClasspathEntry[] classpath,
                                                 IPath outputLocation)
Validate the given classpath and output location, 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, ...).

Parameters:
javaProject - the given java project
classpath - a given classpath
outputLocation - a 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 javaProject,
                                                      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. (i.e. if the given classpath entry denotes a valid element to be referenced onto a classpath).

Parameters:
javaProject - 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

Eclipse JDT
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.