PowerToys/Wox.Plugin/Query.cs

49 lines
1.3 KiB
C#
Raw Normal View History

2013-12-19 23:51:20 +08:00
using System.Collections.Generic;
2014-01-29 18:33:24 +08:00
namespace Wox.Plugin
2013-12-19 23:51:20 +08:00
{
public class Query
{
public string RawQuery { get; set; }
public string ActionName { get; private set; }
public List<string> ActionParameters { get; private set; }
public Query(string rawQuery)
{
RawQuery = rawQuery;
2013-12-20 19:38:10 +08:00
ActionParameters = new List<string>();
2013-12-19 23:51:20 +08:00
ParseQuery();
}
private void ParseQuery()
{
2013-12-20 19:38:10 +08:00
if (string.IsNullOrEmpty(RawQuery)) return;
string[] strings = RawQuery.Split(' ');
2014-02-28 23:21:01 +08:00
//todo:not exactly correct. query that didn't containing a space should be a valid query
2013-12-22 00:44:56 +08:00
if (strings.Length == 1) return; //we consider a valid query must contain a space
2013-12-20 19:38:10 +08:00
ActionName = strings[0];
2013-12-22 00:44:56 +08:00
for (int i = 1; i < strings.Length; i++)
2013-12-20 19:38:10 +08:00
{
2013-12-22 00:44:56 +08:00
if (!string.IsNullOrEmpty(strings[i]))
2013-12-20 19:38:10 +08:00
{
ActionParameters.Add(strings[i]);
}
}
2013-12-19 23:51:20 +08:00
}
2014-02-28 23:21:01 +08:00
public string GetAllRemainingParameter()
{
2014-03-17 01:53:51 +08:00
string[] strings = RawQuery.Split(new char[]{ ' ' }, 2, System.StringSplitOptions.None);
2014-02-28 23:21:01 +08:00
if (strings.Length > 1)
{
2014-03-17 01:53:51 +08:00
return strings[1];
2014-02-28 23:21:01 +08:00
}
return string.Empty;
}
2013-12-19 23:51:20 +08:00
}
}