| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- //------------------------------------------------------------------------------
- //
- // System.IO.CheckArgument.cs
- //
- // Copyright (C) 2001 Moonlight Enterprises, All Rights Reserved
- //
- // Author: Jim Richardson, [email protected]
- // Created: Saturday, August 25, 2001
- //
- // NOTE: All contributors can freely add to this class or make modifications
- // that do not break existing usage of methods
- //------------------------------------------------------------------------------
- using System;
- using System.IO;
- namespace System.IO.Private
- {
- /// <summary>
- /// A utility class to assist with various argument validations in System.IO
- /// </summary>
- public sealed class CheckArgument
- {
- /// <summary>
- /// Generates and exception if arg contains whitepace only
- /// </summary>
- public static void WhitespaceOnly(string arg, string desc)
- {
- if(arg != null && arg.Length > 0)
- {
- string temp = arg;
- temp.Trim();
- if(temp.Length == 0)
- {
- throw new ArgumentException(desc);
- }
- }
- }
-
- /// <summary>
- /// Generates and exception if arg contains whitepace only
- /// </summary>
- public static void WhitespaceOnly(string arg)
- {
- WhitespaceOnly(arg, "Argument string consists of whitespace characters only.");
- }
-
- /// <summary>
- /// Generates and exception if arg is empty
- /// </summary>
- public static void Empty(string arg, string desc)
- {
- if(arg != null && arg.Length == 0)
- {
- throw new ArgumentException(desc);
- }
- }
-
- /// <summary>
- /// Generates and exception if arg is empty
- /// </summary>
- public static void Empty(string arg)
- {
- Empty(arg, "Argument string is empty.");
- }
-
- /// <summary>
- /// Generates and exception if arg is null
- /// </summary>
- public static void Null(Object arg, string desc)
- {
- if(arg == null)
- {
- throw new ArgumentNullException(desc);
- }
- }
-
- /// <summary>
- /// Generates and exception if arg is null
- /// </summary>
- public static void Null(Object arg)
- {
- if(arg == null)
- {
- throw new ArgumentNullException();
- }
- }
-
- /// <summary>
- /// Generates and exception if path contains invalid path characters
- /// </summary>
- public static void PathChars(string path, string desc)
- {
- if(path != null)
- {
- if(path.IndexOfAny(System.IO.Path.InvalidPathChars) > -1)
- {
- throw new ArgumentException(desc);
- }
- }
- }
-
- /// <summary>
- /// Generates and exception if path contains invalid path characters
- /// </summary>
- public static void PathChars(string path)
- {
- PathChars(path, "Path contains invalid characters");
- }
-
- /// <summary>
- /// Generates and exception if path too long
- /// </summary>
- public static void PathLength(string path, string desc)
- {
- //TODO: find out how long is too long
- }
-
- /// <summary>
- /// Generates and exception if path too long
- /// </summary>
- public static void PathLength(string path)
- {
- PathLength(path);
- }
-
- /// <summary>
- /// Generates and exception if path is illegal
- /// </summary>
- public static void Path(string path, bool bAllowNull, bool bLength)
- {
- if(path != null) //allow null
- {
- Empty(path, "Path cannot be the empty string"); // path can't be empty
- WhitespaceOnly(path, "Path cannot be all whitespace"); // path can't be all whitespace
- PathChars(path); // path can't contain invalid characters
- if(bLength)
- {
- PathLength("Path too long");
- }
- }
- else if(!bAllowNull)
- {
- throw new ArgumentNullException("Parameter name: path");
- }
- }
-
- /// <summary>
- /// Generates and exception if path is illegal
- /// </summary>
- public static void Path(string path, bool bAllowNull)
- {
- Path(path, bAllowNull, false);
- }
-
- /// <summary>
- /// Generates and exception if path is illegal
- /// </summary>
- public static void Path(string path)
- {
- Path(path, true, false);
- }
- }
- } // namespace System.IO.Private
|