1414use JsonSchema \Exception \InvalidArgumentException ;
1515use JsonSchema \Exception \ResourceNotFoundException ;
1616use JsonSchema \RefResolver ;
17- use JsonSchema \Uri \Retrievers \UriRetrieverInterface ;
1817use JsonSchema \Uri \UriResolver ;
1918use JsonSchema \Uri \UriRetriever ;
2019use JsonSchema \UriResolverInterface ;
@@ -49,18 +48,11 @@ class JsonValidator
4948 private $ validator ;
5049
5150 /**
52- * URI retriever for fetching JSON schemas .
51+ * Reference resolver .
5352 *
54- * @var UriRetrieverInterface
53+ * @var RefResolver
5554 */
56- private $ uriRetriever ;
57-
58- /**
59- * URI resolver for JSON schemas.
60- *
61- * @var UriResolverInterface
62- */
63- private $ uriResolver ;
55+ private $ resolver ;
6456
6557 /**
6658 * JsonValidator constructor.
@@ -74,8 +66,7 @@ class JsonValidator
7466 public function __construct (Validator $ validator = null , UriRetriever $ uriRetriever = null , UriResolverInterface $ uriResolver = null )
7567 {
7668 $ this ->validator = $ validator ?: new Validator ();
77- $ this ->uriRetriever = $ uriRetriever ?: new UriRetriever ();
78- $ this ->uriResolver = $ uriResolver ?: new UriResolver ();
69+ $ this ->resolver = new RefResolver ($ uriRetriever ?: new UriRetriever (), $ uriResolver ?: new UriResolver ());
7970 }
8071
8172 /**
@@ -170,10 +161,8 @@ private function loadSchema($file)
170161 }
171162
172163 // Resolve references to other schemas
173- $ resolver = new RefResolver ($ this ->uriRetriever , $ this ->uriResolver );
174-
175164 try {
176- $ schema = $ resolver ->resolve ($ file );
165+ $ schema = $ this -> resolver ->resolve ($ file );
177166 } catch (ResourceNotFoundException $ e ) {
178167 throw new InvalidSchemaException (sprintf (
179168 'The schema %s does not exist. ' ,
0 commit comments