Remote Systems
v6.4.1

com.ibm.etools.systems.core.ui.validators
Class ValidatorUniqueString

java.lang.Object
  extended bycom.ibm.etools.systems.core.ui.validators.ValidatorUniqueString
All Implemented Interfaces:
ISystemMessages, ISystemValidator, ISystemValidatorUniqueString
Direct Known Subclasses:
ValidatorCompileCommandLabel, ValidatorFileFilterString, ValidatorFileName, ValidatorFileUniqueName, ValidatorFilterString, ValidatorFolderName, ValidatorPathName, ValidatorSourceType, ValidatorSystemName, ValidatorUserActionName, ValidatorUserTypeName

public class ValidatorUniqueString
extends Object
implements ISystemMessages, ISystemValidator, ISystemValidatorUniqueString

This class is used in dialogs that prompt for a string that has to be unique. Unless you use the constructor that takes another IInputValidator as input, no syntax checking is done other than checking the input is non-empty and unique. The IInputValidator interface is implelemented by our parent and it is used by jface's InputDialog class and property sheet window.


Field Summary
static boolean CASE_INSENSITIVE
           
static boolean CASE_SENSITIVE
           
protected  boolean caseSensitive
           
static String copyright
           
protected  SystemMessage currentMessage
           
protected  String[] existingList
           
protected  SystemMessage msg_Empty
           
protected  SystemMessage msg_NonUnique
           
static char QUOTE
           
protected  ISystemValidator syntaxValidator
           
