/**
* @version $Id: ProjectNameValidator.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $
*
* 2011/10/07 15:34:12
* @author kousuke-morishima
*
* Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved.
*/
package com.tida_okinawa.corona.internal.ui.util;
import org.eclipse.jface.dialogs.IInputValidator;
/**
* @author kousuke-morishima
*/
public class ProjectNameValidator {
/**
* @param name
* 検査するプロジェクト名
* @return 問題がなければnull。問題があればエラーメッセージを返す。
*/
public static String isValid(String name) {
if (!StringUtil.isValidFileName(name)) {
return "作成できないプロジェクト名です。";
}
if (name.length() > ValidateUtil.MAX_LENGTH_PROJECT_NAME) {
return "プロジェクト名称は" + ValidateUtil.MAX_LENGTH_PROJECT_NAME + "文字以内です。";
}
/**
* フォルダとしては保存できるが、DB に登録できないため
*/
if (name.indexOf("'") != -1) {
return "シングルクォートはプロジェクト名に入力できません。";
}
int result = ValidateUtil.isValidProjectName(name);
if ((result & ValidateUtil.DUPLICATE_DB) != 0) {
return name + "はデータベースに存在します。(大文字・小文字は区別されません)";
} else if ((result & ValidateUtil.DUPLICATE_WS) != 0) {
return name + "はワークスペースに存在します。(大文字・小文字は区別されません)";
}
return null;
}
private static IInputValidator projectNameValidator = new IInputValidator() {
@Override
public String isValid(String newText) {
return ProjectNameValidator.isValid(newText);
}
};
public static IInputValidator getProjectNameValidator() {
return projectNameValidator;
}
}