001package ca.uhn.fhir.jpa.dao.expunge;
002
003/*-
004 * #%L
005 * HAPI FHIR JPA Server
006 * %%
007 * Copyright (C) 2014 - 2022 Smile CDR, Inc.
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 *
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 *
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023import org.apache.commons.lang3.builder.EqualsBuilder;
024import org.apache.commons.lang3.builder.HashCodeBuilder;
025import org.apache.commons.lang3.builder.ToStringBuilder;
026import org.apache.commons.lang3.builder.ToStringStyle;
027
028public class ResourceForeignKey {
029        public final String table;
030        public final String key;
031
032        public ResourceForeignKey(String theTable, String theKey) {
033                table = theTable;
034                key = theKey;
035        }
036
037        @Override
038        public boolean equals(Object theO) {
039                if (this == theO) return true;
040
041                if (theO == null || getClass() != theO.getClass()) return false;
042
043                ResourceForeignKey that = (ResourceForeignKey) theO;
044
045                return new EqualsBuilder()
046                        .append(table, that.table)
047                        .append(key, that.key)
048                        .isEquals();
049        }
050
051        @Override
052        public int hashCode() {
053                return new HashCodeBuilder(17, 37)
054                        .append(table)
055                        .append(key)
056                        .toHashCode();
057        }
058
059        @Override
060        public String toString() {
061                return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
062                        .append("table", table)
063                        .append("key", key)
064                        .toString();
065        }
066}