/* * Copyright 2016 JBoss Inc * * 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. */ package io.apiman.plugins.circuit_breaker; /** * @author eric.wittmann@gmail.com */ public class CircuitKey { private final String orgId; private final String apiId; private final String version; /** * Constructor. * @param orgId * @param apiId * @param version */ public CircuitKey(String orgId, String apiId, String version) { this.orgId = orgId; this.apiId = apiId; this.version = version; } /** * @return the orgId */ public String getOrgId() { return orgId; } /** * @return the apiId */ public String getApiId() { return apiId; } /** * @return the version */ public String getVersion() { return version; } /** * @see java.lang.Object#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((apiId == null) ? 0 : apiId.hashCode()); result = prime * result + ((orgId == null) ? 0 : orgId.hashCode()); result = prime * result + ((version == null) ? 0 : version.hashCode()); return result; } /** * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; CircuitKey other = (CircuitKey) obj; if (apiId == null) { if (other.apiId != null) return false; } else if (!apiId.equals(other.apiId)) return false; if (orgId == null) { if (other.orgId != null) return false; } else if (!orgId.equals(other.orgId)) return false; if (version == null) { if (other.version != null) return false; } else if (!version.equals(other.version)) return false; return true; } }