/******************************************************************************* * Copyright (c) 2015 ARM Ltd. and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * ARM Ltd and ARM Germany GmbH - Initial API and implementation *******************************************************************************/ package com.arm.cmsis.pack.info; import com.arm.cmsis.pack.data.ICpFile; /** * Interface representing a component's file used by configuration */ public interface ICpFileInfo extends ICpFile, ICpItemInfo { /** * Returns actual ICpFile file corresponding to this info * @return actual ICpFile represented by the info */ ICpFile getFile(); /** * Sets actual resolved ICpFile to this info and optionally updates info attributes * @param file ICpFile to set */ void setFile(ICpFile file); /** * Returns parent ICpComponentInfo if this file is a child of a component or an API * @return parent ICpComponentInfo */ ICpComponentInfo getComponentInfo(); /** * Sets file version to this object, either from actual ICpFile or a stored value when the file has been copied * @param version version string to set */ void setVersion(String version); /** * Compares version stored in this info to actual file version * @return version difference */ int getVersionDiff(); }