Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
- // Jad home page: http://www.kpdus.com/jad.html
- // Decompiler options: packimports(3) fieldsfirst nonlb
- // Source File Name: PolicyNodeImpl.java
- package sun.security.provider.certpath;
- import java.security.cert.PolicyNode;
- import java.util.*;
- final class PolicyNodeImpl
- implements PolicyNode {
- private static final String ANY_POLICY = "2.5.29.32.0";
- private PolicyNodeImpl mParent;
- private HashSet mChildren;
- private String mValidPolicy;
- private HashSet mQualifierSet;
- private boolean mCriticalityIndicator;
- private HashSet mExpectedPolicySet;
- private boolean mOriginalExpectedPolicySet;
- private int mDepth;
- private boolean isImmutable;
- PolicyNodeImpl(PolicyNodeImpl policynodeimpl, String s, Set set, boolean flag, Set set1, boolean flag1) {
- isImmutable = false;
- mParent = policynodeimpl;
- mChildren = new HashSet();
- if(s != null)
- mValidPolicy = s;
- else
- mValidPolicy = "";
- if(set != null)
- mQualifierSet = new HashSet(set);
- else
- mQualifierSet = new HashSet();
- mCriticalityIndicator = flag;
- if(set1 != null)
- mExpectedPolicySet = new HashSet(set1);
- else
- mExpectedPolicySet = new HashSet();
- mOriginalExpectedPolicySet = !flag1;
- if(mParent != null) {
- mDepth = mParent.getDepth() + 1;
- mParent.addChild(this);
- } else {
- mDepth = 0;
- }
- }
- PolicyNodeImpl(PolicyNodeImpl policynodeimpl, PolicyNodeImpl policynodeimpl1) {
- this(policynodeimpl, policynodeimpl1.mValidPolicy, ((Set) (policynodeimpl1.mQualifierSet)), policynodeimpl1.mCriticalityIndicator, ((Set) (policynodeimpl1.mExpectedPolicySet)), false);
- }
- public PolicyNode getParent() {
- return mParent;
- }
- public Iterator getChildren() {
- return Collections.unmodifiableSet(mChildren).iterator();
- }
- public int getDepth() {
- return mDepth;
- }
- public String getValidPolicy() {
- return mValidPolicy;
- }
- public Set getPolicyQualifiers() {
- return Collections.unmodifiableSet(mQualifierSet);
- }
- public Set getExpectedPolicies() {
- return Collections.unmodifiableSet(mExpectedPolicySet);
- }
- public boolean isCritical() {
- return mCriticalityIndicator;
- }
- public String toString() {
- StringBuffer stringbuffer = new StringBuffer(asString());
- for(Iterator iterator = getChildren(); iterator.hasNext(); stringbuffer.append((PolicyNodeImpl)iterator.next()));
- return stringbuffer.toString();
- }
- boolean isImmutable() {
- return isImmutable;
- }
- void setImmutable() {
- if(isImmutable)
- return;
- PolicyNodeImpl policynodeimpl;
- for(Iterator iterator = mChildren.iterator(); iterator.hasNext(); policynodeimpl.setImmutable())
- policynodeimpl = (PolicyNodeImpl)iterator.next();
- isImmutable = true;
- }
- private void addChild(PolicyNodeImpl policynodeimpl) {
- if(isImmutable) {
- throw new IllegalStateException("PolicyNode is immutable");
- } else {
- mChildren.add(policynodeimpl);
- return;
- }
- }
- void addExpectedPolicy(String s) {
- if(isImmutable)
- throw new IllegalStateException("PolicyNode is immutable");
- if(mOriginalExpectedPolicySet) {
- mExpectedPolicySet.clear();
- mOriginalExpectedPolicySet = false;
- }
- mExpectedPolicySet.add(s);
- }
- void prune(int i) {
- if(isImmutable)
- throw new IllegalStateException("PolicyNode is immutable");
- if(mChildren.size() == 0)
- return;
- Iterator iterator = mChildren.iterator();
- do {
- if(!iterator.hasNext())
- break;
- PolicyNodeImpl policynodeimpl = (PolicyNodeImpl)iterator.next();
- policynodeimpl.prune(i);
- if(policynodeimpl.mChildren.size() == 0 && i > mDepth + 1)
- iterator.remove();
- } while(true);
- }
- void deleteChild(PolicyNode policynode) {
- if(isImmutable) {
- throw new IllegalStateException("PolicyNode is immutable");
- } else {
- mChildren.remove(policynode);
- return;
- }
- }
- PolicyNodeImpl copyTree() {
- return copyTree(null);
- }
- private PolicyNodeImpl copyTree(PolicyNodeImpl policynodeimpl) {
- PolicyNodeImpl policynodeimpl1 = new PolicyNodeImpl(policynodeimpl, this);
- PolicyNodeImpl policynodeimpl2;
- for(Iterator iterator = mChildren.iterator(); iterator.hasNext(); policynodeimpl2.copyTree(policynodeimpl1))
- policynodeimpl2 = (PolicyNodeImpl)iterator.next();
- return policynodeimpl1;
- }
- Set getPolicyNodes(int i) {
- HashSet hashset = new HashSet();
- getPolicyNodes(i, ((Set) (hashset)));
- return hashset;
- }
- private void getPolicyNodes(int i, Set set) {
- if(mDepth == i) {
- set.add(this);
- } else {
- PolicyNodeImpl policynodeimpl;
- for(Iterator iterator = mChildren.iterator(); iterator.hasNext(); policynodeimpl.getPolicyNodes(i, set))
- policynodeimpl = (PolicyNodeImpl)iterator.next();
- }
- }
- Set getPolicyNodesExpected(int i, String s, boolean flag) {
- if(s.equals("2.5.29.32.0"))
- return getPolicyNodes(i);
- else
- return getPolicyNodesExpectedHelper(i, s, flag);
- }
- private Set getPolicyNodesExpectedHelper(int i, String s, boolean flag) {
- HashSet hashset = new HashSet();
- if(mDepth < i) {
- PolicyNodeImpl policynodeimpl;
- for(Iterator iterator = mChildren.iterator(); iterator.hasNext(); hashset.addAll(policynodeimpl.getPolicyNodesExpectedHelper(i, s, flag)))
- policynodeimpl = (PolicyNodeImpl)iterator.next();
- } else
- if(flag) {
- if(mExpectedPolicySet.contains("2.5.29.32.0"))
- hashset.add(this);
- } else
- if(mExpectedPolicySet.contains(s))
- hashset.add(this);
- return hashset;
- }
- Set getPolicyNodesValid(int i, String s) {
- HashSet hashset = new HashSet();
- if(mDepth < i) {
- PolicyNodeImpl policynodeimpl;
- for(Iterator iterator = mChildren.iterator(); iterator.hasNext(); hashset.addAll(policynodeimpl.getPolicyNodesValid(i, s)))
- policynodeimpl = (PolicyNodeImpl)iterator.next();
- } else
- if(mValidPolicy.equals(s))
- hashset.add(this);
- return hashset;
- }
- private static String policyToString(String s) {
- if(s.equals("2.5.29.32.0"))
- return "anyPolicy";
- else
- return s;
- }
- String asString() {
- if(mParent == null)
- return "anyPolicy ROOT\n";
- StringBuffer stringbuffer = new StringBuffer();
- int i = 0;
- for(int j = getDepth(); i < j; i++)
- stringbuffer.append(" ");
- stringbuffer.append(policyToString(getValidPolicy()));
- stringbuffer.append(" CRIT: ");
- stringbuffer.append(isCritical());
- stringbuffer.append(" EP: ");
- for(Iterator iterator = getExpectedPolicies().iterator(); iterator.hasNext(); stringbuffer.append(" ")) {
- String s = (String)iterator.next();
- stringbuffer.append(policyToString(s));
- }
- stringbuffer.append(" (");
- stringbuffer.append(getDepth());
- stringbuffer.append(")\n");
- return stringbuffer.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement