1313
1414use Xabbuh \XApi \Model \Activity ;
1515use Xabbuh \XApi \Model \IRI ;
16- use Xabbuh \XApi \Model \Object ;
17- use Xabbuh \XApi \Model \Statement ;
16+ use Xabbuh \XApi \Model \Object as LegacyStatementObject ;
1817use Xabbuh \XApi \Model \StatementId ;
18+ use Xabbuh \XApi \Model \StatementObject ;
1919use Xabbuh \XApi \Model \StatementReference ;
2020use Xabbuh \XApi \Model \SubStatement ;
2121
@@ -78,7 +78,7 @@ public function normalize($object, $format = null, array $context = array())
7878 */
7979 public function supportsNormalization ($ data , $ format = null )
8080 {
81- return $ data instanceof Object ;
81+ return $ data instanceof LegacyStatementObject || $ data instanceof StatementObject ;
8282 }
8383
8484 /**
@@ -110,7 +110,7 @@ public function denormalize($data, $class, $format = null, array $context = arra
110110 */
111111 public function supportsDenormalization ($ data , $ type , $ format = null )
112112 {
113- return ' Xabbuh\XApi\Model\Activity ' === $ type || ' Xabbuh\XApi\Model\Object ' === $ type || ' Xabbuh\XApi\Model\ StatementReference' === $ type || ' Xabbuh\XApi\Model\ SubStatement' === $ type ;
113+ return in_array ( $ type, array (Activity::class, LegacyStatementObject::class, StatementObject::class, StatementReference::class, SubStatement::class), true ) ;
114114 }
115115
116116 private function denormalizeActivity (array $ data , $ format = null , array $ context = array ())
@@ -128,7 +128,13 @@ private function denormalizeSubStatement(array $data, $format = null, array $co
128128 {
129129 $ actor = $ this ->denormalizeData ($ data ['actor ' ], 'Xabbuh\XApi\Model\Actor ' , $ format , $ context );
130130 $ verb = $ this ->denormalizeData ($ data ['verb ' ], 'Xabbuh\XApi\Model\Verb ' , $ format , $ context );
131- $ object = $ this ->denormalizeData ($ data ['object ' ], 'Xabbuh\XApi\Model\Object ' , $ format , $ context );
131+
132+ if (class_exists (StatementObject::class)) {
133+ $ object = $ this ->denormalizeData ($ data ['object ' ], StatementObject::class, $ format , $ context );
134+ } else {
135+ $ object = $ this ->denormalizeData ($ data ['object ' ], LegacyStatementObject::class, $ format , $ context );
136+ }
137+
132138 $ result = null ;
133139 $ statementContext = null ;
134140
0 commit comments