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\NetworkCreateConfig();
if (!isset($context['rootSchema'])) {
$context['rootSchema'] = $object;
}
if (property_exists($data, 'Name')) {
$object->setName($data->{'Name'});
}
if (property_exists($data, 'CheckDuplicate')) {
$object->setCheckDuplicate($data->{'CheckDuplicate'});
}
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, 'Options')) {
$values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
foreach ($data->{'Options'} as $key => $value) {
$values[$key] = $value;
}
$object->setOptions($values);
}
if (property_exists($data, 'Labels')) {
$values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
foreach ($data->{'Labels'} as $key_1 => $value_1) {
$values_1[$key_1] = $value_1;
}
$object->setLabels($values_1);
}
return $object;
}