View Javadoc

1   /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  
16  package org.kuali.student.core.ws.binding;
17  
18  import java.util.LinkedHashMap;
19  import java.util.Map;
20  
21  import javax.xml.bind.annotation.adapters.XmlAdapter;
22  
23  
24  /**
25   * This is jaxb adapter for org.kuali.rice.kim.bo.types.dto.AttributeSet. 
26   * This class should not be required if we add getter/setter in the rice DTO.
27   *
28   */
29  public class AttributeSetAdapter extends
30          XmlAdapter<JaxbAttributeList, Map<String, String>> {
31      public Map<String,String> unmarshal(JaxbAttributeList value) {
32          if(value == null) return null;
33          Map<String,String> result = new LinkedHashMap<String, String>();
34          for (JaxbAttribute a : value.getAttribute()) {
35              result.put(a.key, a.value);
36          }
37          return result;
38      }
39  
40      public JaxbAttributeList marshal(Map<String,String> value) {
41          if(value == null) return null;
42          JaxbAttributeList attributes = new JaxbAttributeList();
43          for (Map.Entry<String, String> e : value.entrySet()) {
44              attributes.getAttribute().add(
45                      new JaxbAttribute(e.getKey(), e.getValue()));
46          }
47          return attributes;
48      }
49  
50  }