blob: cb425d40f991caaa776370ac0cd267ac0609fba8 [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2007 IBM Corporation 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:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.library.edit.validation;
import java.util.Collection;
import org.eclipse.epf.uma.DescribableElement;
import org.eclipse.epf.uma.MethodElement;
/**
* This class is a helper class for unique name and presentation name handling
*
* @author Weiping Lu
* @since 1.2
*/
public class UniqueNamePNameHandler {
private UniqueNameHandler nameHandler = new UniqueNameHandler();
private UniqueNameHandler pnameHandler = new UniqueNameHandler();
/**
* Empty constructor
*/
public UniqueNamePNameHandler(Collection<MethodElement> nameElements, Collection<DescribableElement> pnameElements) {
nameHandler.registerNames(nameElements);
pnameHandler.registerPresentationNames(pnameElements);
}
/**
* @param element
*/
public void ensureUnique(DescribableElement element) {
String name = nameHandler.getUniqueName(element.getName());
if (! name.equals(element.getName())) {
element.setName(name);
}
nameHandler.register(name);
String pname = pnameHandler.getUniqueName(element.getPresentationName());
if (! pname.equals(element.getPresentationName())) {
element.setPresentationName(pname);
}
pnameHandler.register(pname);
}
}