1 /*
2 (C) Copyright IBM Corp. 2006, 2013
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 * 1686000 2007-04-20 ebak modifyInstance() missing from WBEMClient
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 * 2682 2013-10-02 blaschke-oss (I)MethodCallNode allows no LOCAL*PATH
22 * 2690 2013-10-11 blaschke-oss Remove RESPONSEDESTINATION support
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 org.xml.sax.SAXException;
48
49 /**
50 * ELEMENT METHODCALL ((LOCALINSTANCEPATH | LOCALCLASSPATH), PARAMVALUE*)
51 * ATTLIST METHODCALL %CIMName;
52 */
53 public class MethodCallNode extends AbstractMethodCallNode {
54
55 /**
56 * Ctor.
57 */
58 public MethodCallNode() {
59 super(METHODCALL);
60 }
61
62 @Override
63 protected void testSpecChild(String pNodeNameEnum) throws SAXException {
64 if (pNodeNameEnum == LOCALCLASSPATH || pNodeNameEnum == LOCALINSTANCEPATH) {
65 if (this.iPath != null) throw new SAXException(
66 getNodeName() + " node can have only one LOCALINSTANCEPATH or LOCALCLASSPATH child node!"
67 );
68 } else if (pNodeNameEnum != PARAMVALUE) throw new SAXException(
69 getNodeName() + " node cannot have " + pNodeNameEnum + " child node!"
70 );
71 }
72
73 @Override
74 public void testCompletness() throws SAXException {
75 if (this.iPath == null) throw new SAXException(
76 "METHODCALL node must have a LOCALINSTANCEPATH or LOCALCLASSPATH child node!"
77 );
78 }
79 }