package org.jvalue.ods.api.sources;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonPointer;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.base.Objects;
import javax.validation.constraints.NotNull;
public final class DataSource extends AbstractDataSource {
@NotNull private final String id;
public DataSource(
@JsonProperty("id") String id,
@JsonProperty("domainIdKey") JsonPointer domainIdKey,
@JsonProperty("schema") JsonNode schema,
@JsonProperty("metaData") DataSourceMetaData metaData) {
super(domainIdKey, schema, metaData);
this.id = id;
}
public String getId() {
return id;
}
@Override
public boolean equals(Object other) {
if (!super.equals(other)) return false;
if (!(other instanceof DataSource)) return false;
DataSource description = (DataSource) other;
return Objects.equal(id, description.id);
}
@Override
public int hashCode() {
return Objects.hashCode(id, super.hashCode());
}
}