/**
  * exception thrown when a method's input parameter has a type that cannot
  * be processed
  *
  * @param string  $type
  *        the data type that is not supported
  */
 public function __construct($type)
 {
     // our list of args, in case someone wants to dig deeper into
     // what went wrong
     $data = $this->buildErrorData($type);
     // what do we want to tell our error handler?
     $msg = $this->buildErrorMessage($data['type'], $data['caller']);
     // all done
     parent::__construct(400, $msg, $data);
 }
 /**
  * exception thrown when we cannot find a given method on a class or
  * object
  *
  * @param string $className
  *        the class that does not define the method
  * @param string $methodName
  *        the method that cannot be found
  */
 public function __construct($className, $methodName)
 {
     $msg = "no such method '{$methodName}' on class '{$className}'";
     parent::__construct(400, $msg);
 }
 /**
  * exception thrown when we're given something that isn't really a
  * dot.notation.support path
  *
  * @param string $path
  *        the path that isn't a dot.notation.support path
  */
 public function __construct($path)
 {
     $msg = "'{$path}' is not a dot.notation.support path";
     parent::__construct(400, $msg);
 }
 public function __construct($item, $path)
 {
     $type = SimpleType::from($item);
     $msg = "'{$type}' at path '{$path}' is not a container";
     parent::__construct(400, $msg);
 }