public function delete($identifier)
{
$definition = $this->getDefinition();
//prepare statement
$primaryKeyName = $definition->getPrimaryKeyName();
if (is_object($identifier)) {
$identifierProvider = $this->createProvider($identifier);
$this->checkEntity($identifierProvider->getEntity());
$data = $identifierProvider->extract();
$identifier = $data[$primaryKeyName];
}
return $this->createGateway($definition->getTableName())->delete($primaryKeyName, $identifier);
}