// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.fasterxml.jackson.annotation; import java.io.Serializable; public abstract class ObjectIdGenerator implements Serializable { public static final class IdKey implements Serializable { private static final long serialVersionUID = 1L; private final int hashCode; public final Object key; public final Class scope; public final Class type; public boolean equals(Object obj) { if (obj != this) { if (obj == null) { return false; } if (obj.getClass() != getClass()) { return false; } obj = (IdKey)obj; if (!((IdKey) (obj)).key.equals(key) || ((IdKey) (obj)).type != type || ((IdKey) (obj)).scope != scope) { return false; } } return true; } public int hashCode() { return hashCode; } public String toString() { Object obj = key; String s; String s1; if (type == null) { s = "NONE"; } else { s = type.getName(); } if (scope == null) { s1 = "NONE"; } else { s1 = scope.getName(); } return String.format("[ObjectId: key=%s, type=%s, scope=%s]", new Object[] { obj, s, s1 }); } public IdKey(Class class1, Class class2, Object obj) { if (obj == null) { throw new IllegalArgumentException("Can not construct IdKey for null key"); } type = class1; scope = class2; key = obj; int j = obj.hashCode() + class1.getName().hashCode(); int i = j; if (class2 != null) { i = j ^ class2.getName().hashCode(); } hashCode = i; } } public ObjectIdGenerator() { } public abstract boolean canUseFor(ObjectIdGenerator objectidgenerator); public abstract ObjectIdGenerator forScope(Class class1); public abstract Object generateId(Object obj); public abstract Class getScope(); public boolean isValidReferencePropertyName(String s, Object obj) { return false; } public abstract IdKey key(Object obj); public boolean maySerializeAsObject() { return false; } public abstract ObjectIdGenerator newForSerialization(Object obj); }