public override void TakeParameters(string line) { string[] arguments = ParsingUtilities.GetQuoteArguments(line); filePath = PathTracker.CombineRelativePath(arguments[0]); someText = arguments[1]; // Selecting user's encoding. currentEncoding = ParsingUtilities.HasThreeParam(name, line) ? EncodingUtilities.dictStrEncoding[arguments[2]] : defaultEncoding; }
public override bool ValidateParams(string line) { // Print command can have 2 or 3 options. try { if (!(ParsingUtilities.HasTwoParam(name, line) || ParsingUtilities.HasThreeParam(name, line))) { return(false); } } catch (RegexMatchTimeoutException) { return(false); } string[] arguments = ParsingUtilities.GetQuoteArguments(line); string path = PathTracker.CombineRelativePath(arguments[0]); // Check if file already exists. if (PathTracker.IsFilePathValid(path)) { throw new InvalidPathException("FILE_ALREADY_EXISTS"); } // Check if chosen encoding is correct. try { if (ParsingUtilities.HasThreeParam(name, line)) { if (!EncodingUtilities.dictStrEncoding.ContainsKey(arguments[2])) { throw new InvalidEncodingException(); } } } catch (RegexMatchTimeoutException) { return(false); } return(true); }