| //------------------------------------------------------------------------------ |
| // 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(name); |
| } |
| } |
| |
| } |