Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2014 Netflix, Inc.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package feign.jaxb;
 
 import java.util.Map;
Creates and caches JAXB contexts as well as creates Marshallers and Unmarshallers for each context.
 
 public final class JAXBContextFactory {
     private final Map<StringObjectproperties;
 
     private JAXBContextFactory(Map<StringObjectproperties) {
         this. = properties;
     }

    
Creates a new javax.xml.bind.Unmarshaller that handles the supplied class.
 
     public Unmarshaller createUnmarshaller(Class<?> clazzthrows JAXBException {
         JAXBContext ctx = getContext(clazz);
         return ctx.createUnmarshaller();
     }

    
Creates a new javax.xml.bind.Marshaller that handles the supplied class.
 
     public Marshaller createMarshaller(Class<?> clazzthrows JAXBException {
         JAXBContext ctx = getContext(clazz);
         Marshaller marshaller = ctx.createMarshaller();
         setMarshallerProperties(marshaller);
         return marshaller;
     }
 
     private void setMarshallerProperties(Marshaller marshallerthrows PropertyException {
         Iterator<Stringkeys = .keySet().iterator();
 
         while(keys.hasNext()) {
             String key = keys.next();
             marshaller.setProperty(key.get(key));
         }
     }
 
     private JAXBContext getContext(Class<?> clazzthrows JAXBException {
         JAXBContext jaxbContext = this..get(clazz);
         if (jaxbContext == null) {
             jaxbContext = JAXBContext.newInstance(clazz);
             this..putIfAbsent(clazzjaxbContext);
         }
         return jaxbContext;
     }

    
Creates instances of JAXBContextFactory
 
     public static class Builder {
         private final Map<StringObjectproperties = new HashMap<StringObject>(5);

        
Sets the jaxb.encoding property of any Marshaller created by this factory.
 
         public Builder withMarshallerJAXBEncoding(String value) {
             .put(.value);
             return this;
         }

        
Sets the jaxb.schemaLocation property of any Marshaller created by this factory.
 
         public Builder withMarshallerSchemaLocation(String value) {
             .put(.value);
             return this;
         }

        
Sets the jaxb.noNamespaceSchemaLocation property of any Marshaller created by this factory.
 
        public Builder withMarshallerNoNamespaceSchemaLocation(String value) {
            return this;
        }

        
Sets the jaxb.formatted.output property of any Marshaller created by this factory.
        public Builder withMarshallerFormattedOutput(Boolean value) {
            .put(.value);
            return this;
        }

        
Sets the jaxb.fragment property of any Marshaller created by this factory.
        public Builder withMarshallerFragment(Boolean value) {
            .put(.value);
            return this;
        }

        
Creates a new JAXBContextFactory instance.
        public JAXBContextFactory build() {
            return new JAXBContextFactory();
        }
    }
New to GrepCode? Check out our FAQ X