Class TopoUtils.ValueLabel

  • Enclosing class:
    TopoUtils

    public static class TopoUtils.ValueLabel
    extends java.lang.Object
    Encapsulates a value to be used as a label.
    • Constructor Summary

      Constructors 
      Constructor Description
      ValueLabel​(long value, java.lang.String unit)
      Creates a value label with the given base value and unit.
    • Constructor Detail

      • ValueLabel

        public ValueLabel​(long value,
                          java.lang.String unit)
        Creates a value label with the given base value and unit. For example:
         ValueLabel bits = new ValueLabel(2_050, "b");
         ValueLabel bytesPs = new ValueLabel(3_000_000, "B").perSec();
         
        Generating labels:
           bits.toString()     ...  "2.00 Kb"
           bytesPs.toString()  ...  "2.86 MBps"
         
        Parameters:
        value - the base value
        unit - the value unit
    • Method Detail

      • perSec

        public TopoUtils.ValueLabel perSec()
        Mark this value to be expressed as a rate. That is, "ps" (per sec) will be appended in the string representation.
        Returns:
        self, for chaining
      • clipG

        public TopoUtils.ValueLabel clipG​(double threshold)
        Clips the (adjusted) value to the given threshold expressed in Giga units. That is, if the adjusted value exceeds the threshold, it will be set to the threshold value and the clipped flag will be set. For example,
         ValueLabel tooMuch = new ValueLabel(12_000_000_000, "b")
              .perSec().clipG(10.0);
        
         tooMuch.toString()    ...  "10.00 Gbps"
         tooMuch.clipped()     ...  true
         
        Parameters:
        threshold - the clip threshold (Giga)
        Returns:
        self, for chaining
      • clipped

        public boolean clipped()
        Returns true if this value was clipped to a maximum threshold.
        Returns:
        true if value was clipped
      • magnitude

        public TopoUtils.Magnitude magnitude()
        Returns the magnitude value.
        Returns:
        the magnitude
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object