Remote Systems
v6.4.1

com.ibm.etools.systems.files.ui
Class ValidatorFileUniqueName

java.lang.Object
  extended bycom.ibm.etools.systems.core.ui.validators.ValidatorUniqueString
      extended bycom.ibm.etools.systems.files.ui.ValidatorFileUniqueName
All Implemented Interfaces:
ISystemMessages, ISystemValidator, ISystemValidatorUniqueString

public class ValidatorFileUniqueName
extends ValidatorUniqueString
implements ISystemMessages

This class is used in dialogs that prompt for file or folder names, and those names need to be unique within a given folder. To make sure error checking while typing is fast, we go get the list of names of the files and folders in the constructor and re-use it from then on.

The IInputValidator interface is implemented by our parent and it is used by jface's InputDialog class and property sheet window.

If you subclass this, consider overriding the getFileNameValidator and getFolderNameValidator methods.


Field Summary
static String copyright
           
protected  boolean isFolder
           
protected  SystemMessage msg_Invalid
           
protected  Vector names
           
protected  IRemoteFile parentFolder
           
 
Fields inherited from class com.ibm.etools.systems.core.ui.validators.ValidatorUniqueString
CASE_INSENSITIVE, CASE_SENSITIVE, caseSensitive, currentMessage, existingList, msg_Empty, msg_NonUnique, QUOTE, syntaxValidator, 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
ValidatorFileUniqueName(Shell shell, IRemoteFile parentFolder, boolean isFolder)
          Constructor
 
Method Summary
protected  ValidatorFileName getFileNameValidator()
          Overridable extension point to get basic file name validator By default, queries it from the file subsystem factory of the parent folder
protected  ValidatorFolderName getFolderNameValidator()
          Overridable extension point to get basic folder name validator.
 int getMaximumNameLength()
          Return the max length for this file or folder name
 SystemMessage isSyntaxOk(String newText)
          Validate each character.
 void setErrorMessages(SystemMessage msg_Empty, SystemMessage msg_NonUnique, SystemMessage msg_Invalid)
          Supply your own error message text.
 String toString()
           
 
Methods inherited from class com.ibm.etools.systems.core.ui.validators.ValidatorUniqueString
doMessageSubstitution, getExistingNamesList, getSystemMessage, getSystemMessageText, isValid, isValid, quotedToLowerCase, setCaseSensitive, setErrorMessages, setExistingNamesList, setExistingNamesList, setUseUpperCase, validate
 
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

msg_Invalid

protected SystemMessage msg_Invalid

parentFolder

protected IRemoteFile parentFolder

names

protected Vector names

isFolder

protected boolean isFolder
Constructor Detail

ValidatorFileUniqueName

public ValidatorFileUniqueName(Shell shell,
                               IRemoteFile parentFolder,
                               boolean isFolder)
Constructor

Parameters:
parentFolder - the folder within which the name must be unique.
Method Detail

setErrorMessages

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


isSyntaxOk

public SystemMessage isSyntaxOk(String newText)
Validate each character. Override of parent method. Override yourself to refine the error checking.

Overrides:
isSyntaxOk in class ValidatorUniqueString

getFileNameValidator

protected ValidatorFileName getFileNameValidator()
Overridable extension point to get basic file name validator By default, queries it from the file subsystem factory of the parent folder


getFolderNameValidator

protected ValidatorFolderName getFolderNameValidator()
Overridable extension point to get basic folder name validator. By default, queries it from the file subsystem factory of the parent folder


getMaximumNameLength

public int getMaximumNameLength()
Return the max length for this file or folder name

Specified by:
getMaximumNameLength in interface ISystemValidator
Overrides:
getMaximumNameLength in class ValidatorUniqueString

toString

public String toString()
Overrides:
toString in class ValidatorUniqueString

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.