AbstractJcrCommerceServiceFactory.java 3.93 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  aQute.bnd.annotation.ConsumerType
 *  com.adobe.granite.security.user.UserPropertiesService
 *  com.day.cq.wcm.api.LanguageManager
 *  org.apache.felix.scr.annotations.Component
 *  org.apache.felix.scr.annotations.Reference
 *  org.apache.sling.jcr.api.SlingRepository
 *  org.apache.sling.settings.SlingSettingsService
 */
package com.adobe.cq.commerce.common;

import aQute.bnd.annotation.ConsumerType;
import com.adobe.cq.commerce.api.CommerceServiceFactory;
import com.adobe.cq.commerce.common.CommerceSearchProviderManager;
import com.adobe.cq.commerce.common.ServiceContext;
import com.adobe.granite.security.user.UserPropertiesService;
import com.day.cq.wcm.api.LanguageManager;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
import org.apache.sling.jcr.api.SlingRepository;
import org.apache.sling.settings.SlingSettingsService;

@Component(componentAbstract=1, metatype=0)
@ConsumerType
public abstract class AbstractJcrCommerceServiceFactory
implements CommerceServiceFactory {
    @Reference
    protected LanguageManager languageManager;
    @Reference
    protected UserPropertiesService userPropertiesService;
    @Reference
    protected SlingSettingsService slingSettingsService;
    @Reference
    protected SlingRepository slingRepository;
    @Reference
    protected CommerceSearchProviderManager searchProviderManager;

    @Deprecated
    protected Services getServices() {
        Services services = new Services();
        services.languageManager = this.languageManager;
        services.userPropertiesService = this.userPropertiesService;
        services.slingSettingsService = this.slingSettingsService;
        services.slingRepository = this.slingRepository;
        return services;
    }

    protected ServiceContext getServiceContext() {
        return new ServiceContext(this);
    }

    protected void bindLanguageManager(LanguageManager languageManager) {
        this.languageManager = languageManager;
    }

    protected void unbindLanguageManager(LanguageManager languageManager) {
        if (this.languageManager == languageManager) {
            this.languageManager = null;
        }
    }

    protected void bindUserPropertiesService(UserPropertiesService userPropertiesService) {
        this.userPropertiesService = userPropertiesService;
    }

    protected void unbindUserPropertiesService(UserPropertiesService userPropertiesService) {
        if (this.userPropertiesService == userPropertiesService) {
            this.userPropertiesService = null;
        }
    }

    protected void bindSlingSettingsService(SlingSettingsService slingSettingsService) {
        this.slingSettingsService = slingSettingsService;
    }

    protected void unbindSlingSettingsService(SlingSettingsService slingSettingsService) {
        if (this.slingSettingsService == slingSettingsService) {
            this.slingSettingsService = null;
        }
    }

    protected void bindSlingRepository(SlingRepository slingRepository) {
        this.slingRepository = slingRepository;
    }

    protected void unbindSlingRepository(SlingRepository slingRepository) {
        if (this.slingRepository == slingRepository) {
            this.slingRepository = null;
        }
    }

    protected void bindSearchProviderManager(CommerceSearchProviderManager commerceSearchProviderManager) {
        this.searchProviderManager = commerceSearchProviderManager;
    }

    protected void unbindSearchProviderManager(CommerceSearchProviderManager commerceSearchProviderManager) {
        if (this.searchProviderManager == commerceSearchProviderManager) {
            this.searchProviderManager = null;
        }
    }

    @Deprecated
    public class Services {
        LanguageManager languageManager;
        UserPropertiesService userPropertiesService;
        SlingSettingsService slingSettingsService;
        SlingRepository slingRepository;
    }

}