protected function getComponentDefaults($mappingName, array $mappingConfig)
	{
		if (strpos($mappingName, '::'))
		{
			list($componentName, $componentType) = explode('::', $mappingName);
		}
		else
		{
			$componentName = $mappingName;

			$componentType = $this->detectComponentType($componentName);

			if ($componentType === false and $componentName === 'app')
			{
				$componentType = 'app';
			}
		}

		if (($componentPath = $this->getComponentPath($componentName, $componentType)) === false)
		{
			return false;
		}

		$configPath = $mappingConfig['dir'];

		if ($configPath === false)
		{
			$configPath = $this->getConfigPath();
		}

		if ($mappingConfig['type'] === false)
		{
			$mappingConfig['type'] = $this->detectMetadataDriver($componentPath, $configPath);
		}

		if ($mappingConfig['type'] === false)
		{
			return false;
		}

		if ($mappingConfig['dir'] === false)
		{
			if (in_array($mappingConfig['type'], array('annotation', 'staticphp')))
			{
				$mappingConfig['dir'] = $this->getClassPath().$this->getObjectName();
			}
			else
			{
				$mappingConfig['dir'] = $configPath;
			}
		}

		if (is_array($mappingConfig['dir']))
		{
			foreach ($mappingConfig['dir'] as &$path)
			{
				$path = $componentPath . $path;
			}
		}
		else
		{
			$mappingConfig['dir'] = $componentPath . $mappingConfig['dir'];
		}

		if ($mappingConfig['prefix'] === false)
		{
			$mappingConfig['prefix'] = $this->detectComponentNamespace($componentName, $componentType);
		}

		// Set this to false to prevent reinitialization on subsequent load calls
		$mappingConfig['is_component'] = false;

		return $mappingConfig;
	}