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

org.kefirsf.bb.conf.Constant Maven / Gradle / Ivy

Go to download

KefirBB is a Java-library for text processing. Initially it was developed for BB2HTML translation. But flexible configuration allows to use it in different cases. For example for parsing Markdown, Textile, and for HTML filtration.

The newest version!
package org.kefirsf.bb.conf;

/**
 * Define constants.
 *
 * @author Vitaliy Samolovskih aka Kefir
 */
public class Constant extends AbstractGhostable implements TemplateElement {
    /**
     * Constant value. String for search.
     */
    private String value;

    /**
     * If true, then uses search ignore case
     */
    private boolean ignoreCase;

    /**
     * Default constructor.
     */
    public Constant() {
    }

    /**
     * Create constant with value. Ignore case is false by default.
     *
     * @param value constant value.
     */
    public Constant(String value) {
        this.value = value;
        ignoreCase = false;
    }

    /**
     * Create constant.
     *
     * @param value      constant value
     * @param ignoreCase ignore case or no
     */
    public Constant(String value, boolean ignoreCase) {
        this.value = value;
        this.ignoreCase = ignoreCase;
    }

    /**
     * Create constant.
     * @param value      constant value
     * @param ignoreCase ignore case or no
     * @param ghost if true then processor parses it but not moves the cursor
     */
    public Constant(String value, boolean ignoreCase, boolean ghost) {
        this.value = value;
        this.ignoreCase = ignoreCase;
        this.ghost = ghost;
    }

    /**
     * @return constant value
     */
    public String getValue() {
        return value;
    }

    /**
     * @param value constant value
     */
    public void setValue(String value) {
        this.value = value;
    }

    /**
     * Ignore case or no. If is true then processor will be ignore text case.
     *
     * @return true if ignore case, false otherwise.
     */
    public boolean isIgnoreCase() {
        return ignoreCase;
    }

    /**
     * Set ignore case behavior.
     *
     * @param ignoreCase true if ignore case, false otherwise.
     */
    public void setIgnoreCase(boolean ignoreCase) {
        this.ignoreCase = ignoreCase;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Constant constant = (Constant) o;

        if (ignoreCase != constant.ignoreCase) return false;
        if (ghost != constant.ghost) return false;
        //noinspection RedundantIfStatement
        if (!value.equals(constant.value)) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = value.hashCode();
        result = 31 * result + (ignoreCase ? 1 : 0);
        result = 31 * result + (ghost ? 1 : 0);
        return result;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy