@param AbstractPlatform $platform

@throws UnsupportedPlatformException
328375
protected function validatePlatform(AbstractPlatform $platform)
    {
        $platformName = $platform->getName();

        if (isset($this->platforms) && !in_array($platformName, $this->platforms)) {
            throw new UnsupportedPlatformException(
                sprintf('DBAL platform "%s" is not currently supported.', $platformName)
            );
        }
    }
1179649
public function convertToDatabaseValue($value, AbstractPlatform $platform)
    {
        if (!$value) {
            return null;
        }

        if ($platform instanceof MySqlPlatform) {
            $format = "POINT(%F %F)";
        } else {
            $format = "(%F, %F)";
        }

        return sprintf($format, $value->getLatitude(), $value->getLongitude());
    }
884098
public function convertToPHPValue($value, PlatformInterface $platform)
    {
        if ($value === null) {
            return;
        }

        $phpValue = \DateTime::createFromFormat('!'.$platform->getDateFormat(), $value);

        if ($phpValue === false) {
            throw TypeException::conversionToPHPFailed($value, $this->getName());
        }

        return $phpValue;
    }
1040649
public function convertToPHPValue($value, AbstractPlatform $platform)
    {
        $result = null;

        if ($value !== null && ($dateOrNull = parent::convertToPHPValue($value, $platform)) !== null) {
            // despite the name it's not null already
            $result = DateTime::createFromDateTime($dateOrNull);
        }

        return $result;
    }
1141257
public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform)
    {
        if (method_exists($platform, 'getJsonTypeDeclarationSQL')) {
            return $platform->getJsonTypeDeclarationSQL($fieldDeclaration);
        }

        return $platform->getClobTypeDeclarationSQL($fieldDeclaration);
    }
859613
public function convertToDatabaseValueSql($value, AbstractPlatform $platform)
    {
        return parent::convertToDatabaseValueSQL($value instanceof ModelInterface ? $value->pk : $value, $platform);
    }
546293
public function convertToPHPValue($value, AbstractPlatform $platform)
    {
        if ($value === null) {
            return null;
        }

        return new File(static::$basePath . $value);
    }
132623
public function convertToDatabaseValue($value, AbstractPlatform $platform)
    {
        if ($value === null) {
            return $value;
        }

        if (! ($value instanceof GeometryInterface)) {
            throw new InvalidValueException('Geometry column values must implement GeometryInterface');
        }

        return $this->getSpatialPlatform($platform)->convertToDatabaseValue($this, $value);
    }
664494
public void setPlatforms(java.util.Collection<SigningPlatform> platforms) {
        if (platforms == null) {
            this.platforms = null;
            return;
        }

        this.platforms = new java.util.ArrayList<SigningPlatform>(platforms);
    }
1355554
public function registerPlatformType(string $platformType, string $dbalType): void
    {
        $schema = $this->connection->getSchemaManager();
        $schema->getDatabasePlatform()->registerDoctrineTypeMapping($platformType, $dbalType);
    }
744111
public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform)
    {
        $options = !array_key_exists('platformOptions', $fieldDeclaration) ?
            array() : $fieldDeclaration['platformOptions'];
        return $platform->getArrayTypeDeclarationSQL($fieldDeclaration, $options);
    }
330790
public function convertToPHPValue($value, AbstractPlatform $platform)
    {
        if (empty($value)) {
            return null;
        }

        if ($value instanceof UuidInterface) {
            return $value;
        }

        try {
            return $this->decode($value);
        } catch (InvalidArgumentException $e) {
            throw ConversionException::conversionFailed($value, self::NAME);
        }
    }
970197
public function convertToDatabaseValue($value, AbstractPlatform $platform)
    {
        if (empty($value)) {
            return null;
        }

        if ($value instanceof Uuid || Uuid::isValid($value)) {
            return (string) $value;
        }

        throw ConversionException::conversionFailed($value, self::NAME);
    }
1231739
public void setPlatformDevices(java.util.Collection<PlatformDevice> platformDevices) {
        if (platformDevices == null) {
            this.platformDevices = null;
            return;
        }

        this.platformDevices = new com.amazonaws.internal.SdkInternalList<PlatformDevice>(platformDevices);
    }
696557
public function getSequencePrefix(AbstractPlatform $platform)
    {
        $tableName      = $this->getTableName();
        $sequencePrefix = $tableName;

        // Prepend the schema name to the table name if there is one
        if ($schemaName = $this->getSchemaName()) {
            $sequencePrefix = $schemaName . '.' . $tableName;

            if ( ! $platform->supportsSchemas() && $platform->canEmulateSchemas()) {
                $sequencePrefix = $schemaName . '__' . $tableName;
            }
        }

        return $sequencePrefix;
    }
691279
public function convertToPHPValue($value, AbstractPlatform $platform)
    {

        switch ($platform->getName()) {
            case 'postgresql':
                $value = (is_resource($value)) ? stream_get_contents($value) : $value;
                $convertedValue = parent::convertToPHPValue(hex2bin($value), $platform);
                break;
            default:
                $convertedValue = parent::convertToPHPValue($value, $platform);
        }

        return $convertedValue;
    }
1258181
public function setPlatform($platform, $relationship = null)
    {
        $this->validateInput(
            $platform,
            $this->validator,
            'validatePlatform',
            $this->exception,
            'Provided platform is not a valid value.'
        );

        self::$xml['platform'] = '<video:platform';
        $this->setPlatformRelationship($relationship);
        self::$xml['platform'] .= '>'.$platform.'</video:platform>';

        return $this;
    }