Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*     */ 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 ownerQName qnameString 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
 */
New to GrepCode? Check out our FAQ X