/** * @version $Id: DictionaryNameValidator.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $ * * 2011/10/07 15:35:58 * @author kousuke-morishima * * Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved. */ package com.tida_okinawa.corona.internal.ui.util; import org.eclipse.core.resources.IContainer; import org.eclipse.jface.dialogs.IInputValidator; /** * @author kousuke-morishima */ public class DictionaryNameValidator { /** * @param parent * 辞書作成先の親。データベース内など親がない場合はnull * @param name * 検査する辞書名。 * @return 問題なければnull。問題があればエラーメッセージを返す。 */ public static String isValid(IContainer parent, String name) { if (!StringUtil.isValidFileName(name)) { return "作成できないファイル名です。"; } if (name.length() > ValidateUtil.MAX_LENGTH_DICTIONARY_NAME) { return ("辞書名は" + ValidateUtil.MAX_LENGTH_DICTIONARY_NAME + "文字以内です。"); } /** * ファイルとしては保存できるが、DB に登録できないため */ if (name.indexOf("'") != -1) { return "シングルクォートは辞書名に入力できません。"; } int result = ValidateUtil.isValidDictionaryName(parent, name); if ((result & ValidateUtil.DUPLICATE_DB) != 0) { return name + "はデータベースにすでに存在します。"; } else if ((result & ValidateUtil.DUPLICATE_WS) != 0) { return name + "はワークスペースにすでに存在します。"; } return null; } /** * @param parent * 辞書作成先の親。データベース内など親がない場合はnull * @return */ public static IInputValidator getDictionaryNameValidator(final IContainer parent) { return new IInputValidator() { @Override public String isValid(String newText) { return DictionaryNameValidator.isValid(parent, newText); } }; } }