package org.uva.qls.ast.style.widget;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import org.uva.qls.ast.CodePosition;
import org.uva.qls.ast.literal.IntLiteral;
import org.uva.qls.ast.literal.Literal;
import org.uva.qls.visitor.StyleVisitor;
public class SpinboxModel extends WidgetType {
private final List<IntLiteral> values;
public SpinboxModel(List<IntLiteral> values, CodePosition position) {
super(position);
this.values = values;
}
public List<IntLiteral> getValues() {
return values;
}
@Override
public String toString() {
return "spinbox";
}
@Override
public <T> T accept(StyleVisitor<T> visitor) {
return visitor.visit(this);
}
@Override
public Literal getLiteral() {
return null;
}
@SuppressWarnings("unchecked")
public List<IntLiteral> isValid() {
List<IntLiteral> duplicatedValues = new ArrayList<IntLiteral>();
List<IntLiteral> newList = new ArrayList<IntLiteral>(new HashSet<IntLiteral>(values));
for (IntLiteral intLiteral : duplicatedValues) {
if (!newList.contains(intLiteral)) {
newList.add(intLiteral);
duplicatedValues.remove(intLiteral);
}
}
System.out.println(duplicatedValues.size());
return duplicatedValues;
}
}