blob: 0bbf65f9799bbe165554f68dfd776b88cefe9044 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2003-2006, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
\* */
// $Id$
package scala.xml;
import compat.StringBuilder;
/** an XML node for text (PCDATA). Used in both non-bound and bound XML
* representations
* @author Burak Emir
* @param text the text contained in this node, may not be null.
*/
[serializable]
class Atom[+A]( val data: A ) extends SpecialNode {
data match {
case null => new IllegalArgumentException("cannot construct Atom(null)")
case _ =>
}
final override def typeTag$:Int = -1;
/** the constant "#PCDATA"
*/
def label = "#PCDATA";
override def equals(x:Any) = x match {
case s:Atom[_] => data == s.data
case _ => false;
}
/** hashcode for this Text */
override def hashCode() =
data.hashCode();
/** returns text, with some characters escaped according to XML spec */
def toString(sb: StringBuilder) =
Utility.escape( data.toString(), sb );
override def text: String = data.toString();
}
|