Package org.dom4j.datatype

Source Code of org.dom4j.datatype.DatatypeElementFactory

/*     */ package org.dom4j.datatype;
/*     */
/*     */ import com.sun.msv.datatype.xsd.XSDatatype;
/*     */ import java.util.HashMap;
/*     */ import java.util.Map;
/*     */ import org.dom4j.Attribute;
/*     */ import org.dom4j.DocumentFactory;
/*     */ import org.dom4j.Element;
/*     */ import org.dom4j.QName;
/*     */
/*     */ public class DatatypeElementFactory extends DocumentFactory
/*     */ {
/*     */   private QName elementQName;
/*  37 */   private Map attributeXSDatatypes = new HashMap();
/*     */
/*  43 */   private Map childrenXSDatatypes = new HashMap();
/*     */
/*     */   public DatatypeElementFactory(QName elementQName) {
/*  46 */     this.elementQName = elementQName;
/*     */   }
/*     */
/*     */   public QName getQName()
/*     */   {
/*  55 */     return this.elementQName;
/*     */   }
/*     */
/*     */   public XSDatatype getAttributeXSDatatype(QName attributeQName)
/*     */   {
/*  68 */     return (XSDatatype)this.attributeXSDatatypes.get(attributeQName);
/*     */   }
/*     */
/*     */   public void setAttributeXSDatatype(QName attributeQName, XSDatatype type)
/*     */   {
/*  81 */     this.attributeXSDatatypes.put(attributeQName, type);
/*     */   }
/*     */
/*     */   public XSDatatype getChildElementXSDatatype(QName qname)
/*     */   {
/*  94 */     return (XSDatatype)this.childrenXSDatatypes.get(qname);
/*     */   }
/*     */
/*     */   public void setChildElementXSDatatype(QName qname, XSDatatype dataType) {
/*  98 */     this.childrenXSDatatypes.put(qname, dataType);
/*     */   }
/*     */
/*     */   public Element createElement(QName qname)
/*     */   {
/* 106 */     XSDatatype dataType = getChildElementXSDatatype(qname);
/*     */
/* 108 */     if (dataType != null) {
/* 109 */       return new DatatypeElement(qname, dataType);
/*     */     }
/*     */
/* 112 */     DocumentFactory factory = qname.getDocumentFactory();
/*     */
/* 114 */     if ((factory instanceof DatatypeElementFactory)) {
/* 115 */       DatatypeElementFactory dtFactory = (DatatypeElementFactory)factory;
/* 116 */       dataType = dtFactory.getChildElementXSDatatype(qname);
/*     */
/* 118 */       if (dataType != null) {
/* 119 */         return new DatatypeElement(qname, dataType);
/*     */       }
/*     */     }
/*     */
/* 123 */     return super.createElement(qname);
/*     */   }
/*     */
/*     */   public Attribute createAttribute(Element owner, QName qname, String value) {
/* 127 */     XSDatatype dataType = getAttributeXSDatatype(qname);
/*     */
/* 129 */     if (dataType == null) {
/* 130 */       return super.createAttribute(owner, qname, value);
/*     */     }
/* 132 */     return new DatatypeAttribute(qname, dataType, value);
/*     */   }
/*     */ }

/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/thirdparty-all.jar
* Qualified Name:     org.dom4j.datatype.DatatypeElementFactory
* JD-Core Version:    0.6.0
*/
TOP

Related Classes of org.dom4j.datatype.DatatypeElementFactory

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.