1 /*
2 (C) Copyright IBM Corp. 2006, 2009
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 */
22
23 package org.metricshub.wbem.sblim.cimclient.internal.cimxml.sax.node;
24
25 /*-
26 * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲
27 * WBEM Java Client
28 * ჻჻჻჻჻჻
29 * Copyright 2023 - 2025 MetricsHub
30 * ჻჻჻჻჻჻
31 * Licensed under the Apache License, Version 2.0 (the "License");
32 * you may not use this file except in compliance with the License.
33 * You may obtain a copy of the License at
34 *
35 * http://www.apache.org/licenses/LICENSE-2.0
36 *
37 * Unless required by applicable law or agreed to in writing, software
38 * distributed under the License is distributed on an "AS IS" BASIS,
39 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
40 * See the License for the specific language governing permissions and
41 * limitations under the License.
42 * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱
43 */
44
45 import org.metricshub.wbem.javax.cim.CIMScope;
46 import org.metricshub.wbem.sblim.cimclient.internal.cimxml.sax.SAXSession;
47 import org.xml.sax.Attributes;
48 import org.xml.sax.SAXException;
49
50 /**
51 * <pre>
52 * ELEMENT SCOPE EMPTY
53 * ATTLIST SCOPE
54 * CLASS (true | false) "false"
55 * ASSOCIATION (true | false) "false"
56 * REFERENCE (true | false) "false"
57 * PROPERTY (true | false) "false"
58 * METHOD (true | false) "false"
59 * PARAMETER (true | false) "false"
60 * INDICATION (true | false) "false"
61 * </pre>
62 */
63 public class ScopeNode extends Node {
64 private int iScope;
65
66 /**
67 * Ctor.
68 */
69 public ScopeNode() {
70 super(SCOPE);
71 }
72
73 /**
74 * getScope
75 *
76 * @return int - set of CIMScope bits
77 */
78 public int getScope() {
79 return this.iScope;
80 }
81
82 /**
83 * @param pSession
84 */
85 @Override
86 public void init(Attributes pAttribs, SAXSession pSession) {
87 this.iScope = 0;
88 if (hasTrueAttribute(pAttribs, "CLASS")) this.iScope |= CIMScope.CLASS;
89 if (hasTrueAttribute(pAttribs, "ASSOCIATION")) this.iScope |= CIMScope.ASSOCIATION;
90 if (hasTrueAttribute(pAttribs, "REFERENCE")) this.iScope |= CIMScope.REFERENCE;
91 if (hasTrueAttribute(pAttribs, "PROPERTY")) this.iScope |= CIMScope.PROPERTY;
92 if (hasTrueAttribute(pAttribs, "METHOD")) this.iScope |= CIMScope.METHOD;
93 if (hasTrueAttribute(pAttribs, "PARAMETER")) this.iScope |= CIMScope.PARAMETER;
94 if (hasTrueAttribute(pAttribs, "INDICATION")) this.iScope |= CIMScope.INDICATION;
95 }
96
97 /**
98 * @param pData
99 */
100 @Override
101 public void parseData(String pData) {
102 // no data
103 }
104
105 /**
106 * @param pNodeNameEnum
107 */
108 @Override
109 public void testChild(String pNodeNameEnum) throws SAXException {
110 throw new SAXException("SCOPE node cannot have any child node!");
111 }
112
113 /**
114 * @param pChild
115 */
116 @Override
117 public void childParsed(Node pChild) {
118 // no child
119 }
120
121 @Override
122 public void testCompletness() {
123 // Nothing to test, since it doesn't have any child node.
124 }
125 }