+++ /dev/null
-
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.controller.sal.core;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-/**
- * @file Latency.java
- *
- * @brief Class representing Latency
- *
- * Describe a latency in picoseconds or multiple of its.
- */
-@XmlRootElement
-@XmlAccessorType(XmlAccessType.NONE)
-public class Latency extends Property {
- private static final long serialVersionUID = 1L;
-
- @XmlElement(name="value")
- private long latencyValue;
-
- public static final long LATENCYUNK = 0;
- public static final long LATENCY1ns = (long) Math.pow(10, 3);
- public static final long LATENCY10ns = (long) Math.pow(10, 4);
- public static final long LATENCY100ns = (long) Math.pow(10, 5);
- public static final long LATENCY1us = (long) Math.pow(10, 6);
- public static final long LATENCY10us = (long) Math.pow(10, 7);
- public static final long LATENCY100us = (long) Math.pow(10, 8);
- public static final long LATENCY1ms = (long) Math.pow(10, 9);
- public static final long LATENCY1s = (long) Math.pow(10, 12);
-
- public static final String LatencyPropName = "latency";
-
- /*
- * Private constructor used for JAXB mapping
- */
- private Latency() {
- super(LatencyPropName);
- this.latencyValue = LATENCYUNK;
- }
-
- public Latency(long latency) {
- super(LatencyPropName);
- this.latencyValue = latency;
- }
-
- public Latency(int latency) {
- super(LatencyPropName);
- this.latencyValue = (long) latency;
- }
-
- public Latency(short latency) {
- super(LatencyPropName);
- this.latencyValue = (long) latency;
- }
-
- @Override
- public Latency clone() {
- return new Latency(this.latencyValue);
- }
-
- public long getValue() {
- return this.latencyValue;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + (int) (latencyValue ^ (latencyValue >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- Latency other = (Latency) obj;
- if (latencyValue != other.latencyValue)
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- StringBuffer sb = new StringBuffer();
-
- sb.append("Latency[");
- if (this.latencyValue == 0) {
- sb.append("UnKnown");
- } else if (this.latencyValue < LATENCY1ns) {
- sb.append(this.latencyValue).append("psec");
- } else if (this.latencyValue < LATENCY1us) {
- sb.append(Long.toString(this.latencyValue / LATENCY1ns)).append("nsec");
- } else if (this.latencyValue < LATENCY1ms) {
- sb.append(Long.toString(this.latencyValue / LATENCY1us)).append("usec");
- } else if (this.latencyValue < LATENCY1s) {
- sb.append(Long.toString(this.latencyValue / LATENCY1ms)).append("msec");
- }
-
- sb.append("]");
- return sb.toString();
- }
-
- @Override
- public String getStringValue() {
- if (this.latencyValue == 0) {
- return("UnKnown");
- } else if (this.latencyValue < LATENCY1ns) {
- return(this.latencyValue + "psec");
- } else if (this.latencyValue < LATENCY1us) {
- return(Long.toString(this.latencyValue / LATENCY1ns) + "nsec");
- } else if (this.latencyValue < LATENCY1ms) {
- return(Long.toString(this.latencyValue / LATENCY1us) + "usec");
- } else if (this.latencyValue < LATENCY1s) {
- return(Long.toString(this.latencyValue / LATENCY1ms) + "msec");
- } else {
- return Long.toString(this.latencyValue) + "sec";
- }
- }
-}