001package org.hl7.fhir.r5.model; 002 003import java.util.ArrayList; 004import java.util.Date; 005import java.util.List; 006 007import org.hl7.fhir.utilities.npm.NpmPackage; 008 009public class PackageInformation { 010 private String id; 011 private String version; 012 private Date date; 013 014 private String name; 015 private String canonical; 016 private String web; 017 018 private List<String> dependencies = new ArrayList<>(); 019 020 public PackageInformation(String id, String version, Date date, String name, String canonical, String web) { 021 super(); 022 this.id = id; 023 this.version = version; 024 this.date = date; 025 this.name = name; 026 this.canonical = canonical; 027 this.web = web; 028 } 029 030 public PackageInformation(String src, Date date) { 031 super(); 032 this.id = src; 033 this.date = date; 034 } 035 036 public PackageInformation(NpmPackage pi) { 037 super(); 038 this.id = pi.name(); 039 this.version = pi.version(); 040 this.date = pi.dateAsDate(); 041 this.name = pi.title(); 042 this.canonical = pi.canonical(); 043 this.web = pi.getWebLocation(); 044 dependencies.addAll(pi.dependencies()); 045 } 046 047 public PackageInformation(String id, String version, Date date) { 048 super(); 049 this.id = id; 050 this.version = version; 051 this.date = date; 052 } 053 054 public String getId() { 055 return id; 056 } 057 058 public String getVersion() { 059 return version; 060 } 061 062 public Date getDate() { 063 return date; 064 } 065 066 public String getName() { 067 return name; 068 } 069 070 public String getCanonical() { 071 return canonical; 072 } 073 074 public String getWeb() { 075 return web; 076 } 077 078 public List<String> getDependencies() { 079 return dependencies; 080 } 081 082 public boolean isExamplesPackage() { 083 boolean b = id.startsWith("hl7.fhir.") && id.endsWith(".examples"); 084 return b; 085 } 086 087 public boolean isHTO() { 088 boolean b = id.startsWith("hl7.terminology.r"); 089 return b; 090 } 091 092 public String getVID() { 093 return id+"#"+version; 094 } 095 096 public String toString() { 097 return getVID(); 098 } 099}