protected String assembleStyleClassString()

in empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelper.java [1849:1888]


    protected String assembleStyleClassString(String... styles)
    {
        int totalLength=0;
        String current = null;
        // Count total length
        for (int i=0; i<styles.length; i++)
        {   int len = (styles[i]!=null ? styles[i].length() : 0);
            if (len>0) {
                if (current!=null && current.equals(styles[i]))
                    continue; // same style twice
                current = styles[i];
                if (totalLength>0 && !current.startsWith(SPACE))
                    len++;
                totalLength += len;
            }
        }
        // only one?
        if (current==null || current.length()==totalLength)
            return current;
        // concat now
        current = null;
        StringBuilder b = new StringBuilder(totalLength);
        for (int i=0; i<styles.length; i++)
        {   int len = (styles[i]!=null ? styles[i].length() : 0);
            if (len>0) {
                if (current!=null && current.equals(styles[i]))
                    continue; // same style twice
                current = styles[i];
                if (b.length()>0 && !current.startsWith(SPACE))
                    b.append(SPACE);
                b.append(current);
            }
        }
        /* can never be
        if (b.length()!=totalLength)
            log.warn("Wrong calculation for assembleStyleClassString!");
        */    
        // done
        return b.toString();
    }