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\ContainerConfig();
if (!isset($context['rootSchema'])) {
$context['rootSchema'] = $object;
}
if (property_exists($data, 'Id')) {
$object->setId($data->{'Id'});
}
if (property_exists($data, 'Names')) {
$value = $data->{'Names'};
if (is_array($data->{'Names'})) {
$values = [];
foreach ($data->{'Names'} as $value_1) {
$values[] = $value_1;
}
$value = $values;
}
if (is_null($data->{'Names'})) {
$value = $data->{'Names'};
}
$object->setNames($value);
}
if (property_exists($data, 'Image')) {
$object->setImage($data->{'Image'});
}
if (property_exists($data, 'ImageID')) {
$object->setImageID($data->{'ImageID'});
}
if (property_exists($data, 'Command')) {
$object->setCommand($data->{'Command'});
}
if (property_exists($data, 'Created')) {
$object->setCreated($data->{'Created'});
}
if (property_exists($data, 'State')) {
$object->setState($data->{'State'});
}
if (property_exists($data, 'Status')) {
$object->setStatus($data->{'Status'});
}
if (property_exists($data, 'Ports')) {
$value_2 = $data->{'Ports'};
if (is_array($data->{'Ports'})) {
$values_1 = [];
foreach ($data->{'Ports'} as $value_3) {
$values_1[] = $this->serializer->deserialize($value_3, 'Docker\\API\\Model\\Port', 'raw', $context);
}
$value_2 = $values_1;
}
if (is_null($data->{'Ports'})) {
$value_2 = $data->{'Ports'};
}
$object->setPorts($value_2);
}
if (property_exists($data, 'Labels')) {
$values_2 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
foreach ($data->{'Labels'} as $key => $value_4) {
$values_2[$key] = $value_4;
}
$object->setLabels($values_2);
}
if (property_exists($data, 'SizeRw')) {
$object->setSizeRw($data->{'SizeRw'});
}
if (property_exists($data, 'SizeRootFs')) {
$object->setSizeRootFs($data->{'SizeRootFs'});
}
if (property_exists($data, 'Hostname')) {
$object->setHostname($data->{'Hostname'});
}
if (property_exists($data, 'Domainname')) {
$object->setDomainname($data->{'Domainname'});
}
if (property_exists($data, 'User')) {
$object->setUser($data->{'User'});
}
if (property_exists($data, 'AttachStdin')) {
$object->setAttachStdin($data->{'AttachStdin'});
}
if (property_exists($data, 'AttachStdout')) {
$object->setAttachStdout($data->{'AttachStdout'});
}
if (property_exists($data, 'AttachStderr')) {
$object->setAttachStderr($data->{'AttachStderr'});
}
if (property_exists($data, 'Tty')) {
$object->setTty($data->{'Tty'});
}
if (property_exists($data, 'OpenStdin')) {
$object->setOpenStdin($data->{'OpenStdin'});
}
if (property_exists($data, 'StdinOnce')) {
$object->setStdinOnce($data->{'StdinOnce'});
}
if (property_exists($data, 'Env')) {
$value_5 = $data->{'Env'};
if (is_array($data->{'Env'})) {
$values_3 = [];
foreach ($data->{'Env'} as $value_6) {
$values_3[] = $value_6;
}
$value_5 = $values_3;
}
if (is_null($data->{'Env'})) {
$value_5 = $data->{'Env'};
}
$object->setEnv($value_5);
}
if (property_exists($data, 'Cmd')) {
$value_7 = $data->{'Cmd'};
if (is_array($data->{'Cmd'})) {
$values_4 = [];
foreach ($data->{'Cmd'} as $value_8) {
$values_4[] = $value_8;
}
$value_7 = $values_4;
}
if (is_string($data->{'Cmd'})) {
$value_7 = $data->{'Cmd'};
}
$object->setCmd($value_7);
}
if (property_exists($data, 'Entrypoint')) {
$value_9 = $data->{'Entrypoint'};
if (is_array($data->{'Entrypoint'})) {
$values_5 = [];
foreach ($data->{'Entrypoint'} as $value_10) {
$values_5[] = $value_10;
}
$value_9 = $values_5;
}
if (is_string($data->{'Entrypoint'})) {
$value_9 = $data->{'Entrypoint'};
}
$object->setEntrypoint($value_9);
}
if (property_exists($data, 'Mounts')) {
$value_11 = $data->{'Mounts'};
if (is_array($data->{'Mounts'})) {
$values_6 = [];
foreach ($data->{'Mounts'} as $value_12) {
$values_6[] = $this->serializer->deserialize($value_12, 'Docker\\API\\Model\\Mount', 'raw', $context);
}
$value_11 = $values_6;
}
if (is_null($data->{'Mounts'})) {
$value_11 = $data->{'Mounts'};
}
$object->setMounts($value_11);
}
if (property_exists($data, 'WorkingDir')) {
$object->setWorkingDir($data->{'WorkingDir'});
}
if (property_exists($data, 'NetworkDisabled')) {
$object->setNetworkDisabled($data->{'NetworkDisabled'});
}
if (property_exists($data, 'MacAddress')) {
$object->setMacAddress($data->{'MacAddress'});
}
if (property_exists($data, 'ExposedPorts')) {
$values_7 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
foreach ($data->{'ExposedPorts'} as $key_1 => $value_13) {
$values_7[$key_1] = $value_13;
}
$object->setExposedPorts($values_7);
}
if (property_exists($data, 'NetworkSettings')) {
$object->setNetworkSettings($this->serializer->deserialize($data->{'NetworkSettings'}, 'Docker\\API\\Model\\NetworkConfig', 'raw', $context));
}
if (property_exists($data, 'HostConfig')) {
$object->setHostConfig($this->serializer->deserialize($data->{'HostConfig'}, 'Docker\\API\\Model\\HostConfig', 'raw', $context));
}
return $object;
}