Author: schor Date: Fri Dec 15 15:36:07 2017 New Revision: 1818294 URL: http://svn.apache.org/viewvc?rev=1818294&view=rev Log: [UIMA-5674] upgrade to allow int hash maps to return iterators over entries
Added: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/IntEntry.java Added: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/IntEntry.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/IntEntry.java?rev=1818294&view=auto ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/IntEntry.java (added) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/IntEntry.java Fri Dec 15 15:36:07 2017 @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.uima.internal.util; + +/** + * like Entry<k, v> except the k is an int. + * + * @param <T> the type of the value + */ +public class IntEntry<T> { + private int i; + private T v; + IntEntry(int i, T v) { + this.i = i; + this.v = v; + } + + public int getKey() { + return i; + } + + public T getValue() { + return v; + } + + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + i; + result = prime * result + ((v == null) ? 0 : v.hashCode()); + return result; + } + + /* (non-Javadoc) + * @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; + IntEntry other = (IntEntry) obj; + if (i != other.i) + return false; + if (v == null) { + if (other.v != null) + return false; + } else if (!v.equals(other.v)) + return false; + return true; + } + + + +}