
001/*- 002 * #%L 003 * HAPI FHIR JPA Model 004 * %% 005 * Copyright (C) 2014 - 2023 Smile CDR, Inc. 006 * %% 007 * Licensed under the Apache License, Version 2.0 (the "License"); 008 * you may not use this file except in compliance with the License. 009 * You may obtain a copy of the License at 010 * 011 * http://www.apache.org/licenses/LICENSE-2.0 012 * 013 * Unless required by applicable law or agreed to in writing, software 014 * distributed under the License is distributed on an "AS IS" BASIS, 015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 016 * See the License for the specific language governing permissions and 017 * limitations under the License. 018 * #L% 019 */ 020package ca.uhn.fhir.jpa.model.entity; 021 022import ca.uhn.fhir.context.FhirVersionEnum; 023import org.apache.commons.lang3.builder.ToStringBuilder; 024import org.apache.commons.lang3.builder.ToStringStyle; 025 026import javax.persistence.Column; 027import javax.persistence.Entity; 028import javax.persistence.EnumType; 029import javax.persistence.Enumerated; 030import javax.persistence.ForeignKey; 031import javax.persistence.GeneratedValue; 032import javax.persistence.GenerationType; 033import javax.persistence.Id; 034import javax.persistence.Index; 035import javax.persistence.JoinColumn; 036import javax.persistence.ManyToOne; 037import javax.persistence.OneToOne; 038import javax.persistence.SequenceGenerator; 039import javax.persistence.Table; 040import javax.persistence.Temporal; 041import javax.persistence.TemporalType; 042import javax.persistence.Version; 043import java.util.Date; 044 045@Entity() 046@Table(name = "NPM_PACKAGE_VER_RES", uniqueConstraints = { 047}, indexes = { 048 @Index(name = "IDX_PACKVERRES_URL", columnList = "CANONICAL_URL") 049}) 050public class NpmPackageVersionResourceEntity { 051 052 @Id 053 @SequenceGenerator(name = "SEQ_NPM_PACKVERRES", sequenceName = "SEQ_NPM_PACKVERRES") 054 @GeneratedValue(strategy = GenerationType.AUTO, generator = "SEQ_NPM_PACKVERRES") 055 @Column(name = "PID") 056 private Long myId; 057 @ManyToOne 058 @JoinColumn(name = "PACKVER_PID", referencedColumnName = "PID", foreignKey = @ForeignKey(name = "FK_NPM_PACKVERRES_PACKVER"), nullable = false) 059 private NpmPackageVersionEntity myPackageVersion; 060 @OneToOne 061 @JoinColumn(name = "BINARY_RES_ID", referencedColumnName = "RES_ID", nullable = false, foreignKey = @ForeignKey(name = "FK_NPM_PKVR_RESID")) 062 private ResourceTable myResourceBinary; 063 @Column(name = "FILE_DIR", length = 200) 064 private String myDirectory; 065 @Column(name = "FILE_NAME", length = 200) 066 private String myFilename; 067 @Column(name = "RES_TYPE", length = ResourceTable.RESTYPE_LEN, nullable = false) 068 private String myResourceType; 069 @Column(name = "CANONICAL_URL", length = 200) 070 private String myCanonicalUrl; 071 @Column(name = "CANONICAL_VERSION", length = 200) 072 private String myCanonicalVersion; 073 @Enumerated(EnumType.STRING) 074 @Column(name = "FHIR_VERSION", length = NpmPackageVersionEntity.FHIR_VERSION_LENGTH, nullable = false) 075 private FhirVersionEnum myFhirVersion; 076 @Column(name = "FHIR_VERSION_ID", length = NpmPackageVersionEntity.FHIR_VERSION_ID_LENGTH, nullable = false) 077 private String myFhirVersionId; 078 @Column(name = "RES_SIZE_BYTES", nullable = false) 079 private long myResSizeBytes; 080 @Temporal(TemporalType.TIMESTAMP) 081 @Version 082 @Column(name = "UPDATED_TIME", nullable = false) 083 private Date myVersion; 084 085 public long getResSizeBytes() { 086 return myResSizeBytes; 087 } 088 089 public void setResSizeBytes(long theResSizeBytes) { 090 myResSizeBytes = theResSizeBytes; 091 } 092 093 public String getCanonicalVersion() { 094 return myCanonicalVersion; 095 } 096 097 public void setCanonicalVersion(String theCanonicalVersion) { 098 myCanonicalVersion = theCanonicalVersion; 099 } 100 101 public ResourceTable getResourceBinary() { 102 return myResourceBinary; 103 } 104 105 public void setResourceBinary(ResourceTable theResourceBinary) { 106 myResourceBinary = theResourceBinary; 107 } 108 109 public String getFhirVersionId() { 110 return myFhirVersionId; 111 } 112 113 public void setFhirVersionId(String theFhirVersionId) { 114 myFhirVersionId = theFhirVersionId; 115 } 116 117 public FhirVersionEnum getFhirVersion() { 118 return myFhirVersion; 119 } 120 121 public void setFhirVersion(FhirVersionEnum theFhirVersion) { 122 myFhirVersion = theFhirVersion; 123 } 124 125 public void setPackageVersion(NpmPackageVersionEntity thePackageVersion) { 126 myPackageVersion = thePackageVersion; 127 } 128 129 public String getDirectory() { 130 return myDirectory; 131 } 132 133 public void setDirectory(String theDirectory) { 134 myDirectory = theDirectory; 135 } 136 137 public String getFilename() { 138 return myFilename; 139 } 140 141 public void setFilename(String theFilename) { 142 myFilename = theFilename; 143 } 144 145 public String getResourceType() { 146 return myResourceType; 147 } 148 149 public void setResourceType(String theResourceType) { 150 myResourceType = theResourceType; 151 } 152 153 public String getCanonicalUrl() { 154 return myCanonicalUrl; 155 } 156 157 public void setCanonicalUrl(String theCanonicalUrl) { 158 myCanonicalUrl = theCanonicalUrl; 159 } 160 161 @Override 162 public String toString() { 163 164 return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE) 165 .append("myId", myId) 166 .append("myCanonicalUrl", myCanonicalUrl) 167 .append("myCanonicalVersion", myCanonicalVersion) 168 .append("myResourceType", myResourceType) 169 .append("myDirectory", myDirectory) 170 .append("myFilename", myFilename) 171 .append("myPackageVersion", myPackageVersion) 172 .append("myResSizeBytes", myResSizeBytes) 173 .append("myVersion", myVersion) 174 .toString(); 175 } 176 177}