// Path: src/main/java/org/fintx/lang/Encoding.java
// public enum Encoding implements Codeable<String> {
//     UTF_8("UTF-8"), GBK("GBK"), GB18030("GB18030");
//     private String code;
// 
//     private Encoding(String code) {
//         this.code = code;
//     }
// 
//     @Override
//     public String getCode() {
//         // TODO Auto-generated method stub
//         return code;
//     }
// }


import org.fintx.lang.Encoding;
import net.sf.cglib.beans.BeanCopier;
import net.sf.cglib.core.Converter;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Array;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.function.Supplier;
import javax.xml.bind.JAXBException;

     * @param obj a reference to be checked against {@code null}
     * @return {@code true} if the provided reference is non-{@code null} otherwise {@code false}
     *
     * @see java.util.function.Predicate
     * @since 1.8
     */
    public static boolean nonNull(Object obj) {
        return java.util.Objects.nonNull(obj);
    }

    /**
     * Checks that the specified object reference is not {@code null} and throws a customized {@link NullPointerException} if it is.
     *
     * <p>
     * Unlike the method {@link #requireNonNull(Object, String)}, this method allows creation of the message to be deferred until after the null check is made.
     * While this may confer a performance advantage in the non-null case, when deciding to call this method care should be taken that the costs of creating the
     * message supplier are less than the cost of just creating the string message directly.
     *
     * @param obj the object reference to check for nullity
     * @param messageSupplier supplier of the detail message to be used in the event that a {@code NullPointerException} is thrown
     * @param <T> the type of the reference
     * @return {@code obj} if not {@code null}
     * @throws NullPointerException if {@code obj} is {@code null}
     * @since 1.8
     */
    public static <T> T requireNonNull(T obj, Supplier<String> messageSupplier) {
        return java.util.Objects.requireNonNull(obj, messageSupplier);
    }

    public static class Xml {

// Path: src/main/java/org/fintx/lang/Encoding.java
// public enum Encoding implements Codeable<String> {
//     UTF_8("UTF-8"), GBK("GBK"), GB18030("GB18030");
//     private String code;
// 
//     private Encoding(String code) {
//         this.code = code;
//     }
// 
//     @Override
//     public String getCode() {
//         // TODO Auto-generated method stub
//         return code;
//     }
// }


// Path: src/main/java/org/fintx/util/Objects.java
import org.fintx.lang.Encoding;
import net.sf.cglib.beans.BeanCopier;
import net.sf.cglib.core.Converter;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Array;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.function.Supplier;
import javax.xml.bind.JAXBException;

     * @param obj a reference to be checked against {@code null}
     * @return {@code true} if the provided reference is non-{@code null} otherwise {@code false}
     *
     * @see java.util.function.Predicate
     * @since 1.8
     */
    public static boolean nonNull(Object obj) {
        return java.util.Objects.nonNull(obj);
    }

    /**
     * Checks that the specified object reference is not {@code null} and throws a customized {@link NullPointerException} if it is.
     *
     * <p>
     * Unlike the method {@link #requireNonNull(Object, String)}, this method allows creation of the message to be deferred until after the null check is made.
     * While this may confer a performance advantage in the non-null case, when deciding to call this method care should be taken that the costs of creating the
     * message supplier are less than the cost of just creating the string message directly.
     *
     * @param obj the object reference to check for nullity
     * @param messageSupplier supplier of the detail message to be used in the event that a {@code NullPointerException} is thrown
     * @param <T> the type of the reference
     * @return {@code obj} if not {@code null}
     * @throws NullPointerException if {@code obj} is {@code null}
     * @since 1.8
     */
    public static <T> T requireNonNull(T obj, Supplier<String> messageSupplier) {
        return java.util.Objects.requireNonNull(obj, messageSupplier);
    }

    public static class Xml {

        private static ObjectXmls convertor = new ObjectXmls(null, true, Encoding.UTF_8, false, null);
