001/*- 002 * #%L 003 * Smile CDR - CDR 004 * %% 005 * Copyright (C) 2016 - 2026 Smile CDR, Inc. 006 * %% 007 * All rights reserved. 008 * #L% 009 */ 010package ca.cdr.api.model.json; 011 012// Created by Claude Opus 4.1 013import ca.uhn.fhir.model.api.IModelJson; 014import com.fasterxml.jackson.annotation.JsonProperty; 015 016/** 017 * Response model for privacy notice content and metadata. 018 * Contains the notice content, version, active status, and expiry configuration. 019 */ 020public class PrivacyNoticeJson implements IModelJson { 021 @JsonProperty("content") 022 private String myContent; 023 024 @JsonProperty("version") 025 private String myVersion; 026 027 @JsonProperty("isActive") 028 private boolean myIsActive; 029 030 @JsonProperty("expiryDays") 031 private int myExpiryDays; 032 033 public PrivacyNoticeJson() { 034 // Default constructor for JSON deserialization 035 } 036 037 /** 038 * Constructor with all privacy notice details. 039 * 040 * @param theContent the privacy notice content/text 041 * @param theVersion the privacy notice version 042 * @param theIsActive whether the privacy notice is currently active 043 * @param theExpiryDays the number of days before acceptance expires 044 */ 045 public PrivacyNoticeJson(String theContent, String theVersion, boolean theIsActive, int theExpiryDays) { 046 myContent = theContent; 047 myVersion = theVersion; 048 myIsActive = theIsActive; 049 myExpiryDays = theExpiryDays; 050 } 051 052 /** 053 * Get the privacy notice content. 054 * 055 * @return the privacy notice text content 056 */ 057 public String getContent() { 058 return myContent; 059 } 060 061 /** 062 * Set the privacy notice content. 063 * 064 * @param theContent the privacy notice content to set 065 */ 066 public void setContent(String theContent) { 067 myContent = theContent; 068 } 069 070 /** 071 * Get the privacy notice version. 072 * 073 * @return the privacy notice version string 074 */ 075 public String getVersion() { 076 return myVersion; 077 } 078 079 /** 080 * Set the privacy notice version. 081 * 082 * @param theVersion the privacy notice version to set 083 */ 084 public void setVersion(String theVersion) { 085 myVersion = theVersion; 086 } 087 088 /** 089 * Get whether the privacy notice is active. 090 * 091 * @return true if the privacy notice is currently active 092 */ 093 public boolean getIsActive() { 094 return myIsActive; 095 } 096 097 /** 098 * Set whether the privacy notice is active. 099 * 100 * @param theIsActive the active status to set 101 */ 102 public void setIsActive(boolean theIsActive) { 103 myIsActive = theIsActive; 104 } 105 106 /** 107 * Get the expiry days configuration. 108 * 109 * @return the number of days before acceptance expires 110 */ 111 public int getExpiryDays() { 112 return myExpiryDays; 113 } 114 115 /** 116 * Set the expiry days configuration. 117 * 118 * @param theExpiryDays the number of days before acceptance expires 119 */ 120 public void setExpiryDays(int theExpiryDays) { 121 myExpiryDays = theExpiryDays; 122 } 123}