
com.juliaaano.payload.SimplePayload Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of payload Show documentation
Show all versions of payload Show documentation
Easy conversion of HTTP payloads (JSON, XML, etc.) for Java.
The newest version!
package com.juliaaano.payload;
import com.juliaaano.payload.provider.Provider;
import java.util.Objects;
abstract class SimplePayload implements Payload {
private final String raw;
private final T object;
SimplePayload(final String raw, final Class type) {
this.raw = raw;
this.object = provider().deserialize(raw, type);
}
SimplePayload(final T object) {
this.raw = provider().serialize(object);
this.object = object;
}
protected abstract Provider provider();
@Override
public String raw() {
return raw;
}
@Override
public T get() {
return object;
}
@Override
public String toString() {
return raw;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (!(obj instanceof SimplePayload)) return false;
return Objects.equals(object, ((SimplePayload>) obj).object);
}
@Override
public int hashCode() {
return Objects.hash(object);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy