diff options
Diffstat (limited to 'src/library/scala/xml/Molecule.scala')
-rw-r--r-- | src/library/scala/xml/Molecule.scala | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/library/scala/xml/Molecule.scala b/src/library/scala/xml/Molecule.scala new file mode 100644 index 0000000000..d2141d069b --- /dev/null +++ b/src/library/scala/xml/Molecule.scala @@ -0,0 +1,39 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2003-2004, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +** $Id$ +\* */ + +package scala.xml; + +/** an XML node for a list of data items. + * @author buraq + * @param list a list of data items, space separated + */ +class Molecule[+A]( val list: List[A] ) extends SpecialNode { + + final override def typeTag$:Int = -1; + + /** the constant "#PCDATA" + */ + def label = "#PCDATA"; + + final override def equals(x:Any) = x match { + case s:Molecule[A] => list == s.list ; + case _ => false; + } + + /** hashcode for this Text */ + override def hashCode() = + list.hashCode(); + + override def text = list.mkString(""," ",""); + + /** returns text, with some characters escaped according to XML spec */ + def toString(sb:StringBuffer) = + sb.append(list.mkString(""," ","")) + +} |