package org.geotools.po.bindings; import javax.xml.namespace.QName; import org.geotools.po.ObjectFactory; import org.geotools.xml.AbstractSimpleBinding; import org.geotools.xml.InstanceComponent; /** * Binding object for the type http://www.geotools.org/po:SKU. * * <p> * * <pre> * <code> * <xsd:simpleType name="SKU"> * <xsd:restriction base="xsd:string"> * <xsd:pattern value="\d{3}-[A-Z]{2}"/> * </xsd:restriction> * </xsd:simpleType> * * </code> * </pre> * * </p> * * @generated */ public class SKUBinding extends AbstractSimpleBinding { ObjectFactory factory; public SKUBinding(ObjectFactory factory) { super(); this.factory = factory; } /** * @generated */ public QName getTarget() { return PO.SKU; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated modifiable */ public Class getType() { return String.class; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated modifiable */ public Object parse(InstanceComponent instance, Object value) throws Exception { String sku = (String) value; if (!sku.matches("\\d{3}-[A-Z]{2}")) { throw new IllegalArgumentException("Illegal sku format: " + sku); } return sku; } }