public String toString()

in uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/ServiceDescription.java [368:500]


    public String toString()
    {
        StringBuffer sb = new StringBuffer();
        sb.append("Service: ");
        sb.append(type.decode());
        sb.append(":");
        sb.append(endpoint);

        if ( type == ServiceType.UimaAs ) {
            sb.append(":");
            sb.append(broker);
        }
        sb.append("\n");

        sb.append("   Service Class     : ");
        sb.append(subclass.decode());
        switch ( subclass ) {
            case Registered:
                sb.append(" as ID ");
                sb.append(id);
                sb.append(" Owner[");
                sb.append(user);
                sb.append("] instances[");
                sb.append(Integer.toString(instances));
                sb.append("] linger[");
                sb.append(Long.toString(linger));
                sb.append("]");
                break;
            case Submitted:
            case Implicit:
            default:
        }
        sb.append("\n");

        sb.append("   Implementors      : ");
        if ( implementors.length > 0 ) {
            for ( int i = 0; i < implementors.length; i++ ) {
                sb.append(implementors[i]);
                sb.append(".");
                sb.append(instance_ids[i]);
                sb.append(" ");
            }
        } else {
            sb.append("(N/A)");
        }
        sb.append("\n");

        sb.append("   References        : ");
        if ( references.length > 0 ) {
            for ( Long id : references ) {
                sb.append(id);
                sb.append(" ");
            }
        } else {
            sb.append("None");
        }
        sb.append("\n");

        sb.append("   Dependencies      : ");
        if ( dependencies == null ) {
            sb.append("none\n");
        } else {
            sb.append("\n");
            for ( String s : dependencies.keySet() ) {
                sb.append("      ");
                sb.append(s);
                sb.append(": ");
                sb.append(dependencies.get(s));
                sb.append("\n");
            }
        }

        sb.append("   Service State     : ");
        sb.append(serviceState);
        sb.append("\n");

        sb.append("   Ping Active       : ");
        sb.append(active);
        sb.append("\n");

        sb.append("   Start Mode        : ");
        if ( autostart )            { sb.append("autostart"); }
        else if ( reference_start ) { sb.append("reference"); }
        else {
            if ( implementors.length > 0 ) {
                sb.append("manual"); 
            } else {
                sb.append("stopped");
            }
        }
        
        if ( enabled ) {
            sb.append(", Enabled");
        } else {
            sb.append(", Disabled; reason: ");
            sb.append(disable_reason);
        }
        sb.append("\n");

        sb.append("   Last Use          : ");
        sb.append(getLastUseString());
        sb.append("\n");

        // UIMA-4309
        sb.append("   Last Ping         : ");
        sb.append(getLastPingString());
        sb.append("\n");

        // UIMA-4309
        sb.append("   Last Runnable     : ");
        sb.append(getLastRunnableString());
        sb.append("\n");

        sb.append("   Registration Date : ");
        sb.append(registration_date);
        sb.append("\n");

        if ( error_string != null ) {
            sb.append("   Errors            : ");
            sb.append(error_string);
            sb.append("\n");
        }

        sb.append("   Service Statistics: ");
        if ( qstats == null ) {
            sb.append("None\n");
        } else {
            sb.append("\n       ");            
            sb.append(qstats.toString());
            sb.append("\n");
        }
        return sb.toString();
    }