protected  boolean useUpperCase
           
 
Fields inherited from interface com.ibm.etools.systems.core.ISystemMessages
FILEMSG_ARCHIVE_CORRUPTED, FILEMSG_COPY_FILE_FAILED, FILEMSG_COPY_ROOT, FILEMSG_CREATE_FILE_FAILED, FILEMSG_CREATE_FILE_FAILED_EXIST, FILEMSG_CREATE_FOLDER_FAILED, FILEMSG_CREATE_FOLDER_FAILED_EXIST, FILEMSG_CREATE_RESOURCE_NOTVISIBLE, FILEMSG_DELETE_FILE_FAILED, FILEMSG_DELETING, FILEMSG_DESTINATION_CONFLICTING, FILEMSG_DESTINATION_EMPTY, FILEMSG_ERROR_NOFILETYPES, FILEMSG_EXPORT_ERROR, FILEMSG_EXPORT_FAILED, FILEMSG_EXPORT_NONE_SELECTED, FILEMSG_EXPORT_PROBLEMS, FILEMSG_FILE_NOTFOUND, FILEMSG_FOLDER_IS_FILE, FILEMSG_FOLDER_NOTEMPTY, FILEMSG_FOLDER_NOTFOUND, FILEMSG_FOLDER_NOTFOUND_WANTTOCREATE, FILEMSG_IMPORT_ERROR, FILEMSG_IMPORT_FAILED, FILEMSG_IMPORT_FILTERING, FILEMSG_IMPORT_NONE_SELECTED, FILEMSG_IMPORT_PROBLEMS, FILEMSG_IMPORT_SELF, FILEMSG_IO_ERROR, FILEMSG_MOVE_FILE_FAILED, FILEMSG_MOVE_TARGET_DESCENDS_FROM_SOUCE, FILEMSG_MOVE_TARGET_EQUALS_SOURCE, FILEMSG_NOT_WRITABLE, FILEMSG_RENAME_FILE_FAILED, FILEMSG_RENAME_RESOURCE_NOTVISIBLE, FILEMSG_SECURITY_ERROR, FILEMSG_SOURCE_EMPTY, FILEMSG_SOURCE_IS_FILE, FILEMSG_TARGET_EXISTS, FILEMSG_VALIDATE_FILEFILTERSTRING_EMPTY, FILEMSG_VALIDATE_FILEFILTERSTRING_NOINCLUDES, FILEMSG_VALIDATE_FILEFILTERSTRING_NOTUNIQUE, FILEMSG_VALIDATE_FILEFILTERSTRING_NOTVALID, MSG_ADDTO_VIRTUAL_DEST, MSG_CACHE_UNABLE_TO_SYNCH, MSG_CACHE_UPLOAD_BEFORE_DELETE, MSG_COMBINETO_VIRTUAL_DEST, MSG_COMM_AUTH_FAILED, MSG_COMM_CLIENT_OLDER_WARNING, MSG_COMM_CONNECT_FAILED, MSG_COMM_DAEMON_NOTSTARTED, MSG_COMM_ENVVAR_DUPLICATE, MSG_COMM_ENVVAR_INVALIDCHAR, MSG_COMM_ENVVAR_NONAME, MSG_COMM_INCOMPATIBLE_PROTOCOL, MSG_COMM_INCOMPATIBLE_UPDATE, MSG_COMM_INVALID_LOGIN, MSG_COMM_PORT_WARNING, MSG_COMM_PWD_BLANKFIELD, MSG_COMM_PWD_EXISTS, MSG_COMM_PWD_INVALID, MSG_COMM_PWD_MISMATCH, MSG_COMM_REXEC_NOTSTARTED, MSG_COMM_SERVER_NOTSTARTED, MSG_COMM_SERVER_OLDER_WARNING, MSG_CONFIRM_CHANGES, MSG_CONFIRM_CHANGES_CANCELABLE, MSG_CONFIRM_DELETE, MSG_CONFIRM_DELETE_USERACTION, MSG_CONFIRM_DELETE_USERTYPE, MSG_CONFIRM_DELETEPROFILE, MSG_CONFIRM_DELETEREMOTE, MSG_CONFIRM_ENABLE_CLASSIC_HELP, MSG_CONFIRM_RELOADRSE, MSG_CONNECT_CANCELLED, MSG_CONNECT_DAEMON_FAILED, MSG_CONNECT_DAEMON_FAILED_EXCEPTION, MSG_CONNECT_FAILED, MSG_CONNECT_PROGRESS, MSG_CONNECT_SSL_EXCEPTION, MSG_CONNECT_UNKNOWNHOST, MSG_CONNECTING_TO_SERVER, MSG_CONNECTION_DELETED, MSG_CONNECTWITHPORT_PROGRESS, MSG_CONVERTTO_VIRTUAL_DEST, MSG_COPY_PROGRESS, MSG_COPYCONNECTION_PROGRESS, MSG_COPYCONNECTIONS_PROGRESS, MSG_COPYFILTER_PROGRESS, MSG_COPYFILTERPOOL_COMPLETE, MSG_COPYFILTERPOOL_PROGRESS, MSG_COPYFILTERPOOLS_PROGRESS, MSG_COPYFILTERS_PROGRESS, MSG_COPYFILTERSTRING_PROGRESS, MSG_COPYFILTERSTRINGS_PROGRESS, MSG_COPYGENERIC_PROGRESS, MSG_COPYSUBSYSTEMS_PROGRESS, MSG_COPYTHINGGENERIC_PROGRESS, MSG_DEST_NOT_IN_SOURCE, MSG_DEST_TARGET_READONLY, MSG_DISCONNECT_CANCELLED, MSG_DISCONNECT_FAILED, MSG_DISCONNECT_PROGRESS, MSG_DISCONNECTWITHPORT_PROGRESS, MSG_DOWNLOAD_ALREADY_OPEN_IN_EDITOR, MSG_DOWNLOAD_NO_WRITE, MSG_DOWNLOAD_PROGRESS, MSG_DOWNLOADING_PROGRESS, MSG_ERROR_CONNECTION_NOTFOUND, MSG_ERROR_ENABLE_CLASSIC_HELP, MSG_ERROR_EXTENSION_EMPTY, MSG_ERROR_FILE_NOTFOUND, MSG_ERROR_FILENAME_INVALID, MSG_ERROR_FOLDER_NOTFOUND, MSG_ERROR_FOLDERORFILE_NOTFOUND, MSG_ERROR_GENERAL, MSG_ERROR_LIST_TITLE, MSG_ERROR_PROFILE_NOTFOUND, MSG_ERROR_UNEXPECTED, MSG_EXCEPTION_DELETING, MSG_EXCEPTION_MOVING, MSG_EXCEPTION_OCCURRED, MSG_EXCEPTION_RENAMING, MSG_EXPAND_CANCELLED, MSG_EXPAND_CONNECTIONCREATED, MSG_EXPAND_EMPTY, MSG_EXPAND_FAILED, MSG_EXPAND_FILTERCREATED, MSG_EXPAND_PREFIX, MSG_EXTRACT_PROGRESS, MSG_FILE_INUSE, MSG_FILTERPOOL_CREATED, MSG_FOLDER_INUSE, MSG_GENERIC_E, MSG_GENERIC_E_HELP, MSG_GENERIC_E_TWOPARMS_HELP, MSG_GENERIC_I, MSG_GENERIC_I_HELP, MSG_GENERIC_I_TWOPARMS_HELP, MSG_GENERIC_Q, MSG_GENERIC_Q_HELP, MSG_GENERIC_Q_TWOPARMS_HELP, MSG_GENERIC_U, MSG_GENERIC_U_HELP, MSG_GENERIC_U_TWOPARMS_HELP, MSG_GENERIC_W, MSG_GENERIC_W_HELP, MSG_GENERIC_W_TWOPARMS_HELP, MSG_HOSTNAME_NOTFOUND, MSG_HOSTNAME_VERIFYING, MSG_IMPORT_EXPORT_UNABLE_TO_USE_CONNECTION, MSG_IMPORT_EXPORT_UNEXPECTED_EXCEPTION, MSG_INITIALIZING_SERVER, MSG_LIST_CANCELLED, MSG_LIST_PREFIX, MSG_LOADING_PROFILE_SHOULDBE_ACTIVATED, MSG_LOADING_PROFILE_SHOULDNOTBE_DEACTIVATED, MSG_MOVE_PROGRESS, MSG_MOVECONNECTION_PROGRESS, MSG_MOVECONNECTIONS_PROGRESS, MSG_MOVEFILTER_PROGRESS, MSG_MOVEFILTERPOOL_COMPLETE, MSG_MOVEFILTERPOOL_PROGRESS, MSG_MOVEFILTERPOOLS_PROGRESS, MSG_MOVEFILTERS_PROGRESS, MSG_MOVEFILTERSTRING_PROGRESS, MSG_MOVEFILTERSTRINGS_PROGRESS, MSG_MOVEGENERIC_PROGRESS, MSG_MOVETHINGGENERIC_PROGRESS, MSG_OFFLINE_CANT_CONNECT, MSG_OPERATION_CANCELLED, MSG_OPERATION_DISCONNECTED, MSG_OPERATION_FAILED, MSG_OPERATION_FINISHED, MSG_OPERATION_RUNNING, MSG_OPERTION_STOPPED, MSG_PERCENT_DONE, MSG_PREFIX, MSG_QUERY_PROGRESS, MSG_QUERY_PROPERTIES_PROGRESS, MSG_REMOTE_JAR_EXPORT_OVERWRITE_FILE, MSG_REMOTE_SEARCH_INVALID_REGEX, MSG_RENAMEFILTER_FAILED, MSG_RESOLVE_PROGRESS, MSG_RESTORE_FAILED, MSG_RUN_PROGRESS, MSG_SAVE_CHANGES_PENDING, MSG_SAVE_FAILED, MSG_SAVING_PROGRESS, MSG_SET_PROGRESS, MSG_SET_PROPERTIES_PROGRESS, MSG_STARTING_SERVER_VIA_DAEMON, MSG_STARTING_SERVER_VIA_REXEC, MSG_SYNCHRONIZE_PROGRESS, MSG_TRANSFER_INVALID, MSG_UCMD_INVOCATION_EMPTY, MSG_UDA_LOAD_ERROR, MSG_UDA_ROOTTAG_ERROR, MSG_UFF_PATTERN_EMPTY, MSG_UFF_PATTERN_INVALID_REGEX, MSG_UNDERCONSTRUCTION, MSG_UPDATEFILTER_FAILED, MSG_UPLOAD_FILE_EXISTS, MSG_UPLOAD_PROGRESS, MSG_UPLOADING_PROGRESS, MSG_VALIDATE_ARCHIVE_NAME, MSG_VALIDATE_COMPILELABEL_EMPTY, MSG_VALIDATE_COMPILELABEL_NOTUNIQUE, MSG_VALIDATE_COMPILELABEL_NOTVALID, MSG_VALIDATE_COMPILESTRING_EMPTY, MSG_VALIDATE_COMPILESTRING_NOTVALID, MSG_VALIDATE_CONNECTIONNAME_EMPTY, MSG_VALIDATE_CONNECTIONNAME_NOTUNIQUE, MSG_VALIDATE_CONNECTIONNAME_NOTUNIQUE_OTHERPROFILE, MSG_VALIDATE_CONNECTIONNAME_NOTVALID, MSG_VALIDATE_ENTRY_EMPTY, MSG_VALIDATE_ENTRY_NOTUNIQUE, MSG_VALIDATE_ENTRY_NOTVALID, MSG_VALIDATE_FILENAME_NOTVALID, MSG_VALIDATE_FILTERNAME_EMPTY, MSG_VALIDATE_FILTERNAME_NOTUNIQUE, MSG_VALIDATE_FILTERNAME_NOTVALID, MSG_VALIDATE_FILTERPOOLNAME_EMPTY, MSG_VALIDATE_FILTERPOOLNAME_NOTUNIQUE, MSG_VALIDATE_FILTERPOOLNAME_NOTVALID, MSG_VALIDATE_FILTERSTRING_ALREADYEXISTS, MSG_VALIDATE_FILTERSTRING_DUPLICATES, MSG_VALIDATE_FILTERSTRING_EMPTY, MSG_VALIDATE_FILTERSTRING_NOTUNIQUE, MSG_VALIDATE_FILTERSTRING_NOTVALID, MSG_VALIDATE_FOLDERNAME_NOTVALID, MSG_VALIDATE_HOSTNAME_EMPTY, MSG_VALIDATE_NAME_EMPTY, MSG_VALIDATE_NAME_NOTUNIQUE, MSG_VALIDATE_NAME_NOTVALID, MSG_VALIDATE_NOT_NUMERIC, MSG_VALIDATE_NUMBER_EMPTY, MSG_VALIDATE_NUMBER_NOTVALID, MSG_VALIDATE_NUMBER_OUTOFRANGE, MSG_VALIDATE_PASSWORD_EMPTY, MSG_VALIDATE_PASSWORD_EXPIRED, MSG_VALIDATE_PATH_EMPTY, MSG_VALIDATE_PATH_NOTUNIQUE, MSG_VALIDATE_PATH_NOTVALID, MSG_VALIDATE_PORT_EMPTY, MSG_VALIDATE_PORT_NOTVALID, MSG_VALIDATE_PROFILENAME_EMPTY, MSG_VALIDATE_PROFILENAME_NOTUNIQUE, MSG_VALIDATE_PROFILENAME_NOTVALID, MSG_VALIDATE_PROFILENAME_RESERVED, MSG_VALIDATE_RENAME_EMPTY, MSG_VALIDATE_RENAME_NOTUNIQUE, MSG_VALIDATE_RENAME_NOTVALID, MSG_VALIDATE_RENAME_OLDEQUALSNEW, MSG_VALIDATE_SRCTYPE_EMPTY, MSG_VALIDATE_SRCTYPE_NOTUNIQUE, MSG_VALIDATE_SRCTYPE_NOTVALID, MSG_VALIDATE_UDACMD_EMPTY, MSG_VALIDATE_UDACMD_NOTVALID, MSG_VALIDATE_UDACMT_EMPTY, MSG_VALIDATE_UDACMT_NOTVALID, MSG_VALIDATE_UDANAME_EMPTY, MSG_VALIDATE_UDANAME_NOTUNIQUE, MSG_VALIDATE_UDANAME_NOTVALID, MSG_VALIDATE_UDTNAME_EMPTY, MSG_VALIDATE_UDTNAME_NOTUNIQUE, MSG_VALIDATE_UDTNAME_NOTVALID, MSG_VALIDATE_UDTTYPES_EMPTY, MSG_VALIDATE_UDTTYPES_NOTVALID, MSG_VALIDATE_USERID_EMPTY, MSG_VALIDATE_USERID_NOTVALID, MSG_WIZARD_PAGE_ERROR, NEW_FILE_ACTION, NEW_FILE_WIZARD, NEW_FOLDER_ACTION, NEW_FOLDER_WIZARD, PLUGIN_ID, PREFIX, RESID_PREFIX
 
