001/*-
002 * #%L
003 * HAPI FHIR JPA Server
004 * %%
005 * Copyright (C) 2014 - 2024 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.dao.expunge;
021
022import org.apache.commons.lang3.builder.EqualsBuilder;
023import org.apache.commons.lang3.builder.HashCodeBuilder;
024import org.apache.commons.lang3.builder.ToStringBuilder;
025import org.apache.commons.lang3.builder.ToStringStyle;
026
027public class ResourceForeignKey {
028        public final String table;
029        public final String key;
030
031        public ResourceForeignKey(String theTable, String theKey) {
032                table = theTable;
033                key = theKey;
034        }
035
036        @Override
037        public boolean equals(Object theO) {
038                if (this == theO) return true;
039
040                if (theO == null || getClass() != theO.getClass()) return false;
041
042                ResourceForeignKey that = (ResourceForeignKey) theO;
043
044                return new EqualsBuilder()
045                                .append(table, that.table)
046                                .append(key, that.key)
047                                .isEquals();
048        }
049
050        @Override
051        public int hashCode() {
052                return new HashCodeBuilder(17, 37).append(table).append(key).toHashCode();
053        }
054
055        @Override
056        public String toString() {
057                return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
058                                .append("table", table)
059                                .append("key", key)
060                                .toString();
061        }
062}