SmartThings support
[jpf-core.git] / src / main / gov / nasa / jpf / vm / serialize / SmartThingsFilterConfiguration.java
1 /*
2  * Copyright (C) 2014, United States Government, as represented by the
3  * Administrator of the National Aeronautics and Space Administration.
4  * All rights reserved.
5  *
6  * The Java Pathfinder core (jpf-core) platform is licensed under the
7  * Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  * 
10  *        http://www.apache.org/licenses/LICENSE-2.0. 
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and 
16  * limitations under the License.
17  */
18
19 package gov.nasa.jpf.vm.serialize;
20
21 import gov.nasa.jpf.Config;
22
23
24 public class SmartThingsFilterConfiguration extends AmmendableFilterConfiguration {
25   @Override
26   public void init(Config config) {
27     // these built-in come first
28     appendStaticAmmendment(IgnoreConstants.instance);
29     appendInstanceAmmendment(IgnoreReflectiveNames.instance);
30     appendFieldAmmendment(IgnoreThreadNastiness.instance);
31     appendFieldAmmendment(IgnoreUtilSilliness.instance);
32
33     appendFrameAmmendment(SmartThingsConfig.instance);
34     appendStaticAmmendment(SmartThingsConfig.instance);
35     appendFieldAmmendment(SmartThingsConfig.instance);
36     
37     // ignores (e.g. NoMatch) from annotations
38     IgnoresFromAnnotations ignores = new IgnoresFromAnnotations(config); 
39     appendFieldAmmendment(ignores);
40     appendFrameAmmendment(ignores);
41     
42     // configured via properties
43     super.init(config);
44     
45     // includes (e.g. ForceMatch) from annotations
46     IncludesFromAnnotations includes = new IncludesFromAnnotations(config); 
47     appendFieldAmmendment(includes);
48     //appendFrameAmmendment(includes);
49   }
50 }