/******************************************************************************* * Copyright (c) 2011 Softberries Krzysztof Grajek. * 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: * Softberries Krzysztof Grajek - initial API and implementation ******************************************************************************/ package com.softberries.klerk.gui.validators; import java.util.List; import org.eclipse.core.databinding.validation.IValidator; import org.eclipse.core.databinding.validation.ValidationStatus; import org.eclipse.core.runtime.IStatus; public class ProductCodeValidator implements IValidator{ private List<String> productCodes; private String oldProductCode; public ProductCodeValidator(List<String> codes, String oldProductCode){ this.productCodes = codes; this.oldProductCode = oldProductCode; } @Override public IStatus validate(Object value) { String s = String.valueOf(value); for(String p : productCodes){ if(p.equalsIgnoreCase(s) && !p.equalsIgnoreCase(oldProductCode)){ return ValidationStatus.error("Product code: " + s + " already exists!"); } } return ValidationStatus.ok(); } }