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 * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly 23 */ 24 25 package org.metricshub.wbem.sblim.cimclient.internal.cimxml.sax.node; 26 27 /*- 28 * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲ 29 * WBEM Java Client 30 * ჻჻჻჻჻჻ 31 * Copyright 2023 - 2025 MetricsHub 32 * ჻჻჻჻჻჻ 33 * Licensed under the Apache License, Version 2.0 (the "License"); 34 * you may not use this file except in compliance with the License. 35 * You may obtain a copy of the License at 36 * 37 * http://www.apache.org/licenses/LICENSE-2.0 38 * 39 * Unless required by applicable law or agreed to in writing, software 40 * distributed under the License is distributed on an "AS IS" BASIS, 41 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 42 * See the License for the specific language governing permissions and 43 * limitations under the License. 44 * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱ 45 */ 46 47 import java.util.ArrayList; 48 import org.metricshub.wbem.sblim.cimclient.internal.cimxml.sax.SAXSession; 49 import org.xml.sax.Attributes; 50 import org.xml.sax.SAXException; 51 52 /** 53 * <pre> 54 * ELEMENT EXPMETHODCALL (EXPPARAMVALUE*) 55 * ATTLIST EXPMETHODCALL 56 * %CIMName; 57 * </pre> 58 */ 59 /** 60 * Class ExpMethodCallNode is responsible for 61 * 62 */ 63 public class ExpMethodCallNode extends Node implements NonVolatileIf { 64 private String iName; 65 66 private ArrayList<Node> iExpParamValNodeAList; 67 68 /** 69 * Ctor. 70 */ 71 public ExpMethodCallNode() { 72 super(EXPMETHODCALL); 73 } 74 75 public void addChild(Node pChild) { 76 if (this.iExpParamValNodeAList == null) this.iExpParamValNodeAList = new ArrayList<Node>(); 77 this.iExpParamValNodeAList.add(pChild); 78 } 79 80 /** 81 * @param pSession 82 */ 83 @Override 84 public void init(Attributes pAttribs, SAXSession pSession) throws SAXException { 85 this.iName = getCIMName(pAttribs); 86 if (this.iExpParamValNodeAList != null) this.iExpParamValNodeAList.clear(); 87 } 88 89 /** 90 * @param pData 91 */ 92 @Override 93 public void parseData(String pData) { 94 // no data 95 } 96 97 @Override 98 public void testChild(String pNodeNameEnum) throws SAXException { 99 if (pNodeNameEnum != EXPPARAMVALUE) throw new SAXException( 100 getNodeName() + " node can have " + EXPPARAMVALUE + " child only! " + pNodeNameEnum + " is invalid!" 101 ); 102 } 103 104 /** 105 * @param pChild 106 */ 107 @Override 108 public void childParsed(Node pChild) { 109 // nothing to do yet 110 111 } 112 113 @Override 114 public void testCompletness() { 115 // no mandatory child 116 } 117 118 /** 119 * getName 120 * 121 * @return String 122 */ 123 public String getName() { 124 return this.iName; 125 } 126 }