mirror of
https://github.com/VibedByKaKi/alexandroid.git
synced 2026-11-14 01:47:17 +01:00
73 lines
2.5 KiB
Java
73 lines
2.5 KiB
Java
package com.fasterxml.jackson.annotation;
|
|
|
|
import java.io.Serializable;
|
|
import rx.Single$$ExternalSyntheticBUOutline0;
|
|
|
|
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
|
|
/* loaded from: classes7.dex */
|
|
public abstract class ObjectIdGenerator<T> implements Serializable {
|
|
|
|
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
|
|
public static final class IdKey implements Serializable {
|
|
private static final long serialVersionUID = 1;
|
|
private final int hashCode;
|
|
public final Object key;
|
|
public final Class<?> scope;
|
|
public final Class<?> type;
|
|
|
|
public IdKey(Class<?> cls, Class<?> cls2, Object obj) {
|
|
if (obj == null) {
|
|
Single$$ExternalSyntheticBUOutline0.m$3("Can not construct IdKey for null key");
|
|
throw null;
|
|
}
|
|
this.type = cls;
|
|
this.scope = cls2;
|
|
this.key = obj;
|
|
int hashCode = cls.getName().hashCode() + obj.hashCode();
|
|
this.hashCode = cls2 != null ? hashCode ^ cls2.getName().hashCode() : hashCode;
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (obj == this) {
|
|
return true;
|
|
}
|
|
if (obj == null || obj.getClass() != IdKey.class) {
|
|
return false;
|
|
}
|
|
IdKey idKey = (IdKey) obj;
|
|
return idKey.key.equals(this.key) && idKey.type == this.type && idKey.scope == this.scope;
|
|
}
|
|
|
|
public int hashCode() {
|
|
return this.hashCode;
|
|
}
|
|
|
|
public String toString() {
|
|
Object obj = this.key;
|
|
Class<?> cls = this.type;
|
|
String name = cls == null ? "NONE" : cls.getName();
|
|
Class<?> cls2 = this.scope;
|
|
return String.format("[ObjectId: key=%s, type=%s, scope=%s]", obj, name, cls2 != null ? cls2.getName() : "NONE");
|
|
}
|
|
}
|
|
|
|
public abstract boolean canUseFor(ObjectIdGenerator<?> objectIdGenerator);
|
|
|
|
public abstract ObjectIdGenerator<T> forScope(Class<?> cls);
|
|
|
|
public abstract T generateId(Object obj);
|
|
|
|
public abstract Class<?> getScope();
|
|
|
|
public boolean isValidReferencePropertyName(String str, Object obj) {
|
|
return false;
|
|
}
|
|
|
|
public abstract IdKey key(Object obj);
|
|
|
|
public boolean maySerializeAsObject() {
|
|
return false;
|
|
}
|
|
|
|
public abstract ObjectIdGenerator<T> newForSerialization(Object obj);
|
|
}
|