1 19 20 package org.openharmonise.dav.server.property.ranges; 21 22 import org.openharmonise.commons.dsi.*; 23 import org.openharmonise.commons.xml.namespace.*; 24 import org.openharmonise.rm.resources.metadata.properties.ranges.*; 25 import org.w3c.dom.*; 26 27 import com.ibm.webdav.*; 28 29 37 abstract public class DAVRange { 38 39 40 public static final String TYPE_STRING = 41 NamespaceType.XML_SCHEMA.getPrefix() + ":string"; 42 public static final String TYPE_DATE = 43 NamespaceType.XML_SCHEMA.getPrefix() + ":date"; 44 public static final String TYPE_DATETIME = 45 NamespaceType.XML_SCHEMA.getPrefix() + ":dateTime"; 46 public static final String TYPE_INTEGER = 47 NamespaceType.XML_SCHEMA.getPrefix() + ":integer"; 48 public static final String TYPE_FLOAT = 49 NamespaceType.XML_SCHEMA.getPrefix() + ":float"; 50 public static final String TYPE_BOOLEAN = 51 NamespaceType.XML_SCHEMA.getPrefix() + ":boolean"; 52 public static final String TYPE_URI = 53 NamespaceType.XML_SCHEMA.getPrefix() + ":anyURI"; 54 55 protected AbstractDataStoreInterface m_dsi = null; 56 public static final String TAG_RANGE = "range"; 57 public static final String TAG_VALUE = "value"; 58 public static final String TAG_MINLENGTH = "minLength"; 59 public static final String TAG_MAXLENGTH = "maxLength"; 60 public static final String TAG_MININCLUSIVE = "minInclusive"; 61 public static final String TAG_MAXINCLUSIVE = "maxInclusive"; 62 public static final String TAG_MINEXCLUSIVE = "minExclusive"; 63 public static final String TAG_MAXEXCLUSIVE = "maxExclusive"; 64 public static final String TAG_RESTRICTION = "restriction"; 65 public static final String TAG_LABELS = "labels"; 66 public static final String ATTRIB_PREFIXED_BASE = 67 NamespaceType.XML_SCHEMA.getPrefix() + ":base"; 68 69 protected Range m_range = null; 70 71 74 public DAVRange(AbstractDataStoreInterface dsi) { 75 m_dsi = dsi; 76 } 77 78 82 public DAVRange(AbstractDataStoreInterface dsi, Range range) { 83 m_range = range; 84 m_dsi = dsi; 85 } 86 87 88 93 public DAVRange(AbstractDataStoreInterface dsi, Range range, Element davPropEl) throws WebDAVException { 94 95 m_range = range; 96 m_dsi = dsi; 97 populate(davPropEl); 98 } 99 100 107 public Element asXML(Document doc) throws WebDAVException { 108 Element rangeEl = 109 doc.createElementNS(NamespaceType.DAV.getURI(), TAG_RANGE); 110 rangeEl.setPrefix(NamespaceType.DAV.getPrefix()); 111 112 addRangeDetails(rangeEl, m_range, doc); 113 114 return rangeEl; 115 116 } 117 118 129 abstract protected void addRangeDetails(Element rangeEl, Range range, Document doc) throws WebDAVException ; 130 131 132 137 public Range getHarmoniseRange() { 138 return m_range; 139 } 140 141 147 abstract public void populate(Element propEl) throws WebDAVException; 148 149 } 150 | Popular Tags |