Fields inherited from interface com.ibm.etools.systems.core.ui.validators.ISystemValidator
Copyright
 
Constructor Summary
ValidatorUniqueString(String[] existingList, boolean caseSensitive)
          Constructor accepting an Array.
ValidatorUniqueString(String[] existingList, boolean caseSensitive, ISystemValidator syntaxValidator)
          Constructor accepting an Array and another validator to use for the syntax checking.
ValidatorUniqueString(Vector existingList, boolean caseSensitive)
          Constructor accepting a Vector.
ValidatorUniqueString(Vector existingList, boolean caseSensitive, ISystemValidator syntaxValidator)
          Constructor accepting a Vector and another validator to use for the syntax checking.
 
Method Summary
protected  String doMessageSubstitution(SystemMessage msg, String substitution)
          Helper method to substitute data into a message
 String[] getExistingNamesList()
          Return the existing names list.
 int getMaximumNameLength()
          Return the max length for this name, or -1 if no max
 SystemMessage getSystemMessage()
          When isValid returns non-null, call this to get the SystemMessage object for the error versus the simple string message.
protected  String getSystemMessageText(SystemMessage msg)
          Helper method to set the current system message and return its level one text
 SystemMessage isSyntaxOk(String newText)
          Override in child to do your own syntax checking.
 String isValid(Object newValue)
          As required by ICellEditor
 String isValid(String newText)
          Deprecated. You should be using validate(String) and SystemMessage objects
