/******************************************************************************* * Copyright (c) 2010-2014 SAP AG 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: * SAP AG - initial API and implementation *******************************************************************************/ package org.eclipse.skalli.model.ext.scrum; import java.util.SortedSet; import java.util.TreeSet; import org.eclipse.skalli.model.ExtensionEntityBase; import org.eclipse.skalli.model.Member; import org.eclipse.skalli.model.PropertyName; public class ScrumProjectExt extends ExtensionEntityBase { public static final String MODEL_VERSION = "1.0"; //$NON-NLS-1$ public static final String NAMESPACE = "http://www.eclipse.org/skalli/2010/Model/Extension-Scrum"; //$NON-NLS-1$ @PropertyName(position = 0) public static final String PROPERTY_SCRUM_MASTERS = "scrumMasters"; //$NON-NLS-1$ @PropertyName(position = 1) public static final String PROPERTY_PRODUCT_OWNERS = "productOwners"; //$NON-NLS-1$ @PropertyName(position = 2) public static final String PROPERTY_BACKLOG_URL = "backlogUrl"; //$NON-NLS-1$ private TreeSet<Member> scrumMasters = new TreeSet<Member>(); private TreeSet<Member> productOwners = new TreeSet<Member>(); private String backlogUrl = ""; //$NON-NLS-1$ public synchronized SortedSet<Member> getScrumMasters() { if (scrumMasters == null) { scrumMasters = new TreeSet<Member>(); } return scrumMasters; } public void addScrumMaster(Member person) { if (person != null) { getScrumMasters().add(person); } } public void removeScrumMaster(Member person) { if (person != null) { getScrumMasters().remove(person); } } public boolean hasScrumMaster(Member person) { return getScrumMasters().contains(person); } public synchronized SortedSet<Member> getProductOwners() { if (productOwners == null) { productOwners = new TreeSet<Member>(); } return productOwners; } public void addProductOwner(Member person) { if (person != null) { getProductOwners().add(person); } } public void removeProductOwner(Member person) { if (person != null) { getProductOwners().remove(person); } } public boolean hasProductOwner(Member person) { return getProductOwners().contains(person); } public String getBacklogUrl() { return backlogUrl; } public void setBacklogUrl(String backlogUrl) { this.backlogUrl = backlogUrl; } }