/*
* Mibble MIB Parser (www.mibble.org)
*
* See LICENSE.txt for licensing information.
*
* Copyright (c) 2004-2017 Per Cederberg. All rights reserved.
*/
package net.percederberg.mibble;
import net.percederberg.mibble.value.ValueReference;
/**
* A named number. This class is used for storing intermediate values
* during the parsing.
*
* @author Per Cederberg
* @version 2.0
* @since 2.0
*/
class NamedNumber {
/**
* The value name.
*/
private String name = null;
/**
* The numeric value.
*/
private Number number = null;
/**
* The value reference.
*/
private ValueReference reference = null;
/**
* Creates a new named number.
*
* @param number the numeric value
*/
public NamedNumber(Number number) {
this(null, number);
}
/**
* Creates a new named number.
*
* @param name the value name
* @param number the numeric value
*/
public NamedNumber(String name, Number number) {
this.name = name;
this.number = number;
}
/**
* Creates a new named number.
*
* @param reference the value reference
*/
public NamedNumber(ValueReference reference) {
this(null, reference);
}
/**
* Creates a new named number.
*
* @param name the value name
* @param reference the value reference
*/
public NamedNumber(String name, ValueReference reference) {
this.name = name;
this.reference = reference;
}
/**
* Checks if this named number has a name component.
*
* @return true if this named number has a name component, or
* false otherwise
*/
public boolean hasName() {
return name != null;
}
/**
* Checks if this named number has a number component.
*
* @return true if this named number has a number component, or
* false otherwise
*/
public boolean hasNumber() {
return number != null;
}
/**
* Checks if this named number has a value reference.
*
* @return true if this named number has a value reference, or
* false otherwise
*/
public boolean hasReference() {
return reference != null;
}
/**
* Returns the value name.
*
* @return the value name
*/
public String getName() {
return name;
}
/**
* Returns the numeric value.
*
* @return the numeric value
*/
public Number getNumber() {
return number;
}
/**
* Returns the value reference.
*
* @return the value reference
*/
public ValueReference getReference() {
return reference;
}
}