All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.gwt.view.client.ProvidesKey Maven / Gradle / Ivy

/*
 * Copyright 2010 Google 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 com.google.gwt.view.client;

/**
 * 

* Implementors of {@link ProvidesKey} provide a key for list items, such that * items that are to be treated as distinct (for example, for editing) have * distinct keys. *

*

* The key must implement a coherent set of {@link Object#equals(Object)} and * {@link Object#hashCode()} methods such that if objects {@code A} and {@code * B} are to be treated as identical, then {@code A.equals(B)}, {@code * B.equals(A)}, and {@code A.hashCode() == B.hashCode()}. If {@code A} and * {@code B} are to be treated as unequal, then it must be the case that {@code * A.equals(B) == false} and {@code B.equals(A) == false}. *

* * @param the data type of records in the list */ public interface ProvidesKey { /** * Get the key for a list item. * * @param item the list item * @return the key that represents the item */ Object getKey(T item); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy