summaryrefslogtreecommitdiff
path: root/src/library/scala/xml/Molecule.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/scala/xml/Molecule.scala')
-rw-r--r--src/library/scala/xml/Molecule.scala39
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(""," ",""))
+
+}