001package org.hl7.fhir.utilities.npm;
002
003import org.hl7.fhir.utilities.Utilities;
004
005public class PackageInfo {
006  private final String id;
007  private final String version;
008  private final String fhirVersion;
009  private final String description;
010  private final String url;
011  private final String canonical;
012
013  public PackageInfo(String id, String version, String fhirVersion, String description, String url, String canonical) {
014    this(id, version, fhirVersion, description, url, canonical, null);
015  }
016
017  public PackageInfo(String id, String version, String fhirVersion, String description, String url, String canonical, String address) {
018    super();
019    this.id = id;
020    this.version = version;
021    this.fhirVersion = fhirVersion;
022    this.description = description;
023    if (url == null && id != null && version != null) {
024      this.url = Utilities.pathURL(address, id, version);
025    } else {
026      this.url = url;
027    }
028    this.canonical = canonical;
029  }
030
031  public String getId() {
032    return id;
033  }
034
035  public String getVersion() {
036    return version;
037  }
038
039  public String getFhirVersion() {
040    return fhirVersion;
041  }
042
043  public String getDescription() {
044    return description;
045  }
046
047  public String getUrl() {
048    return url;
049  }
050
051  public String getCanonical() {
052    return canonical;
053  }
054
055  @Override
056  public String toString() {
057    return id + "#" + (version == null ? "?pc-pi?" : version) + (fhirVersion == null ? "" : " (" + canonical + ") for FHIR " + fhirVersion) + (url == null ? "" : " @" + url) + (description == null ? "" : " '" + description + "'");
058  }
059}