| 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
- {
- /// <summary>
- /// A utility class to assist with various argument validations in System.IO
- /// </summary>
- internal 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.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>
- [MonoTODO]
- 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, false, false);
- }
- }
- } // namespace System.IO.Private
|