All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.microsoft.store.partnercenter.profiles.PartnerProfileCollectionOperations Maven / Gradle / Ivy

There is a newer version: 1.15.3
Show newest version
// -----------------------------------------------------------------------
// 
//      Copyright (c) Microsoft Corporation. All rights reserved.
// 
// -----------------------------------------------------------------------

package com.microsoft.store.partnercenter.profiles;

import com.microsoft.store.partnercenter.BasePartnerComponentString;
import com.microsoft.store.partnercenter.IPartner;

/**
 * The partner profile collection operations implementation.
 */
public class PartnerProfileCollectionOperations
    extends BasePartnerComponentString
    implements IPartnerProfileCollection
{
    /**
     * The legal business profile operations.
     */
    private ILegalBusinessProfile legalBusinessProfile;

    /**
     * The partner network profile operations.
     */
    private IMpnProfile mpnProfile;

    /**
     * The partner support profile operations.
     */
    private ISupportProfile supportProfile;

    /**
     * The organization profile operations.
     */
    private IOrganizationProfile organizationProfile;

    /**
     * The partner billing profile operations.
     */
    private IBillingProfile partnerBillingProfile;

    /**
     * Initializes a new instance of the PartnerProfileCollectionOperations class.
     * 
     * @param rootPartnerOperations The root partner operations instance.
     */
    public PartnerProfileCollectionOperations( IPartner rootPartnerOperations )
    {
        super( rootPartnerOperations );
    }

    /**
     * Gets the operations available for the legal business profile.
     */
    @Override
    public ILegalBusinessProfile getLegalBusinessProfile()
    {
        if ( this.legalBusinessProfile == null )
        {
            this.legalBusinessProfile = new LegalBusinessProfileOperations( this.getPartner() );
        }
        return this.legalBusinessProfile;
    }

    /**
     * Gets the operations available for the partner network profile.
     */
    @Override
    public IMpnProfile getMpnProfile()
    {
        if ( this.mpnProfile == null )
        {
            this.mpnProfile = new MpnProfileOperations( this.getPartner() );
        }
        return this.mpnProfile;
    }

    /**
     * Gets the operations available for the partner network profile.
     */
    @Override
    public ISupportProfile getSupportProfile()
    {
        if ( this.supportProfile == null )
        {
            this.supportProfile = new SupportProfileOperations( this.getPartner() );
        }
        return this.supportProfile;
    }

    /**
     * Gets the operations available for the organization profile.
     */
    @Override
    public IOrganizationProfile getOrganizationProfile()
    {
        if ( this.organizationProfile == null )
        {
            this.organizationProfile = new OrganizationProfileOperations( this.getPartner() );
        }
        return this.organizationProfile;
    }

    /**
     * Gets the operations available for the partner billing profile.
     */
    @Override
    public IBillingProfile getBillingProfile()
    {
        if ( this.partnerBillingProfile == null )
        {
            this.partnerBillingProfile = new BillingProfileOperations( this.getPartner() );
        }
        return this.partnerBillingProfile;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy