class BusinessObjectFormatExternalInterfaceDescriptiveInformationServiceImpl implements BusinessObjectFormatExternalInterfaceDescriptiveInformationService {

    @Override
    public BusinessObjectFormatExternalInterfaceDescriptiveInformation getBusinessObjectFormatExternalInterfaceDescriptiveInformation(
        BusinessObjectFormatExternalInterfaceKey businessObjectFormatExternalInterfaceKey)
    {
        // Validate and trim the business object format external interface key.
        businessObjectFormatExternalInterfaceHelper.validateAndTrimBusinessObjectFormatExternalInterfaceKey(businessObjectFormatExternalInterfaceKey);

        // Ensure that a business object format to external interface mapping with the specified key exists.
        businessObjectFormatExternalInterfaceDaoHelper.getBusinessObjectFormatExternalInterfaceEntity(businessObjectFormatExternalInterfaceKey);

        // Retrieve and ensure that an external interface with the specified name exists.
        ExternalInterfaceEntity externalInterfaceEntity =
            externalInterfaceDaoHelper.getExternalInterfaceEntity(businessObjectFormatExternalInterfaceKey.getExternalInterfaceName());

        // Get a business object format key from the request. Please note that the key is version-less.
        BusinessObjectFormatKey businessObjectFormatKey = new BusinessObjectFormatKey(businessObjectFormatExternalInterfaceKey.getNamespace(),
            businessObjectFormatExternalInterfaceKey.getBusinessObjectDefinitionName(), businessObjectFormatExternalInterfaceKey.getBusinessObjectFormatUsage(),
            businessObjectFormatExternalInterfaceKey.getBusinessObjectFormatFileType(), null);

        // Retrieve and ensure that a business object format with the specified alternate key values exists.
        BusinessObjectFormatEntity businessObjectFormatEntity = businessObjectFormatDaoHelper.getBusinessObjectFormatEntity(businessObjectFormatKey);

        // Create a business object format external interface descriptive information object from the business object format external interface entity and the
        // external interface entity and return it.
        return businessObjectFormatExternalInterfaceDescriptiveInformationHelper
            .createBusinessObjectFormatExternalInterfaceDescriptiveInformationFromEntities(businessObjectFormatEntity, externalInterfaceEntity);
    }

}