Java XML JAXB Context getJaxbContext(Class valueType)

Here you can find the source of getJaxbContext(Class valueType)

Description

get Jaxb Context

License

Apache License

Declaration

private static JAXBContext getJaxbContext(Class<?> valueType) throws JAXBException 

Method Source Code

//package com.java2s;
/*/* ww  w.j a  va2 s . com*/
 * Copyright 2015 the original author or authors.
 *
 * 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.
 */

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;

public class Main {
    private static final Map<java.lang.reflect.AnnotatedElement, JAXBContext> JAXB_CONTEXTS = new ConcurrentHashMap<>();

    private static JAXBContext getJaxbContext(Class<?> valueType) throws JAXBException {
        JAXBContext jaxbContext = JAXB_CONTEXTS.get(valueType.getPackage());
        if (jaxbContext == null) {
            jaxbContext = JAXB_CONTEXTS.get(valueType);
        }
        if (jaxbContext == null) {
            try {
                jaxbContext = JAXBContext.newInstance(valueType.getPackage().getName());
            } catch (JAXBException e) {
                jaxbContext = JAXBContext.newInstance(valueType);
                JAXB_CONTEXTS.put(valueType, jaxbContext);
            }
        }
        return jaxbContext;
    }
}

Related

  1. getJAXBContext(Class clazz)
  2. getJAXBContext(Class clazz)
  3. getJaxbContext(Class clazz)
  4. getJAXBContext(Class clazz)
  5. getJAXBContext(Class objclass)
  6. getJaxbContext(String contextPath)
  7. getJAXBContext(String contextPath)
  8. getJAXBContext(String namespaces)
  9. getJAXBContext(String packagePrefix)