
com.adobe.forms.foundation.provider.DependencyProvider 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 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.forms.foundation.provider;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.adobe.forms.foundation.service.FormsAssetType;
import com.adobe.forms.foundation.service.FormsFoundationException;
/**
* @author sharoon
* @date Nov 26, 2015
* @time 9:50:21 PM
*/
public interface DependencyProvider {
/** Returns the immediate parent dependencies (assets using) for the asset represented by
* the passed assetId (path) grouped by asset type.
* @param assetId Id (path in repository) of the asset whose parent dependencies to be calculated
* @return Map of immediate parent dependencies grouped by asset type. Empty map if no such dependencies exist.
* @throws FormsFoundationException
*/
Map> getImmediateParentDependencies(String assetId) throws FormsFoundationException;
/** Checks whether the asset represented by asset id (path) passed has parent dependencies
* @param assetId Id (path in repository) of the asset whose parent dependencies needs to be checked
* @return true if asset has any parent dependencies, else false.
* @throws FormsFoundationException
*/
boolean hasParentDependencies(String assetId) throws FormsFoundationException;
/** Returns the list of assets referring the Data Dictionary (ddName) and using data dictionary element (ddeName)
* defined in this DD grouped by asset type.
* @param dataDictionaryID Id (path in repository) of the Data dictionary in which DDE is defined
* @param ddeReferenceNames List of Data Dictionary Elements whose usage has to be found
* @return Map of assets using this DDE grouped by asset type. Empty map if no such dependencies exist.
* @throws FormsFoundationException
*/
Map> getDDEReferences(String dataDictionaryID, List ddeReferenceNames) throws FormsFoundationException;
/** Checks whethers the passed DDE in DD are being used in any asset
* @param dataDictionaryId Id (path in repository) of the Data dictionary in which DDE is defined
* @param ddeReferenceNames Name of Data Dictionary Element whose usage has to be found
* @return true if usage exists, false otherwise
* @throws FormsFoundationException
*/
boolean hasDDEReferences(String dataDictionaryId, List ddeReferenceNames) throws FormsFoundationException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy