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

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