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 ConcurrentHashMap<ClassJAXBContext>
       jaxbContexts =
       new ConcurrentHashMap<ClassJAXBContext>(64);
   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) {
      return this;
    }

    
Sets the jaxb.noNamespaceSchemaLocation property of any Marshaller created by this factory.
      return this;
    }

    
Sets the jaxb.formatted.output property of any Marshaller created by this factory.
      return this;
    }

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

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