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

com.adobe.aemds.guide.service.GuideThemeService Maven / Gradle / Ivy

/*
 * **********************************************************************
 *  ADOBE CONFIDENTIAL
 *  __________________
 *
 *  Copyright 2015 Adobe Systems Incorporated
 *  All Rights Reserved.
 *
 *  NOTICE:  All information contained herein is, and remains
 *  the property of Adobe Systems Incorporated and its suppliers,
 *  if any.  The intellectual and technical concepts contained
 *  herein are proprietary to Adobe Systems Incorporated and its
 *  suppliers and may be covered by U.S. and Foreign Patents,
 *  patents in process, and are protected by trade secret or copyright law.
 *  Dissemination of this information or reproduction of this material
 *  is strictly forbidden unless prior written permission is obtained
 *  from Adobe Systems Incorporated.
 *  **********************************************************************
 */

package com.adobe.aemds.guide.service;

import org.apache.sling.api.resource.Resource;
import org.apache.sling.commons.json.JSONObject;

import java.util.List;

/**
 * The GuideThemeService interface declares the basic operations required for creating and updating themes.
 *
 * @pad.exclude Exclude from Published API.
 */
public interface GuideThemeService {

    /**
     * Update Theme Configuration values
     *
     * @param themeContentPath The repository path of theme asset till jcr:content node
     * @param configJson       the Json object containing the theme configuration information
     * @return true if configuration was updated successfully, else false.
     * @throws GuideException
     */
    boolean updateThemeConfig(String themeContentPath,
                              JSONObject configJson) throws GuideException;
    /**
     * Update Theme Migration
     *
     * @param themeResource Theme Resource
     * @return true if configuration was updated successfully, else false.
     * @throws GuideException
     */
    boolean migrateTheme(Resource themeResource) throws GuideException;

    /**
     * Generates a list of fonts that are available for the theme that is passed as parameter.
     * Includes all web fonts that are configured for the theme and default fonts that are available
     * across all themes.
     *
     * @param themeContentPath The path to jcr:content of theme
     * @return String[] of all font  list
     */
    public List getFontList(String themeContentPath);

    /**
     * Function to get the combined embed code(script tag or link tag) of all web font services,
     * which needs to be included in html code for using fonts from any web font service.
     *
     * @param themeContentPath The path to jcr:content of theme for which web fonts have been configured.
     * @param formPath         Path of form resource on which the theme is applied
     * @return The code (script and link tags) to be included to in html for using all web font services.
     */
    public String getEmbeddingCode(String themeContentPath, String formPath);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy