---
schema_version: "1"
id: d9bee8a839b7f7b147597f56fac4735dd93e2874e6d13b3cbd8c3fdebbc5bf80
title: Resolution Class
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_class_CommerceExtension_Resolution.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_CommerceExtension_Resolution.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: c21db92250f63483ee26cf288f84aba7a179f6563fb46111ec465b438fc77e8c
description: Resolution of a resolution strategy, which conditionally invokes default domain logic, logic provided by an extension provider, or no logic.Constructor that takes a CommerceExtension.ResolutionStates object as an argument.Constructor that takes the name of an extension provider as an argument.Default constructor for the Resolution class.Returns the name of an extension provider.Returns the resolution state of the resolution.
---
# Resolution Class

Resolution of a resolution strategy, which conditionally invokes default domain logic, logic provided by an extension provider, or no logic.

## Namespace

[CommerceExtension](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_namespace_CommerceExtension.htm "Use the CommerceExtension namespace to define resolution strategies for registered Commerce extensions.")

## Example

public with sharing class TaxServiceExtensionResolverSample extends commercestoretax.TaxService implements CommerceExtension.ResolutionStrategy {
    public CommerceExtension.Resolution resolve() {
        // The Sample Extension Provider registered with developer name as 'tax\_extension\_provider\_for\_us' will be selected for execution for en\_US locale
        if(CommerceExtension.ExtensionInfo.getLocaleString() == 'en\_US') {
            return new CommerceExtension.Resolution('tax\_extension\_provider\_for\_us');
        }
        // The Sample Extension Provider registered with developer name as 'tax\_extension\_provider\_for\_canada' will be selected for execution for en\_CA locale
        if(CommerceExtension.ExtensionInfo.getLocaleString() == 'en\_CA') {
            return new CommerceExtension.Resolution('tax\_extension\_provider\_for\_canada');
        }
        // The default Salesforce Internal Tax Api will return an empty response for German locale
        if(CommerceExtension.ExtensionInfo.getLocaleString() == 'de') {
            return new CommerceExtension.Resolution(CommerceExtension.ResolutionStates.OFF);
        }
        // The default Salesforce Internal Tax Api will be selected for execution for all other locales than US, Canada and Germany
        return new CommerceExtension.Resolution();
    }
}

- **[Resolution Constructors](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_CommerceExtension_Resolution.htm#apex_CommerceExtension_Resolution_constructors)**
- **[Resolution Methods](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_CommerceExtension_Resolution.htm#apex_CommerceExtension_Resolution_methods)**

## Resolution Constructors

The following are constructors for Resolution.

- **[Resolution(resolutionState)](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_CommerceExtension_Resolution.htm#apex_CommerceExtension_Resolution_ctor)**  
    Constructor that takes a CommerceExtension.ResolutionStates object as an argument.
- **[Resolution(providerName)](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_CommerceExtension_Resolution.htm#apex_CommerceExtension_Resolution_ctor_2)**  
    Constructor that takes the name of an extension provider as an argument.
- **[Resolution()](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_CommerceExtension_Resolution.htm#apex_CommerceExtension_Resolution_ctor_3)**  
    Default constructor for the Resolution class.

### Resolution(resolutionState)

Constructor that takes a CommerceExtension.ResolutionStates object as an argument.

#### Signature

public Resolution(CommerceExtension.ResolutionStates resolutionState)

#### Parameters

- **resolutionState**:
    
    Type: [CommerceExtension.ResolutionStates](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_enum_CommerceExtension_ResolutionStates.htm "Potential resolution states for a resolution strategy.")
    
    Resolution state.

### Resolution(providerName)

Constructor that takes the name of an extension provider as an argument.

#### Signature

public Resolution(String providerName)

#### Parameters

- **providerName**:
    
    Type: [String](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_string.htm#apex_methods_system_string "Contains methods for the String primitive data type.")
    
    Name of the extension provider.

### Resolution()

Default constructor for the Resolution class.

#### Signature

public Resolution()

## Resolution Methods

The following are methods for Resolution.

- **[getProviderName()](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_CommerceExtension_Resolution.htm#apex_CommerceExtension_Resolution_getProviderName)**  
    Returns the name of an extension provider.
- **[getResolutionState()](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_CommerceExtension_Resolution.htm#apex_CommerceExtension_Resolution_getResolutionState)**  
    Returns the resolution state of the resolution.

### getProviderName()

Returns the name of an extension provider.

#### Signature

public String getProviderName()

#### Return Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_string.htm#apex_methods_system_string "Contains methods for the String primitive data type.")

Name of an extension provider.

### getResolutionState()

Returns the resolution state of the resolution.

#### Signature

public CommerceExtension.ResolutionStates getResolutionState()

#### Return Value

Type: [CommerceExtension.ResolutionStates](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_enum_CommerceExtension_ResolutionStates.htm "Potential resolution states for a resolution strategy.")

Resolution state of the resolution.