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;
}
}