package org.org.eclipse.dws.core.internal.model;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.org.model.AbstractModelItem;
import org.org.model.IModelItem;
@SuppressWarnings("rawtypes")
public class PomProperty extends AbstractModelItem<IModelItem, IModelItem> {
private final String key;
private final Set<String> possibleValues = new HashSet<String>();
public PomProperty(String key) {
this.key = key;
}
public PomProperty(String key, String... values) {
this.key = key;
this.possibleValues.addAll(Arrays.asList(values));
}
public String getKey() {
return this.key;
}
public Set<String> getPossibleValues() {
return this.possibleValues;
}
public void addPossibleValue(String possibleValue) {
this.possibleValues.add(possibleValue);
}
public void addPossibleValues(String... possibleValues) {
for (String possibleValue : possibleValues) {
this.possibleValues.add(possibleValue);
}
}
@Override
public boolean equals(Object obj) {
boolean result = false;
if (obj instanceof IModelItem) {
result=this.getUID().equals(((IModelItem) obj).getUID());
}
return result;
}
@Override
public String getUID() {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("key:" + key + ";possibleValues:[");
for (String possibleValue : possibleValues) {
stringBuilder.append(possibleValue + ",");
}
if (!possibleValues.isEmpty()) {
stringBuilder.deleteCharAt(stringBuilder.length()-1);
}
stringBuilder.append("]");
return stringBuilder.toString();
}
@Override
public StringBuilder toStringBuilderDescription() {
return new StringBuilder(getUID());
}
}