/** * 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; }