4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 1) /** 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 2) * The MIT License aff982ec5 src/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Petteri Kivimaki 2018-09-15 10:17:04 +0000 3) * Copyright (c) 2018 Estonian Information System Authority (RIA), aff982ec5 src/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Petteri Kivimaki 2018-09-15 10:17:04 +0000 4) * Nordic Institute for Interoperability Solutions (NIIS), Population Register Centre (VRK) ec56f2403 src/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Petteri Kivimaki 2018-09-15 09:38:33 +0000 5) * Copyright (c) 2015-2017 Estonian Information System Authority (RIA), Population Register Centre (VRK) 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 6) * 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 7) * Permission is hereby granted, free of charge, to any person obtaining a copy 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 8) * of this software and associated documentation files (the "Software"), to deal 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 9) * in the Software without restriction, including without limitation the rights 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 10) * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 11) * copies of the Software, and to permit persons to whom the Software is 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 12) * furnished to do so, subject to the following conditions: 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 13) * 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 14) * The above copyright notice and this permission notice shall be included in 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 15) * all copies or substantial portions of the Software. 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 16) * 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 17) * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 18) * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 19) * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 20) * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 21) * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 22) * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 23) * THE SOFTWARE. 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 24) */ 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 25) package ee.ria.xroad.monitor; 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 26) 6ad8b6f0f xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Avo Jenk 2016-05-24 20:19:13 +0300 27) import com.codahale.metrics.Gauge; 6ad8b6f0f xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Avo Jenk 2016-05-24 20:19:13 +0300 28) e675ea13d src/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Jarkko Hyöty 2018-03-06 10:09:42 +0200 29) import java.io.Serializable; e675ea13d src/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Jarkko Hyöty 2018-03-06 10:09:42 +0200 30) 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 31) /** 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 32) * Simple {@link Gauge} implementation 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 33) * @param 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 34) */ 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 35) public class SimpleSensor implements Gauge { 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 36) 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 37) private volatile T value; 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 38) 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 39) public SimpleSensor(T initialValue) { 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 40) update(initialValue); 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 41) } 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 42) 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 43) public SimpleSensor() { 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 44) } 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 45) 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 46) @Override 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 47) public T getValue() { 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 48) return value; 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 49) } 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 50) 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 51) public void update(T newValue) { 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 52) this.value = newValue; 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 53) } 4e8a86fd6 xtee6/monitor/src/main/java/ee/ria/xroad/monitor/SimpleSensor.java (Ilkka Seppälä 2016-04-26 10:51:35 +0300 54) }