All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.aeon.experiment.specification.KQr Maven / Gradle / Ivy

The newest version!
package io.aeon.experiment.specification;

import com.fasterxml.jackson.databind.ClassDeserializer;
import com.fasterxml.jackson.databind.ClassSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.vertx.core.json.JsonObject;
import io.vertx.up.util.Ut;

import java.io.Serializable;
import java.util.Objects;

/**
 * @author Lang
 */
public class KQr implements Serializable {
    private JsonObject condition = new JsonObject();

    private JsonObject mapping = new JsonObject();

    @JsonSerialize(using = ClassSerializer.class)
    @JsonDeserialize(using = ClassDeserializer.class)
    private Class classDao;

    private String identifier;

    public KQr identifier(final String identifier) {
        this.identifier = identifier;
        return this;
    }

    public String identifier() {
        return this.identifier;
    }

    public JsonObject getCondition() {
        return Ut.isNil(this.condition) ? new JsonObject() : this.condition.copy();
    }

    public void setCondition(final JsonObject condition) {
        this.condition = condition;
    }

    public JsonObject getMapping() {
        return this.mapping;
    }

    public void setMapping(final JsonObject mapping) {
        this.mapping = mapping;
    }

    public Class getClassDao() {
        return this.classDao;
    }

    public void setClassDao(final Class classDao) {
        this.classDao = classDao;
    }

    public boolean valid() {
        return Objects.nonNull(this.classDao);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy