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\NetworkConfig();
if (!isset($context['rootSchema'])) {
$context['rootSchema'] = $object;
}
if (property_exists($data, 'Bridge')) {
$object->setBridge($data->{'Bridge'});
}
if (property_exists($data, 'Gateway')) {
$object->setGateway($data->{'Gateway'});
}
if (property_exists($data, 'IPAddress')) {
$object->setIPAddress($data->{'IPAddress'});
}
if (property_exists($data, 'IPPrefixLen')) {
$object->setIPPrefixLen($data->{'IPPrefixLen'});
}
if (property_exists($data, 'MacAddress')) {
$object->setMacAddress($data->{'MacAddress'});
}
if (property_exists($data, 'PortMapping')) {
$object->setPortMapping($data->{'PortMapping'});
}
if (property_exists($data, 'Networks')) {
$values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
foreach ($data->{'Networks'} as $key => $value) {
$values[$key] = $this->serializer->deserialize($value, 'Docker\\API\\Model\\ContainerNetwork', 'raw', $context);
}
$object->setNetworks($values);
}
if (property_exists($data, 'Ports')) {
$values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
foreach ($data->{'Ports'} as $key_1 => $value_1) {
$value_2 = $value_1;
if (is_array($value_1)) {
$values_2 = [];
foreach ($value_1 as $value_3) {
$values_2[] = $this->serializer->deserialize($value_3, 'Docker\\API\\Model\\PortBinding', 'raw', $context);
}
$value_2 = $values_2;
}
if (is_null($value_1)) {
$value_2 = $value_1;
}
$values_1[$key_1] = $value_2;
}
$object->setPorts($values_1);
}
return $object;
}