private static void writeInet6AddressHolderObject()

in hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/socket/Inet6AddressSerializer.java [57:102]


    private static void writeInet6AddressHolderObject(Object obj, AbstractHessianOutput out)
            throws IOException {

        String replacedClName = "java.net.Inet6Address$Inet6AddressHolder";

        int ref = out.writeObjectBegin(replacedClName);

        if (ref < -1) {
            Inet6Address inet6Address = (Inet6Address) obj;
            out.writeString("ipaddress");
            out.writeObject((inet6Address.getAddress()));

            out.writeString("scope_id");
            out.writeObject(inet6Address.getScopeId());

            out.writeString("scope_id_set");
            out.writeObject(inet6Address.getScopeId() > 0);

            out.writeString("scope_ifname_set");
            out.writeObject(inet6Address.getScopedInterface() != null);

            out.writeString("scope_ifname");
            out.writeObject(inet6Address.getScopedInterface() == null ? null : inet6Address.getScopedInterface().getName());

            out.writeMapEnd();
        } else {
            if (ref == -1) {
                out.writeClassFieldLength(5);

                out.writeString("ipaddress");
                out.writeString("scope_id");
                out.writeString("scope_id_set");
                out.writeString("scope_ifname_set");
                out.writeString("scope_ifname");

                out.writeObjectBegin(replacedClName);
            }

            Inet6Address inet6Address = (Inet6Address) obj;
            out.writeObject((inet6Address.getAddress()));
            out.writeObject(inet6Address.getScopeId());
            out.writeObject(inet6Address.getScopeId() > 0);
            out.writeObject(inet6Address.getScopedInterface() != null);
            out.writeObject(inet6Address.getScopedInterface() == null ? null : inet6Address.getScopedInterface().getName());
        }
    }