001 /* 002 * Copyright 2007 - 2007 JEuclid, http://jeuclid.sf.net 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.w3c.dom.mathml; 017 018 import org.w3c.dom.DOMException; 019 020 /* 021 * Please note: This file was automatically generated from the source of the 022 * MathML specification. Do not edit it. If there are errors or missing 023 * elements, please correct the stylesheet instead. 024 */ 025 026 /** 027 * The piecewise element represents the piecewise definition of a function. It 028 * contains child piece elements, each represented by a MathMLCaseElement, 029 * giving the various conditions and associated function value specifications 030 * in the function definition, and an optional otherwise child element, 031 * represented by a MathMLContentElement, giving the default value of the 032 * function - that is, the value to be assigned when none of the conditions 033 * specified in the piece child elements hold. 034 * 035 */ 036 public interface MathMLPiecewiseElement extends MathMLContentElement { 037 /** 038 * A MathMLNodeList containing one MathMLCaseElement representing each of 039 * the piece element children of this MathMLPiecewiseElement. The 040 * otherwise child (if present) is not contained in this MathMLNodeList. 041 * 042 * @return value of the pieces attribute. 043 */ 044 MathMLNodeList getPieces(); 045 046 /** 047 * Returns a MathMLContentElement representing the value to be taken by 048 * the piecewise function when none of the conditions described in the 049 * piece children is true. 050 * 051 * @return value of the otherwise attribute. 052 */ 053 MathMLContentElement getOtherwise(); 054 055 /** 056 * setter for the otherwise attribute. 057 * 058 * @param otherwise 059 * new value for otherwise. 060 * @see #getOtherwise() 061 */ 062 void setOtherwise(MathMLContentElement otherwise); 063 064 /** 065 * A convenience method to retrieve the child piece at the position 066 * referenced by index. 067 * 068 * @param index 069 * Position of desired case in the list of cases. The first 070 * piece is numbered 1; the otherwise child (if present) is not 071 * counted, regardless of its position. If index is greater 072 * than the number of pieces, a null MathMLCaseElement is 073 * returned; no error is generated. 074 * @return The MathMLCaseElement retrieved. 075 */ 076 MathMLCaseElement getCase(int index); 077 078 /** 079 * A convenience method to set the value of the child piece at the 080 * position referenced by index to the value of case. 081 * 082 * @param index 083 * Position of the piece to be set to case. The first piece is 084 * numbered 1; the otherwise child (if present) is not counted, 085 * regardless of its position. If there is currently a piece at 086 * this position, it will be replaced by case. If index is one 087 * more than the number of piece child elements, a new one will 088 * be appended. 089 * @param case 090 * A MathMLCaseElement representing the new value of the 091 * indexth piece child. 092 * @return The new MathMLCaseElement created. 093 * @throws DOMException 094 * INDEX_SIZE_ERR: Raised if index is greater than one more 095 * than the number of pieces in this element. 096 */ 097 MathMLCaseElement setCase(int index, MathMLCaseElement caseElement) 098 throws DOMException; 099 100 /** 101 * A convenience method to delete the child piece at the position 102 * referenced by index. The deletion changes the indices of the following 103 * pieces. 104 * 105 * @param index 106 * Position of the piece to be deleted. The first piece is 107 * numbered 1; the otherwise child (if present) is not counted, 108 * regardless of its position. 109 * @throws DOMException 110 * INDEX_SIZE_ERR: Raised if index is greater than the number 111 * of pieces in this element. 112 */ 113 void deleteCase(int index) throws DOMException; 114 115 /** 116 * A convenience method to remove the child piece at the position 117 * referenced by index and return it to the caller. The removal changes 118 * the indices of the following pieces. 119 * 120 * @param index 121 * Position of the piece to be removed. The first piece is 122 * numbered 1; the otherwise child (if present) is not counted, 123 * regardless of its position. 124 * @return The MathMLCaseElement removed. 125 * @throws DOMException 126 * INDEX_SIZE_ERR: Raised if index is greater than the number 127 * of pieces in this element. 128 */ 129 MathMLCaseElement removeCase(int index) throws DOMException; 130 131 /** 132 * A convenience method to insert a new piece child into this element. 133 * 134 * @param index 135 * Position before which case is to be inserted. If index is 0, 136 * newCase is appended as the last piece child of this element. 137 * The otherwise child (if present) is not counted, regardless 138 * of its position. 139 * @param newCase 140 * A MathMLCaseElement representing the piece to be inserted. 141 * @return The new MathMLCaseElement inserted. This is the actual Element 142 * in the DOM. 143 * @throws DOMException 144 * INDEX_SIZE_ERR: Raised if index is greater one more than 145 * the number of pieces in this element. 146 */ 147 MathMLCaseElement insertCase(int index, MathMLCaseElement newCase) 148 throws DOMException; 149 150 /** 151 * A convenience method to retrieve the child of the indexth piece in this 152 * element which specifies the function value for that case. 153 * 154 * @param index 155 * Position of the piece whose value is being requested in the 156 * list of pieces. The first piece is numbered 1; the otherwise 157 * child (if present) is not counted, regardless of its 158 * position. 159 * @return The MathMLContentElement representing the value to be taken by 160 * the function in the indexth case. 161 * @throws DOMException 162 * INDEX_SIZE_ERR: Raised if index is greater than the number 163 * of pieces in this element. 164 */ 165 MathMLContentElement getCaseValue(int index) throws DOMException; 166 167 /** 168 * A convenience method to set the function value for the indexth piece in 169 * this element. 170 * 171 * @param index 172 * Position of the piece whose value is being set in the list 173 * of pieces. The first piece is numbered 1; the otherwise 174 * child (if present) is not counted, regardless of its 175 * position. 176 * @param value 177 * A MathMLContentElement representing the function value to be 178 * assigned in the indexth case. 179 * @return The MathMLContentElement representing the value to be taken by 180 * the function in the indexth case. 181 * @throws DOMException 182 * INDEX_SIZE_ERR: Raised if index is greater than the number 183 * of pieces in this element. 184 */ 185 MathMLContentElement setCaseValue(int index, MathMLContentElement value) 186 throws DOMException; 187 188 /** 189 * A convenience method to retrieve the child of the piece at the position 190 * referenced by index which gives the condition for this case. 191 * 192 * @param index 193 * Position of the piece whose condition is being requested in 194 * the list of pieces. The first piece is numbered 1; the 195 * otherwise child (if present) is not counted, regardless of 196 * its position. 197 * @return The MathMLContentElement representing the condition to be 198 * satisfied for the indexth case. 199 * @throws DOMException 200 * INDEX_SIZE_ERR: Raised if index is greater than the number 201 * of pieces in this element. 202 */ 203 MathMLContentElement getCaseCondition(int index) throws DOMException; 204 205 /** 206 * A convenience method to set the condition for the indexth piece in this 207 * element. 208 * 209 * @param index 210 * Position of the piece whose condition is being set in the 211 * list of pieces. The first piece is numbered 1; the otherwise 212 * child (if present) is not counted, regardless of its 213 * position. 214 * @param condition 215 * A MathMLContentElement representing the condition to be 216 * associated to the indexth case. 217 * @return The MathMLContentElement which is inserted as the condition 218 * child of the indexth piece. 219 * @throws DOMException 220 * INDEX_SIZE_ERR: Raised if index is greater than the number 221 * of pieces in this element. 222 */ 223 MathMLContentElement setCaseCondition(int index, 224 MathMLContentElement condition) throws DOMException; 225 };