private boolean validate() { setPageComplete(false); if (getFolder() == null) { setErrorMessage("Parent folder is empty."); return false; } else if (folder instanceof IWorkspaceRoot) { setErrorMessage("Parent is not a folder."); return false; } if (getSignature() == null) { setErrorMessage("Signature is empty."); return false; } else { IContentType t; try { t = getSignature().getContentDescription().getContentType(); } catch (CoreException e) { t = null; } if (t == null || !t.getId().equals(Signature.CONTENT_TYPE)) { setErrorMessage("Signature has the wrong content type."); return false; } } String nT = nameText.getText().trim(); if (nT.length() == 0) { setErrorMessage("Name is empty."); return false; } String proposedFileName = getFileName(); IPath p = folder.getFullPath().makeRelative(); if (!p.isValidSegment(proposedFileName)) { setErrorMessage("Name contains invalid characters."); return false; } else { p.append(proposedFileName); if (Project.findFileByPath(null, p) != null) { setErrorMessage("Name already exists."); return false; } } setPageComplete(true); setErrorMessage(null); return true; }