blob: 0c6a09001b83fc23975d2d7b4a5c89b3468e6bf9 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2008 Frank Becker 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:
* Frank Becker - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.internal.bugzilla.core;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author Frank Becker
*/
public class BugzillaFlag implements Serializable {
// old private static final long serialVersionUID = 4920551884607344418L;
private static final long serialVersionUID = -3149026741475639885L;
private final String name;
private final String description;
private final String type;
private final boolean requestable;
private final boolean specifically_requestable;
private final boolean multiplicable;
private final int flagId;
private final Map<String, List<String>> used = new HashMap<String, List<String>>();
public BugzillaFlag(String name, String description, String type, String requestable,
String specifically_requestable, String multiplicable, int flagId) {
this.description = description;
this.name = name;
this.type = type;
this.flagId = flagId;
if (multiplicable != null && !multiplicable.equals("")) { //$NON-NLS-1$
this.multiplicable = multiplicable.equals("1"); //$NON-NLS-1$
} else {
this.multiplicable = false;
}
if (requestable != null && !requestable.equals("")) { //$NON-NLS-1$
this.requestable = requestable.equals("1"); //$NON-NLS-1$
} else {
this.requestable = false;
}
if (specifically_requestable != null && !specifically_requestable.equals("")) { //$NON-NLS-1$
this.specifically_requestable = specifically_requestable.equals("1"); //$NON-NLS-1$
} else {
this.specifically_requestable = false;
}
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
public String getType() {
return type;
}
public boolean isRequestable() {
return requestable;
}
public boolean isSpecifically_requestable() {
return specifically_requestable;
}
public boolean isMultiplicable() {
return multiplicable;
}
public int getFlagId() {
return flagId;
}
public void addUsed(String product, String component) {
List<String> componentList = used.get(product);
if (componentList == null) {
componentList = new ArrayList<String>();
used.put(product, componentList);
}
if (!componentList.contains(component)) {
componentList.add(component);
}
}
public boolean isUsedIn(String product, String component) {
List<String> componentList = used.get(product);
if (componentList != null && componentList.contains(component)) {
return true;
}
return false;
}
}