+ /**
+ * Inject a UrlHasher.
+ *
+ * @param UrlHasher $hasher
+ */
+ public function setUrlHasher(UrlHasher $hasher)
+ {
+ $this->urlHasher = $hasher;
+ }
+
+ /**
+ * Get the UrlHasher, or create a default one if not injected.
+ *
+ * XXX: the default uses the default hash algorithm
+ *
+ * @return UrlHasher
+ */
+ protected function getUrlHasher()
+ {
+ if (!isset($this->urlHasher)) {
+ $this->setUrlHasher(new UrlHasher());
+ }
+
+ return $this->urlHasher;
+ }
+