• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package checker;
2 
3 /*
4  * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  *   - Redistributions of source code must retain the above copyright
11  *     notice, this list of conditions and the following disclaimer.
12  *
13  *   - Redistributions in binary form must reproduce the above copyright
14  *     notice, this list of conditions and the following disclaimer in the
15  *     documentation and/or other materials provided with the distribution.
16  *
17  *   - Neither the name of Oracle nor the names of its
18  *     contributors may be used to endorse or promote products derived
19  *     from this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
22  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32  */
33 
34 /*
35  * This source code is provided to illustrate the usage of a given feature
36  * or technique and has been deliberately simplified. Additional steps
37  * required for a production-quality application, such as security checks,
38  * input validation and proper error handling, might not be present in
39  * this sample code.
40  */
41 
42 
43 import javax.xml.bind.annotation.XmlElement;
44 import javax.xml.bind.annotation.XmlRootElement;
45 import java.util.Collections;
46 import java.util.EnumMap;
47 import java.util.Map;
48 
49 /**
50  * Represents the device configuration. The values are loaded from an XML file by JAXB.
51  */
52 @XmlRootElement
53 public class Device {
54 
55     @XmlElement()
56     private Map<Module, Integer> supportedModules = new EnumMap<>(Module.class);
57 
58     /**
59      * Returns map of supported modules. The map key is module. The map value is version.
60      *
61      * @return map of supported modules.
62      */
getSupportedModules()63     public Map<Module, Integer> getSupportedModules() {
64         return Collections.unmodifiableMap(supportedModules);
65     }
66 }
67