/** * The contents of this file are subject to the OpenMRS Public License * Version 1.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://license.openmrs.org * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations * under the License. * * Copyright (C) OpenMRS, LLC. All Rights Reserved. */ package org.openmrs.hl7; import java.util.Date; import org.openmrs.BaseOpenmrsObject; import org.openmrs.api.APIException; /** * Represents a error in processing an hl7 message. * * @see HL7InQueue * @see HL7Service */ public class HL7InError extends BaseOpenmrsObject { private static final int MAX_ERROR_DETAILS_LENGTH = 16777215; private Integer hl7InErrorId; private HL7Source hl7Source; private String hl7SourceKey; private String hl7Data; private String error; private String errorDetails; private Date dateCreated; /** * Default constructor */ public HL7InError() { } /** * Convenience constructor to help convert a queue item into an exception */ public HL7InError(HL7InQueue hl7InQueue) { setHL7Source(hl7InQueue.getHL7Source()); setHL7SourceKey(hl7InQueue.getHL7SourceKey()); setHL7Data(hl7InQueue.getHL7Data()); } /** * @return Returns the hl7InErrorId. */ public Integer getHL7InErrorId() { return hl7InErrorId; } /** * @param hl7InErrorId The hl7InExceptionId to set. */ public void setHL7InErrorId(Integer hl7InErrorId) { this.hl7InErrorId = hl7InErrorId; } /** * @return Returns the hl7Source. */ public HL7Source getHL7Source() { return hl7Source; } /** * @param hl7Source The hl7Source to set. */ public void setHL7Source(HL7Source hl7Source) { this.hl7Source = hl7Source; } /** * @return Returns the hl7SourceKey. */ public String getHL7SourceKey() { return hl7SourceKey; } /** * @param hl7SourceKey The hl7SourceKey to set. */ public void setHL7SourceKey(String hl7SourceKey) { this.hl7SourceKey = hl7SourceKey; } /** * @return Returns the hl7Data. */ public String getHL7Data() { return hl7Data; } /** * @param hl7Data The hl7Data to set. */ public void setHL7Data(String hl7Data) { this.hl7Data = hl7Data; } /** * @return Returns the error. */ public String getError() { return error; } /** * @param error The error to set. */ public void setError(String error) { this.error = error; } /** * @return Returns the errorDetails. */ public String getErrorDetails() { return errorDetails; } /** * @param errorDetails The errorDetails to set. */ public void setErrorDetails(String errorDetails) { if (errorDetails != null && errorDetails.length() > MAX_ERROR_DETAILS_LENGTH) throw new APIException("error details length of " + errorDetails.length() + " exceeds maximum length of " + MAX_ERROR_DETAILS_LENGTH); this.errorDetails = errorDetails; } /** * @return Returns the dateCreated. */ public Date getDateCreated() { return dateCreated; } /** * @param dateCreated The dateCreated to set. */ public void setDateCreated(Date dateCreated) { this.dateCreated = dateCreated; } /** * @see org.openmrs.OpenmrsObject#getId() * @since 1.5 */ public Integer getId() { return getHL7InErrorId(); } /** * @see org.openmrs.OpenmrsObject#setId(java.lang.Integer) * @since 1.5 */ public void setId(Integer id) { setHL7InErrorId(id); } }