/* Copyright 2003-2012 Dmitry Barashev, GanttProject Team This file is part of GanttProject, an opensource project management tool. GanttProject is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GanttProject is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GanttProject. If not, see <http://www.gnu.org/licenses/>. */ package net.sourceforge.ganttproject.roles; import net.sourceforge.ganttproject.language.GanttLanguage; import net.sourceforge.ganttproject.language.GanttLanguage.Event; /** * Created by IntelliJ IDEA. * * @author bard Date: 25.01.2004 */ public class RoleImpl implements Role { private String myName; private final int myID; private final RoleSet myRoleSet; public RoleImpl(int id, String name, RoleSet roleSet) { myID = id; myName = name; myRoleSet = roleSet; if (myRoleSet != null) { GanttLanguage.getInstance().addListener(new GanttLanguage.Listener() { @Override public void languageChanged(Event event) { Role role = myRoleSet.findRole(myID); if (role != null) { myName = role.getName(); } } }); } } @Override public int getID() { return myID; } @Override public String getName() { return myName; } @Override public void setName(String name) { myName = name; } @Override public String getPersistentID() { return (myRoleSet.getName() == null ? "" : myRoleSet.getName() + ":") + getID(); } @Override public String toString() { return getName(); } }