Files
gerrit/java/com/google/gwtorm/client/Key.java
Dave Borowitz c58702ac79 Copy gwtorm dependencies into core repo
This is the minimal set of files from gwtorm that are still needed by
Gerrit core. The long term plan is to migrate away from these, for
example by revamping our exception hierarchy (I9c8fac5f) and converting
the legacy mutable gwtorm-based types to immutable AutoValues.

In the short term, copying these files into core allows us to remove a
bunch of unused class files from the war, and prevents new dependencies
from creeping in. This change should be viewed as a starting point of
the larger project to eliminate gwtorm, not an end in itself.

Files copied from:
https://gerrit.googlesource.com/gwtorm/+/de62a8902ade3239e4a2db105bb24e4561e34df3

The whole gwtorm repo is under the same AOSP umbrella as Gerrit core, so
it's all under the same CLA and can be copied between repos on the
Gerrit hosts without any change to the license.

Change-Id: I0f09ed399180bc132fb0a28be07944b4aa9fe4a0
2019-04-09 10:41:45 +09:00

46 lines
1.4 KiB
Java

// Copyright 2008 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.gwtorm.client;
/**
* Generic type for an entity key.
*
* <p>Although not required, entities should make their primary key type implement this interface,
* permitting traversal up through the containment hierarchy of the entity keys.
*
* @param <P> type of the parent key. If no parent, use {@link Key} itself.
*/
public interface Key<P extends Key<?>> {
/**
* Get the parent key instance.
*
* @return the parent key; null if this entity key is a root-level key.
*/
public P getParentKey();
@Override
public int hashCode();
@Override
public boolean equals(Object o);
/** @return the key, encoded in a string format . */
@Override
public String toString();
/** Reset this key instance to represent the data in the supplied string. */
public void fromString(String in);
}