001package org.hl7.fhir.utilities.json.model;
002
003import org.hl7.fhir.utilities.Utilities;
004
005public class JsonNumber extends JsonPrimitive {
006
007  private String value;
008
009  public JsonNumber(String value) {
010    this.value = value;
011  }
012
013  public JsonNumber(int value) {
014    this.value = Integer.toString(value);
015  }
016
017  private JsonNumber() {
018  }
019
020  public JsonElementType type() {
021    return JsonElementType.NUMBER;
022  }
023
024  @Override
025  public String getValue() {
026    return value;
027  }
028  
029  @Override
030  public String toString() {
031    return value;
032  }
033
034  public Integer getInteger() {
035    if (Utilities.isInteger(value)) {
036      return Integer.parseInt(value); 
037    } else {
038      return null; 
039    }
040  }
041  
042  @Override
043  protected JsonElement copy(JsonElement other) {
044    value = ((JsonNumber) other).value;
045    return this;
046  }
047  
048  @Override
049  protected JsonElement make() {
050    return new JsonNumber();
051  }
052}