svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.api / src / main / java / org / gvsig / fmap / dal / feature / AbstractFeatureRule.java @ 47779
History | View | Annotate | Download (3.03 KB)
1 | 40559 | jjdelcerro | /**
|
---|---|---|---|
2 | * gvSIG. Desktop Geographic Information System.
|
||
3 | 40435 | jjdelcerro | *
|
4 | 40559 | jjdelcerro | * Copyright (C) 2007-2013 gvSIG Association.
|
5 | 40435 | jjdelcerro | *
|
6 | * This program is free software; you can redistribute it and/or
|
||
7 | * modify it under the terms of the GNU General Public License
|
||
8 | 40559 | jjdelcerro | * as published by the Free Software Foundation; either version 3
|
9 | 40435 | jjdelcerro | * of the License, or (at your option) any later version.
|
10 | *
|
||
11 | * This program is distributed in the hope that it will be useful,
|
||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
14 | * GNU General Public License for more details.
|
||
15 | *
|
||
16 | * You should have received a copy of the GNU General Public License
|
||
17 | * along with this program; if not, write to the Free Software
|
||
18 | 40559 | jjdelcerro | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19 | * MA 02110-1301, USA.
|
||
20 | 40435 | jjdelcerro | *
|
21 | 40559 | jjdelcerro | * For any additional information, do not hesitate to contact us
|
22 | * at info AT gvsig.com, or visit our website www.gvsig.com.
|
||
23 | 40435 | jjdelcerro | */
|
24 | package org.gvsig.fmap.dal.feature; |
||
25 | |||
26 | 47378 | jjdelcerro | import org.gvsig.tools.util.Bitmask; |
27 | 40435 | jjdelcerro | |
28 | 47378 | jjdelcerro | |
29 | 40435 | jjdelcerro | /**
|
30 | * Abstract feature rule intended for giving a partial default implementation
|
||
31 | * of the {@link FeatureRule} interface to other rule implementations. It is recommended
|
||
32 | * to extend this class when implementing new {@link FeatureRule}s.
|
||
33 | *
|
||
34 | 45739 | jjdelcerro | * @author gvSIG Team
|
35 | 40435 | jjdelcerro | */
|
36 | public abstract class AbstractFeatureRule implements FeatureRule { |
||
37 | protected String name; |
||
38 | protected String description; |
||
39 | 47378 | jjdelcerro | protected Bitmask checkwhen;
|
40 | 40435 | jjdelcerro | |
41 | protected AbstractFeatureRule(String name, String description) { |
||
42 | 47378 | jjdelcerro | this(
|
43 | name, |
||
44 | description, |
||
45 | FeatureRule.CHECK_WHEN_FINISH_EDITING | |
||
46 | FeatureRule.CHECK_WHEN_INSERT_OR_UPDATE_FEATURE |
||
47 | ); |
||
48 | 40435 | jjdelcerro | } |
49 | |||
50 | protected AbstractFeatureRule(String name, String description, |
||
51 | boolean checkAtUpdate, boolean checkAtFinishEdition) { |
||
52 | 47378 | jjdelcerro | this(
|
53 | name, |
||
54 | description, |
||
55 | (checkAtUpdate? FeatureRule.CHECK_WHEN_FINISH_EDITING:0) |
|
||
56 | (checkAtFinishEdition? FeatureRule.CHECK_WHEN_INSERT_OR_UPDATE_FEATURE:0)
|
||
57 | ); |
||
58 | } |
||
59 | |||
60 | protected AbstractFeatureRule(String name, String description, |
||
61 | int checkwhenmask) {
|
||
62 | 40435 | jjdelcerro | this.name=name;
|
63 | this.description=description;
|
||
64 | 47378 | jjdelcerro | this.checkwhen = Bitmask.createBitmask(checkwhenmask);
|
65 | 40435 | jjdelcerro | } |
66 | |||
67 | 45739 | jjdelcerro | @Override
|
68 | 40435 | jjdelcerro | public String getName() { |
69 | return name;
|
||
70 | } |
||
71 | |||
72 | 45739 | jjdelcerro | @Override
|
73 | 40435 | jjdelcerro | public String getDescription() { |
74 | return description;
|
||
75 | } |
||
76 | |||
77 | 45739 | jjdelcerro | @Override
|
78 | 40435 | jjdelcerro | public boolean checkAtFinishEditing() { |
79 | 47378 | jjdelcerro | return this.checkwhen.isSetBits(CHECK_WHEN_FINISH_EDITING); |
80 | 40435 | jjdelcerro | } |
81 | |||
82 | 45739 | jjdelcerro | @Override
|
83 | 40435 | jjdelcerro | public boolean checkAtUpdate() { |
84 | 47378 | jjdelcerro | return this.checkwhen.isSetBits(CHECK_WHEN_INSERT_OR_UPDATE_FEATURE); |
85 | 40435 | jjdelcerro | } |
86 | |||
87 | 47378 | jjdelcerro | @Override
|
88 | public boolean checkWhen(int mask) { |
||
89 | return this.checkwhen.isSetBits(mask); |
||
90 | } |
||
91 | |||
92 | protected void setCheckWhen(int mask) { |
||
93 | this.checkwhen.setBits(mask);
|
||
94 | } |
||
95 | 40435 | jjdelcerro | } |