public function denormalize($data, $class, $format = null, array $context = [])
{
if (empty($data)) {
return null;
}
if (isset($data->{'$ref'})) {
return new Reference($data->{'$ref'}, $context['rootSchema'] ?: null);
}
$object = new \Docker\API\Model\Network();
if (!isset($context['rootSchema'])) {
$context['rootSchema'] = $object;
}
if (property_exists($data, 'Name')) {
$object->setName($data->{'Name'});
}
if (property_exists($data, 'Id')) {
$object->setId($data->{'Id'});
}
if (property_exists($data, 'Scope')) {
$object->setScope($data->{'Scope'});
}
if (property_exists($data, 'Driver')) {
$object->setDriver($data->{'Driver'});
}
if (property_exists($data, 'EnableIPv6')) {
$object->setEnableIPv6($data->{'EnableIPv6'});
}
if (property_exists($data, 'IPAM')) {
$object->setIPAM($this->serializer->deserialize($data->{'IPAM'}, 'Docker\\API\\Model\\IPAM', 'raw', $context));
}
if (property_exists($data, 'Internal')) {
$object->setInternal($data->{'Internal'});
}
if (property_exists($data, 'Containers')) {
$values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
foreach ($data->{'Containers'} as $key => $value) {
$values[$key] = $this->serializer->deserialize($value, 'Docker\\API\\Model\\NetworkContainer', 'raw', $context);
}
$object->setContainers($values);
}
if (property_exists($data, 'Options')) {
$values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
foreach ($data->{'Options'} as $key_1 => $value_1) {
$values_1[$key_1] = $value_1;
}
$object->setOptions($values_1);
}
return $object;
}