package org.gbif.occurrence.common.identifier;
import java.util.UUID;
/**
* This interface is meant to be used for classes that can uniquely identify occurrence records.
*/
public interface UniqueIdentifier {
/**
* Every unique identifier must be scoped within the dataset key.
*
* @return the UUID of the dataset for the identified occurrence
*/
public UUID getDatasetKey();
/**
* A string that uniquely identifies the occurrence (e.g. a concatenation of it's unique fields) that could be used
* as a key for maps or databases.
*
* @return a unique String representing the unique identifier
*/
public String getUniqueString();
/**
* A string that uniquely identifies the occurrence within a dataset (e.g. a concatenation of it's unique fields) but
* does not incorporate the datasetKey.
*
* @return a unique String representing the unique identifier within the dataset (but does not include the datasetKey)
*/
public String getUnscopedUniqueString();
}