static String quotedToLowerCase(String input)
          Special-case way to fold non-quoted parts of a string to lowercase
 void setCaseSensitive(boolean caseSensitive)
          Reset whether this is a case-sensitive list or not
 void setErrorMessages(SystemMessage msg_Empty, SystemMessage msg_NonUnique)
          Supply your own error message text.
 void setExistingNamesList(String[] existingList)
          Reset the existing names list.
 void setExistingNamesList(Vector existingList)
          Reset the existing names list.
 void setUseUpperCase()
          For case-insensitive, we typically fold to lowercase, affecting what this user sees in the substitution value of error messages.
 String toString()
           
 SystemMessage validate(String text)
          For convenience, this is a shortcut to calling: if (isValid(text) !
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

copyright

public static final String copyright
See Also:
Constant Field Values

CASE_SENSITIVE

public static final boolean CASE_SENSITIVE
See Also:
Constant Field Values

CASE_INSENSITIVE

public static final boolean CASE_INSENSITIVE
See Also:
Constant Field Values

QUOTE

public static final char QUOTE
See Also:
Constant Field Values

syntaxValidator

protected ISystemValidator syntaxValidator

caseSensitive

protected boolean caseSensitive

useUpperCase

protected boolean useUpperCase

existingList

protected String[] existingList

msg_Empty

protected SystemMessage msg_Empty

msg_NonUnique

protected SystemMessage msg_NonUnique

currentMessage

protected SystemMessage currentMessage
Constructor Detail

ValidatorUniqueString

public ValidatorUniqueString(Vector existingList,
                             boolean caseSensitive)
Constructor accepting a Vector.


ValidatorUniqueString

public ValidatorUniqueString(String[] existingList,
                             boolean caseSensitive)
Constructor accepting an Array.


ValidatorUniqueString

public ValidatorUniqueString(Vector existingList,
                             boolean caseSensitive,
                             ISystemValidator syntaxValidator)
Constructor accepting a Vector and another validator to use for the syntax checking.


ValidatorUniqueString

public ValidatorUniqueString(String[] existingList,
                             boolean caseSensitive,
                             ISystemValidator syntaxValidator)
Constructor accepting an Array and another validator to use for the syntax checking.

Method Detail

setCaseSensitive

public void setCaseSensitive(boolean caseSensitive)
Reset whether this is a case-sensitive list or not

Specified by:
setCaseSensitive in interface ISystemValidatorUniqueString

setUseUpperCase

public void setUseUpperCase()
For case-insensitive, we typically fold to lowercase, affecting what this user sees in the substitution value of error messages. Call this so the value substituted is uppercase vs lowercase.


setExistingNamesList

public void setExistingNamesList(Vector existingList)
Reset the existing names list.

Specified by:
setExistingNamesList in interface ISystemValidatorUniqueString

setExistingNamesList

public void setExistingNamesList(String[] existingList)
Reset the existing names list.

Specified by:
setExistingNamesList in interface ISystemValidatorUniqueString

getExistingNamesList

public String[] getExistingNamesList()
Return the existing names list. This will be a case-normalized and sorted list.

Specified by:
getExistingNamesList in interface ISystemValidatorUniqueString

quotedToLowerCase

public static String quotedToLowerCase(String input)
Special-case way to fold non-quoted parts of a string to lowercase


setErrorMessages

public void setErrorMessages(SystemMessage msg_Empty,
                             SystemMessage msg_NonUnique)
Supply your own error message text. By default, messages from SystemPlugin resource bundle are used.


isSyntaxOk

public SystemMessage isSyntaxOk(String newText)
Override in child to do your own syntax checking.


toString

public String toString()

doMessageSubstitution

protected String doMessageSubstitution(SystemMessage msg,
                                       String substitution)
Helper method to substitute data into a message


getSystemMessageText

protected String getSystemMessageText(SystemMessage msg)
Helper method to set the current system message and return its level one text


isValid

public String isValid(String newText)
Deprecated. You should be using validate(String) and SystemMessage objects

Validates the given string. Returns the error message used if the given string isn't valid. A return value null or a string of length zero indicates that the value is valid. Note this is called per keystroke, by the platform.


isValid

public String isValid(Object newValue)
As required by ICellEditor


getMaximumNameLength

public int getMaximumNameLength()
Return the max length for this name, or -1 if no max

Specified by:
getMaximumNameLength in interface ISystemValidator

getSystemMessage

public SystemMessage getSystemMessage()
When isValid returns non-null, call this to get the SystemMessage object for the error versus the simple string message.

Specified by:
getSystemMessage in interface ISystemValidator

validate

public SystemMessage validate(String text)
For convenience, this is a shortcut to calling:

  if (isValid(text) != null)
    msg = getSystemMessage();
 

Specified by:
validate in interface ISystemValidator

Remote Systems
v6.4.1

Copyright © 2005 IBM Corp. All Rights Reserved.

Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.