Java tutorial
package org.protempa; /* * #%L * Protempa Framework * %% * Copyright (C) 2012 - 2015 Emory University * %% * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ import java.util.Objects; import org.apache.commons.lang3.builder.ToStringBuilder; /** * * @author Andrew Post */ public final class KeySetSpec { public static final KeySetSpec[] EMPTY_KEY_SET_SPEC_ARRAY = new KeySetSpec[0]; private final SourceSystem sourceSystem; private final String id; private final String displayName; private final String description; public KeySetSpec(SourceSystem sourceSystem, String id, String displayName, String description) { if (sourceSystem == null) { throw new IllegalArgumentException("sourceSystem cannot be null"); } if (id == null) { throw new IllegalArgumentException("id cannot be null"); } this.sourceSystem = sourceSystem; this.id = id; this.displayName = displayName; this.description = description; } public SourceSystem getSourceSystem() { return sourceSystem; } public String getId() { return id; } public String getDisplayName() { return displayName; } public String getDescription() { return description; } @Override public int hashCode() { int hash = 3; hash = 29 * hash + Objects.hashCode(this.sourceSystem); hash = 29 * hash + Objects.hashCode(this.id); hash = 29 * hash + Objects.hashCode(this.displayName); hash = 29 * hash + Objects.hashCode(this.description); return hash; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final KeySetSpec other = (KeySetSpec) obj; if (!Objects.equals(this.sourceSystem, other.sourceSystem)) { return false; } if (!Objects.equals(this.id, other.id)) { return false; } if (!Objects.equals(this.displayName, other.displayName)) { return false; } if (!Objects.equals(this.description, other.description)) { return false; } return true; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }