File: PolicyMetaExtension.java

package info (click to toggle)
libjboss-web-services-java 0.0%2Bsvn5660%2Bdak2-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 7,276 kB
  • sloc: java: 79,207; xml: 29; makefile: 19; sh: 16
file content (54 lines) | stat: -rw-r--r-- 1,479 bytes parent folder | download | duplicates (3)
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
package org.jboss.ws.extensions.policy.metadata;


import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;

import org.apache.ws.policy.Policy;
import org.jboss.ws.extensions.policy.PolicyScopeLevel;
import org.jboss.ws.metadata.umdm.MetaDataExtension;

public class PolicyMetaExtension extends MetaDataExtension
{
   //Policies may be attached to a policy subject with different policy scopes
   private Map<PolicyScopeLevel,Collection<Policy>> policies = new HashMap<PolicyScopeLevel,Collection<Policy>>();
   
   public PolicyMetaExtension(String extensionNameSpace)
   {
      super(extensionNameSpace);
   }
   
   public void addPolicy(PolicyScopeLevel scope, Policy policy)
   {
      Collection<Policy> list;
      if (!policies.containsKey(scope))
      {
         list = new LinkedList<Policy>();
         policies.put(scope,list);
      }
      else
      {
         list = policies.get(scope);
      }
      list.add(policy);
   }
   
   public Collection<Policy> getPolicies(PolicyScopeLevel scope)
   {
      Collection<Policy> policyCollection = policies.get(scope);
      return policyCollection == null ? new LinkedList<Policy>() : policyCollection;
   }
   
   public Collection<Policy> getAllPolicies()
   {
      Collection<Policy> list = new LinkedList<Policy>();
      for (PolicyScopeLevel scope : policies.keySet())
      {
         list.addAll(policies.get(scope));
      }
      return list;
   }
   
}