Filter.cs 816 B

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. namespace MediaBrowser.Model.Dlna
  5. {
  6. public class Filter
  7. {
  8. private readonly List<string> _fields;
  9. private readonly bool _all;
  10. public Filter()
  11. : this("*")
  12. {
  13. }
  14. public Filter(string filter)
  15. {
  16. _all = string.Equals(filter, "*", StringComparison.OrdinalIgnoreCase);
  17. List<string> list = new List<string>();
  18. foreach (string s in (filter ?? string.Empty).Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries))
  19. list.Add(s);
  20. _fields = list;
  21. }
  22. public bool Contains(string field)
  23. {
  24. return _all || _fields.Contains(field, StringComparer.OrdinalIgnoreCase);
  25. }
  26. }
  27. }