public function encode(Criteria
$criteria, EntityDefinition
$definition,
$data, string
$baseUrl, array
$metaData =
[]): string
{ $this->serializeCache =
[];
$result =
new JsonApiEncodingResult($baseUrl);
if (!
$data instanceof EntityCollection && !
$data instanceof Entity
) { throw new UnsupportedEncoderInputException();
} $result->
setSingleResult($data instanceof Entity
);
$result->
setMetaData($metaData);
$fields =
new ResponseFields($criteria->
getIncludes());
$this->
encodeData($fields,
$definition,
$data,
$result);
return $this->
formatToJson($result);
} protected function serializeEntity(ResponseFields
$fields, Entity
$entity, EntityDefinition
$definition, JsonApiEncodingResult
$result, bool
$isRelationship = false
): void
{ if ($result->
containsInData($entity->
getUniqueIdentifier(),
$definition->
getEntityName())