001    /*
002     * MetricValue.java
003     *
004     * Licensed to the Apache Software Foundation (ASF) under one
005     * or more contributor license agreements.  See the NOTICE file
006     * distributed with this work for additional information
007     * regarding copyright ownership.  The ASF licenses this file
008     * to you under the Apache License, Version 2.0 (the
009     * "License"); you may not use this file except in compliance
010     * with the License.  You may obtain a copy of the License at
011     *
012     *     http://www.apache.org/licenses/LICENSE-2.0
013     *
014     * Unless required by applicable law or agreed to in writing, software
015     * distributed under the License is distributed on an "AS IS" BASIS,
016     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017     * See the License for the specific language governing permissions and
018     * limitations under the License.
019     */
020    
021    package org.apache.hadoop.metrics.spi;
022    
023    import org.apache.hadoop.classification.InterfaceAudience;
024    import org.apache.hadoop.classification.InterfaceStability;
025    
026    /**
027     * A Number that is either an absolute or an incremental amount.
028     */
029    @InterfaceAudience.Public
030    @InterfaceStability.Evolving
031    public class MetricValue {
032        
033      public static final boolean ABSOLUTE = false;
034      public static final boolean INCREMENT = true;
035        
036      private boolean isIncrement;
037      private Number number;
038        
039      /** Creates a new instance of MetricValue */
040      public MetricValue(Number number, boolean isIncrement) {
041        this.number = number;
042        this.isIncrement = isIncrement;
043      }
044    
045      public boolean isIncrement() {
046        return isIncrement;
047      }
048        
049      public boolean isAbsolute() {
050        return !isIncrement;
051      }
052    
053      public Number getNumber() {
054        return number;
055      }
056        
057    }