original_string: protected function castParameter($value, $type = null) {
  		//check null value
  		if (is_null($value))
  			return 'NULL';
  		elseif (is_null($type)) {
  			//obtain default type handler
  			$typeHandler = $this->getDefaultTypeHandler($value);
  			if (is_null($typeHandler))
  				return 'NULL';
  			if (is_array($value))
  				return $this->castArray($value, $typeHandler, '_');
  		}
  		else {
  			//cast value to the specified type
  			$typeHandler = $this->typeManager->getTypeHandler($type);
  				
  			if ($typeHandler === false)
  				throw new \RuntimeException("No type handler found for type '$type'");
  				
  			if (is_array($value))
  				return $this->castArray($value, $typeHandler, '_');
  			
  			//check if returned value is null
  			$value = $typeHandler->castParameter($value);
  			if (is_null($value))
  				return 'NULL';
  		}
  	
  		//get parameter expression
  		$value = $typeHandler->setParameter($value);
  	
  		//check null value
  		if (is_null($value))
  			return 'NULL';
  		//cast to string
  		if (!is_string($value))
  			$value = strval($value);
  		return $value;
  	}
code: protected function castParameter($value, $type = null) {
  		//check null value
  		if (is_null($value))
  			return 'NULL';
  		elseif (is_null($type)) {
  			//obtain default type handler
  			$typeHandler = $this->getDefaultTypeHandler($value);
  			if (is_null($typeHandler))
  				return 'NULL';
  			if (is_array($value))
  				return $this->castArray($value, $typeHandler, '_');
  		}
  		else {
  			//cast value to the specified type
  			$typeHandler = $this->typeManager->getTypeHandler($type);
  				
  			if ($typeHandler === false)
  				throw new \RuntimeException("No type handler found for type '$type'");
  				
  			if (is_array($value))
  				return $this->castArray($value, $typeHandler, '_');
  			
  			//check if returned value is null
  			$value = $typeHandler->castParameter($value);
  			if (is_null($value))
  				return 'NULL';
  		}
  	
  		//get parameter expression
  		$value = $typeHandler->setParameter($value);
  	
  		//check null value
  		if (is_null($value))
  			return 'NULL';
  		//cast to string
  		if (!is_string($value))
  			$value = strval($value);
  		return $value;
  	}
code_tokens: protected function castParameter ( $ value , $ type = null ) { //check null value if ( is_null ( $ value ) ) return 'NULL' ; elseif ( is_null ( $ type ) ) { //obtain default type handler $ typeHandler = $ this -> getDefaultTypeHandler ( $ value ) ; if ( is_null ( $ typeHandler ) ) return 'NULL' ; if ( is_array ( $ value ) ) return $ this -> castArray ( $ value , $ typeHandler , '_' ) ; } else { //cast value to the specified type $ typeHandler = $ this -> typeManager -> getTypeHandler ( $ type ) ; if ( $ typeHandler === false ) throw new \ RuntimeException ( "No type handler found for type '$type'" ) ; if ( is_array ( $ value ) ) return $ this -> castArray ( $ value , $ typeHandler , '_' ) ; //check if returned value is null $ value = $ typeHandler -> castParameter ( $ value ) ; if ( is_null ( $ value ) ) return 'NULL' ; } //get parameter expression $ value = $ typeHandler -> setParameter ( $ value ) ; //check null value if ( is_null ( $ value ) ) return 'NULL' ; //cast to string if ( ! is_string ( $ value ) ) $ value = strval ( $ value ) ; return $ value ; }
docstring: Casts a value to a given type
  @param mixed $value
  @param string $type
  @return string
  @throws \RuntimeException
docstring_tokens: Casts a value to a given type