Java XML JAXB Marshaller isSunJAXB2Marshaller(@Nullable final Marshaller aMarshaller)

Here you can find the source of isSunJAXB2Marshaller(@Nullable final Marshaller aMarshaller)

Description

Check if the passed Marshaller is a Sun JAXB v2 marshaller.

License

Apache License

Parameter

Parameter Description
aMarshaller The marshaller to be checked. May be <code>null</code>.

Return

true if the passed marshaller is not null and is of the Sun class.

Declaration

public static boolean isSunJAXB2Marshaller(@Nullable final Marshaller aMarshaller) 

Method Source Code

//package com.java2s;
/**//from   w w  w  .j  a v  a2s .  co m
 * Copyright (C) 2014-2017 Philip Helger (www.helger.com)
 * philip[at]helger[dot]com
 *
 * 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 javax.annotation.Nullable;

import javax.xml.bind.Marshaller;

public class Main {
    private static final String JAXB_EXTERNAL_CLASS_NAME = "com.sun.xml.bind.v2.runtime.MarshallerImpl";
    private static final String JAXB_INTERNAL_CLASS_NAME = "com.sun.xml.internal.bind.v2.runtime.MarshallerImpl";

    /**
     * Check if the passed Marshaller is a Sun JAXB v2 marshaller. Use this method
     * to determined, whether the Sun specific methods may be invoked or not.
     *
     * @param aMarshaller
     *        The marshaller to be checked. May be <code>null</code>.
     * @return <code>true</code> if the passed marshaller is not <code>null</code>
     *         and is of the Sun class.
     */
    public static boolean isSunJAXB2Marshaller(@Nullable final Marshaller aMarshaller) {
        if (aMarshaller == null)
            return false;
        final String sClassName = aMarshaller.getClass().getName();
        // When using jaxb-impl explicitly
        return sClassName.equals(JAXB_EXTERNAL_CLASS_NAME) ||
        // When using the JAXB version integrated in the runtime
                sClassName.equals(JAXB_INTERNAL_CLASS_NAME);
    }
}

Related

  1. getMarshaller(String jaxbContext, boolean pretty)
  2. getSchemaLocation(@Nonnull final Marshaller aMarshaller)
  3. getSunNamespacePrefixMapper(@Nonnull final Marshaller aMarshaller)
  4. isInternalSunJAXB2Marshaller(@Nullable final Marshaller aMarshaller)
  5. isSunCanonicalization(@Nonnull final Marshaller aMarshaller)
  6. marshal(Class clz, T marshalObj)
  7. marshal(Class c, String xml)
  8. marshal(Class c, String xml)
  9. marshal(Class clazz, T obj)