/** * This method will return the qualified java class name as specified by the class name and * package name properties in the data model. This method should not return null. * * @see INewJavaClassDataModelProperties#CLASS_NAME * @see INewJavaClassDataModelProperties#JAVA_PACKAGE * * @return String qualified java classname */ private String getQualifiedClassName() { // Use the java package name and unqualified class name to create a qualified java class // name String packageName = getStringProperty(JAVA_PACKAGE); String className = getStringProperty(CLASS_NAME); // Ensure the class is not in the default package before adding package name to qualified // name if (packageName != null && packageName.trim().length() > 0) return packageName + "." + className; //$NON-NLS-1$ return className; }
/** * Subclasses may override this method to provide their own validation of any of the data * model's properties. This implementation ensures that a java class can be properly generated * from the values as specified. This method will not return null. This method will not accept * null as a parameter. * * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider#validate(java.lang.String) * * @param propertyName * @return IStatus of the validity of the specifiec property */ public IStatus validate(String propertyName) { IStatus result = super.validate(propertyName); if (result != null && !result.isOK()) return result; if (propertyName.equals(SOURCE_FOLDER)) return validateJavaSourceFolder(getStringProperty(propertyName)); if (propertyName.equals(JAVA_PACKAGE)) return validateJavaPackage(getStringProperty(propertyName)); if (propertyName.equals(CLASS_NAME)) { result = validateJavaClassName(getStringProperty(propertyName)); if (result.isOK()) result = canCreateTypeInClasspath(getStringProperty(CLASS_NAME)); } if (propertyName.equals(SUPERCLASS)) return validateSuperclass(getStringProperty(propertyName)); if (propertyName.equals(MODIFIER_ABSTRACT) || propertyName.equals(MODIFIER_FINAL)) return validateModifier(propertyName, getBooleanProperty(propertyName)); return result; }
String folderPath = getStringProperty(SOURCE_FOLDER); String packagePath = getStringProperty(JAVA_PACKAGE);
/** * This will return the IFolder instance for the specified folder name in the data model. This * method may return null. * * @see INewJavaClassDataModelProperties#SOURCE_FOLDER * @see NewJavaClassDataModelProvider#getAllSourceFolders() * * @return IFolder java source folder */ protected final IFolder getJavaSourceFolder() { IPackageFragmentRoot[] sources = J2EEProjectUtilities.getSourceContainers(getTargetProject()); // Ensure there is valid source folder(s) if (sources == null || sources.length == 0) return null; String folderFullPath = getStringProperty(SOURCE_FOLDER); // Get the source folder whose path matches the source folder name value in the data model for (int i = 0; i < sources.length; i++) { if (sources[i].getPath().equals(new Path(folderFullPath))) { try { return (IFolder) sources[i].getCorrespondingResource(); } catch (Exception e) { break; } } } return null; }