All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hudson.scm.ChangeLogSet Maven / Gradle / Ivy

package hudson.scm;

import hudson.model.User;

import java.util.Collections;

/**
 * Represents SCM change list.
 *
 * Use the "index" view of this object to render the changeset detail page,
 * and use the "digest" view of this object to render the summary page.
 *
 * @author Kohsuke Kawaguchi
 */
public abstract class ChangeLogSet implements Iterable {
    /**
     * Returns true if there's no change.
     */
    public abstract boolean isEmptySet();

    /**
     * Constant instance that represents no changes.
     */
    public static final ChangeLogSet EMPTY = new CVSChangeLogSet(Collections.emptyList());

    public static abstract class Entry {

        public abstract String getMsg();

        /**
         * The user who made this change.
         *
         * @return
         *      never null.
         */
        public abstract User getAuthor();

        /**
         * Message escaped for HTML
         */
        public String getMsgEscaped() {
            String msg = getMsg();
            StringBuffer buf = new StringBuffer(msg.length()+64);
            for( int i=0; i");
                else
                if(ch=='<')
                    buf.append("<");
                else
                if(ch=='&')
                    buf.append("&");
                else
                if(ch==' ')
                    buf.append(" ");
                else
                    buf.append(ch);
            }
            return buf.toString();
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy