/*******************************************************************************
* Copyright (c) 2004, 2010 BREDEX GmbH.
* 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:
* BREDEX GmbH - initial API and implementation and/or initial documentation
*******************************************************************************/
package org.eclipse.jubula.tools.internal.objects;
import java.util.List;
import java.util.Map;
import org.eclipse.jubula.tools.ComponentIdentifier;
/**
* @author BREDEX GmbH
* @created 20.12.2005
*/
public interface IComponentIdentifier extends ComponentIdentifier {
/**
* @return Returns the componentClassName.
*/
public abstract String getComponentClassName();
/**
* @param componentClassName The componentClassName to set.
*/
public abstract void setComponentClassName(String componentClassName);
/**
* @return the name of the component
*/
public abstract String getComponentName();
/**
* @param hierarchyNames
* The hierarchyNames to set. if null, the list will be cleared.
*/
public abstract void setHierarchyNames(List<String> hierarchyNames);
// getter and setter for serialization
/**
* @return Returns the hierarchyNames.
*/
public abstract List<String> getHierarchyNames();
/**
* @param hierarchyNames The hierarchyNames to add.
*/
public abstract void addHierarchyName(String hierarchyNames);
/**
* {@inheritDoc}
*/
public abstract String toString();
/**
* clears the hierarchy names list
*
*/
public abstract void clearHierarchyNames();
/**
* @return Clone of object
*/
public abstract IComponentIdentifier makeClone();
/**
* @return Returns the supportedClassName.
*/
public abstract String getSupportedClassName();
/**
* @param supportedClassName The supportedClassName to set.
*/
public abstract void setSupportedClassName(String supportedClassName);
/**
* @return Returns the neighbours.
*/
public abstract List<String> getNeighbours();
/**
* @param neighbours The neighbours to set.
*/
public abstract void setNeighbours(List<String> neighbours);
/**
* @param neighbours The hierarchyNames to add.
*/
public abstract void addNeighbour(String neighbours);
/**
* generates a name for the component
* @return String
*/
public abstract String generateLogicalName();
/**
* @return the alternative name for display of the component or null if the
* normal name returned by method getComponentName() has to be used
* as display name
*/
public String getAlternativeDisplayName();
/**
* @param alternativeDisplayName the alternative name for display of the
* component or null if the normal name returned by method
* getComponentName() has to be used as display name
*/
public void setAlternativeDisplayName(String alternativeDisplayName);
/**
* @return the name for display of the component
*/
public String getComponentNameToDisplay();
/**
* @param matchPercentage the matchPercentage to set
*/
public void setMatchPercentage(double matchPercentage);
/**
* @return the matchPercentage
*/
public double getMatchPercentage();
/**
* @param numberOfOtherMatchingComponents the numberOfOtherMatchingComponents to set
*/
public void setNumberOfOtherMatchingComponents(
int numberOfOtherMatchingComponents);
/**
* @return the numberOfOtherMatchingComponents
*/
public int getNumberOfOtherMatchingComponents();
/**
* @return whether this component identifier could be used to retrieve the
* original component on collection
*/
public boolean isEqualOriginalFound();
/**
* @param equalOriginalFound the equalOriginalFound to set
*/
public void setEqualOriginalFound(boolean equalOriginalFound);
/**
* @return the keyValueProperties
*/
public Map<String, String> getComponentPropertiesMap();
/**
* @param keyValueProperties the keyValueProperties to set
*/
public void setComponentPropertiesMap(
Map<String, String> keyValueProperties);
}