package org.chromium.sdk.internal.v8native.value;
import org.chromium.sdk.internal.v8native.protocol.input.data.RefWithDisplayData;
import org.chromium.sdk.internal.v8native.protocol.input.data.SomeRef;
public abstract class DataWithRef {
public abstract long ref();
/** @return data or null */
public abstract RefWithDisplayData getWithDisplayData();
public static DataWithRef fromSomeRef(final SomeRef someRef) {
return new DataWithRef() {
@Override
public RefWithDisplayData getWithDisplayData() {
return someRef.asWithDisplayData();
}
@Override
public long ref() {
return someRef.ref();
}
};
}
public static DataWithRef fromLong(final long ref) {
return new DataWithRef() {
@Override
public RefWithDisplayData getWithDisplayData() {
return null;
}
@Override
public long ref() {
return ref;
}
};
}
}