Package org.jbpm.wire.binding

Source Code of org.jbpm.wire.binding.BasicTypeBinding

package org.jbpm.wire.binding;

import org.jbpm.wire.descriptor.AbstractDescriptor;
import org.jbpm.xml.Binding;
import org.jbpm.xml.Parse;
import org.jbpm.xml.Parser;
import org.jbpm.xml.XmlUtil;
import org.w3c.dom.Element;

public abstract class BasicTypeBinding implements Binding {
 
  public Object parse(Element element, Parse parse, Parser parser) {
    AbstractDescriptor descriptor = null;
   

    if (element.hasAttribute("value")) {
      try {
        String value = element.getAttribute("value");
        descriptor = createDescriptor(value);
      } catch (IllegalArgumentException e) {
        parse.addProblem(XmlUtil.getTagName(element)+" has invalid formatted value attribute: "+(e.getMessage()!=null ? e.getMessage()+": " : "")+XmlUtil.toString(element), e);
      }
    } else {
      parse.addProblem("attribute 'value' is required in element '"+XmlUtil.getTagName(element)+"': "+XmlUtil.toString(element));
    }
   
    return descriptor;
  }

  protected abstract AbstractDescriptor createDescriptor(String value);
}
TOP

Related Classes of org.jbpm.wire.binding.BasicTypeBinding

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.