* @license MIT */ interface ClassNameInflectorInterface { /** * Marker for proxy classes - classes containing this marker are considered proxies */ const PROXY_MARKER = '__PM__'; /** * Retrieve the class name of a user-defined class * * @param string $className * * @return string */ public function getUserClassName($className); /** * Retrieve the class name of the proxy for the given user-defined class name * * @param string $className * @param array $options arbitrary options to be used for the generated class name * * @return string */ public function getProxyClassName($className, array $options = array()); /** * Retrieve whether the provided class name is a proxy * * @param string $className * * @return bool */ public function isProxyClassName($className); }