CompoundAssertion.java
2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
* Decompiled with CFR 0_118.
*/
package com.adobe.xfa.wspolicy;
import com.adobe.xfa.Document;
import com.adobe.xfa.Element;
import com.adobe.xfa.Node;
import com.adobe.xfa.wspolicy.Policy;
import com.adobe.xfa.wspolicy.PrimitiveAssertion;
public class CompoundAssertion
extends Policy {
CompoundAssertion(Document oDestDoc, Element oSrcNode, int eType) {
super(oDestDoc, oSrcNode);
this.setAssertionType(eType);
for (Node oChild = oSrcNode.getFirstXMLChild(); oChild != null; oChild = oChild.getNextXMLSibling()) {
Policy poChildPolicy;
if (!(oChild instanceof Element) || (poChildPolicy = Policy.loadPolicy(oDestDoc, (Element)oChild)) == null) continue;
this.addPolicy(poChildPolicy);
}
}
CompoundAssertion(Document oDestDoc, String aNameSpaceURI, String aLocalName) {
super(oDestDoc, aNameSpaceURI, aLocalName);
if (aLocalName == "Policy" || aLocalName == "All") {
this.setAssertionType(1);
} else if (aLocalName == "ExactlyOne") {
this.setAssertionType(2);
}
}
public PrimitiveAssertion getPrimitiveAssertion(String aNameSpaceURI, String aLocalName, int nOccurrence) {
int nIndex = 0;
for (Policy poChild = this.getFirstPolicyChild(); poChild != null; poChild = poChild.getNextPolicySibling()) {
assert (poChild instanceof PrimitiveAssertion);
if (poChild.getNS() != aNameSpaceURI || poChild.getLocalName() != aLocalName) continue;
if (nIndex == nOccurrence) {
return (PrimitiveAssertion)poChild;
}
++nIndex;
}
return null;
}
public PrimitiveAssertion addPrimitiveAssertion(String aNameSpaceURI, String aLocalName) {
Document oDestDoc = this.getDomNode().getOwnerDocument();
PrimitiveAssertion poPrimitive = new PrimitiveAssertion(oDestDoc, aNameSpaceURI, aLocalName);
this.addPolicy(poPrimitive);
return poPrimitive;
}
public CompoundAssertion addChoicePolicy() {
Document oDestDoc = this.getDomNode().getOwnerDocument();
CompoundAssertion poChoice = new CompoundAssertion(oDestDoc, "http://schemas.xmlsoap.org/ws/2004/09/policy", "ExactlyOne");
this.addPolicy(poChoice);
return poChoice;
}
}