public function entityClass($name = null)
{
if ($name === null && !$this->entityClass) {
$default = '\\Cake\\ElasticSearch\\Document';
$self = get_called_class();
$parts = explode('\\', $self);
if ($self === __CLASS__ || count($parts) < 3) {
return $this->entityClass = $default;
}
$alias = Inflector::singularize(substr(array_pop($parts), 0, -5));
$name = implode('\\', array_slice($parts, 0, -1)) . '\\Document\\' . $alias;
if (!class_exists($name)) {
return $this->entityClass = $default;
}
}
if ($name !== null) {
$class = App::className($name, 'Model/Document');
$this->entityClass = $class;
}
return $this->entityClass;
}