XNull.java revision 628:2bfaf29cc90b
1/* 2 * reserved comment block 3 * DO NOT REMOVE OR ALTER! 4 */ 5/* 6 * Copyright 1999-2004 The Apache Software Foundation. 7 * 8 * Licensed under the Apache License, Version 2.0 (the "License"); 9 * you may not use this file except in compliance with the License. 10 * You may obtain a copy of the License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, software 15 * distributed under the License is distributed on an "AS IS" BASIS, 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 * See the License for the specific language governing permissions and 18 * limitations under the License. 19 */ 20/* 21 * $Id: XNull.java,v 1.2.4.1 2005/09/14 20:34:46 jeffsuttor Exp $ 22 */ 23package com.sun.org.apache.xpath.internal.objects; 24 25import com.sun.org.apache.xml.internal.dtm.DTM; 26import com.sun.org.apache.xpath.internal.XPathContext; 27 28/** 29 * This class represents an XPath null object, and is capable of 30 * converting the null to other types, such as a string. 31 * @xsl.usage general 32 */ 33public class XNull extends XNodeSet 34{ 35 static final long serialVersionUID = -6841683711458983005L; 36 37 /** 38 * Create an XObject. 39 */ 40 public XNull() 41 { 42 super(); 43 } 44 45 /** 46 * Tell what kind of class this is. 47 * 48 * @return type CLASS_NULL 49 */ 50 public int getType() 51 { 52 return CLASS_NULL; 53 } 54 55 /** 56 * Given a request type, return the equivalent string. 57 * For diagnostic purposes. 58 * 59 * @return type string "#CLASS_NULL" 60 */ 61 public String getTypeString() 62 { 63 return "#CLASS_NULL"; 64 } 65 66 /** 67 * Cast result object to a number. 68 * 69 * @return 0.0 70 */ 71 72 public double num() 73 { 74 return 0.0; 75 } 76 77 /** 78 * Cast result object to a boolean. 79 * 80 * @return false 81 */ 82 public boolean bool() 83 { 84 return false; 85 } 86 87 /** 88 * Cast result object to a string. 89 * 90 * @return empty string "" 91 */ 92 public String str() 93 { 94 return ""; 95 } 96 97 /** 98 * Cast result object to a result tree fragment. 99 * 100 * @param support XPath context to use for the conversion 101 * 102 * @return The object as a result tree fragment. 103 */ 104 public int rtf(XPathContext support) 105 { 106 // DTM frag = support.createDocumentFragment(); 107 // %REVIEW% 108 return DTM.NULL; 109 } 110 111// /** 112// * Cast result object to a nodelist. 113// * 114// * @return null 115// */ 116// public DTMIterator iter() 117// { 118// return null; 119// } 120 121 /** 122 * Tell if two objects are functionally equal. 123 * 124 * @param obj2 Object to compare this to 125 * 126 * @return True if the given object is of type CLASS_NULL 127 */ 128 public boolean equals(XObject obj2) 129 { 130 return obj2.getType() == CLASS_NULL; 131 } 132} 133