1 /* 2 (C) Copyright IBM Corp. 2006, 2012 3 4 THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE 5 ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE 6 CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. 7 8 You can obtain a current copy of the Eclipse Public License from 9 http://www.opensource.org/licenses/eclipse-1.0.php 10 11 @author : Endre Bak, ebak@de.ibm.com 12 * 13 * Flag Date Prog Description 14 * ------------------------------------------------------------------------------- 15 * 1565892 2006-12-04 ebak Make SBLIM client JSR48 compliant 16 * 1663270 2007-02-19 ebak Minor performance problems 17 * 1660756 2007-02-22 ebak Embedded object support 18 * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser 19 * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL 20 * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) 21 * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) 22 * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors 23 * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly 24 */ 25 26 package org.metricshub.wbem.sblim.cimclient.internal.cimxml.sax.node; 27 28 /*- 29 * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲ 30 * WBEM Java Client 31 * ჻჻჻჻჻჻ 32 * Copyright 2023 - 2025 MetricsHub 33 * ჻჻჻჻჻჻ 34 * Licensed under the Apache License, Version 2.0 (the "License"); 35 * you may not use this file except in compliance with the License. 36 * You may obtain a copy of the License at 37 * 38 * http://www.apache.org/licenses/LICENSE-2.0 39 * 40 * Unless required by applicable law or agreed to in writing, software 41 * distributed under the License is distributed on an "AS IS" BASIS, 42 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 43 * See the License for the specific language governing permissions and 44 * limitations under the License. 45 * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱ 46 */ 47 48 import java.util.ArrayList; 49 import org.metricshub.wbem.sblim.cimclient.internal.cimxml.sax.SAXSession; 50 import org.xml.sax.Attributes; 51 import org.xml.sax.SAXException; 52 53 /** 54 * ELEMENT MULTIEXPRSP (SIMPLEEXPRSP, SIMPLEEXPRSP+) 55 */ 56 public class MultiExpRspNode extends AbstractMessageNode { 57 private ArrayList<Node> iSimpleExpRspAList; 58 59 /** 60 * Ctor. 61 */ 62 public MultiExpRspNode() { 63 super(MULTIEXPRSP); 64 } 65 66 public void addChild(Node pChild) { 67 if (this.iSimpleExpRspAList == null) this.iSimpleExpRspAList = new ArrayList<Node>(); 68 this.iSimpleExpRspAList.add(pChild); 69 } 70 71 /** 72 * @param pAttribs 73 * @param pSession 74 */ 75 @Override 76 public void init(Attributes pAttribs, SAXSession pSession) { 77 if (this.iSimpleExpRspAList != null) this.iSimpleExpRspAList.clear(); 78 // no attributes 79 } 80 81 /** 82 * @param pData 83 */ 84 @Override 85 public void parseData(String pData) { 86 // no data 87 } 88 89 @Override 90 public void testChild(String pNodeNameEnum) throws SAXException { 91 if (pNodeNameEnum != SIMPLEEXPRSP) throw new SAXException( 92 getNodeName() + " node can have SIMPLEEXPRSP child node only! " + pNodeNameEnum + " child node is invalid!" 93 ); 94 } 95 96 @Override 97 public void testCompletness() throws SAXException { 98 if (this.iSimpleExpRspAList == null || this.iSimpleExpRspAList.size() < 2) throw new SAXException( 99 getNodeName() + " node must have at least two SIMPLEEXPRSP child nodes!" 100 ); 101 } 102 }