package eu.dnetlib.rmi.objects.is;

import java.util.Date;
import java.util.Map;

import com.google.common.collect.Maps;

public abstract class DnetResource {

	private String id;
	private Date date;
	private boolean valid = true;
	private Map<String, DnetResource> relations = Maps.newLinkedHashMap();

	public DnetResource() {}

	public DnetResource(final String id, final Date date, final boolean valid) {
		this.id = id;
		this.date = date;
		this.valid = valid;
	}

	public final String getId() {
		return id;
	}

	public final void setId(final String id) {
		this.id = id;
	}

	public final Date getDate() {
		return date;
	}

	public final void setDate(final Date date) {
		this.date = date;
	}

	public final boolean isValid() {
		return valid;
	}

	public final void setValid(final boolean valid) {
		this.valid = valid;
	}

	public final Map<String, DnetResource> getRelations() {
		return relations;
	}

	public final void setRelations(final Map<String, DnetResource> relations) {
		this.relations = relations;
	}

	@Override
	public int hashCode() {
		return id.hashCode();
	}
}
