source: josm/trunk/src/org/openstreetmap/josm/data/osm/Filter.java@ 7501

Last change on this file since 7501 was 7083, checked in by Don-vip, 10 years ago

see #8465 - replace Utils.equal by Objects.equals, new in Java 7

  • Property svn:eol-style set to native
File size: 2.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.osm;
3
4import org.openstreetmap.josm.actions.search.SearchAction.SearchMode;
5import org.openstreetmap.josm.actions.search.SearchAction.SearchSetting;
6import org.openstreetmap.josm.data.Preferences.pref;
7import org.openstreetmap.josm.data.Preferences.writeExplicitly;
8
9/**
10 *
11 * @author Petr_Dlouhý
12 */
13public class Filter extends SearchSetting {
14 private static final String version = "1";
15
16 public boolean enable = true;
17 public boolean hiding = false;
18 public boolean inverted = false;
19
20 /**
21 * Constructs a new {@code Filter}.
22 */
23 public Filter() {
24 super("", SearchMode.add, false, false, false);
25 }
26
27 public Filter(String text, SearchMode mode, boolean caseSensitive,
28 boolean regexSearch, boolean allElements) {
29 super(text, mode, caseSensitive, regexSearch, allElements);
30 }
31
32 public Filter(FilterPreferenceEntry e) {
33 super(e.text, SearchMode.add, false, false, false);
34 if ("replace".equals(e.mode)) {
35 mode = SearchMode.replace;
36 } else if ("add".equals(e.mode)) {
37 mode = SearchMode.add;
38 } else if ("remove".equals(e.mode)) {
39 mode = SearchMode.remove;
40 } else if ("in_selection".equals(e.mode)) {
41 mode = SearchMode.in_selection;
42 }
43 caseSensitive = e.case_sensitive;
44 regexSearch = e.regex_search;
45 enable = e.enable;
46 hiding = e.hiding;
47 inverted = e.inverted;
48 }
49
50 public static class FilterPreferenceEntry {
51 @pref @writeExplicitly public String version = "1";
52 @pref public String text = null;
53 @pref @writeExplicitly public String mode = "add";
54 @pref public boolean case_sensitive = false;
55 @pref public boolean regex_search = false;
56 @pref @writeExplicitly public boolean enable = true;
57 @pref @writeExplicitly public boolean hiding = false;
58 @pref @writeExplicitly public boolean inverted = false;
59 }
60
61 public FilterPreferenceEntry getPreferenceEntry() {
62 FilterPreferenceEntry e = new FilterPreferenceEntry();
63 e.version = version;
64 e.text = text;
65 e.mode = mode.toString();
66 e.case_sensitive = caseSensitive;
67 e.regex_search = regexSearch;
68 e.enable = enable;
69 e.hiding = hiding;
70 e.inverted = inverted;
71 return e;
72 }
73}
Note: See TracBrowser for help on using the repository browser.