com.vaynberg.wicket.select2.Settings.java Source code

Java tutorial

Introduction

Here is the source code for com.vaynberg.wicket.select2.Settings.java

Source

/*
 * Copyright 2012 Igor Vaynberg
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with
 * the License. You may obtain a copy of the License in the LICENSE file, or at:
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */
package com.vaynberg.wicket.select2;

import java.io.Serializable;

import org.json.JSONException;
import org.json.JSONStringer;

import com.vaynberg.wicket.select2.json.Json;

/**
 * Select2 settings. Refer to the Select2 documentation for what these options mean.
 * 
 * @author igor
 */
public final class Settings implements Serializable {

    /**
     * Some predefined width option values
     */
    public static class Widths {
        public static String OFF = "off";
        public static String COPY = "copy";
        public static String RESOLVE = "resolve";
        public static String ELEMENT = "element";
    }

    private Integer minimumInputLength, minimumResultsForSearch;
    private Integer maximumSelectionSize;
    private Object placeholder;
    private Boolean allowClear;
    private Boolean multiple;
    private Boolean closeOnSelect;
    private String id, matcher, tokenizer;
    private String formatSelection, formatSelectionTooBig, formatResult, formatNoMatches, formatInputTooShort,
            formatResultCssClass, formatLoadMore, formatSearching;
    private String createSearchChoice;
    private String initSelection;
    private String query;
    private String width;
    private Boolean openOnEnter;
    private String containerCss, dropdownCss, containerCssClass, dropdownCssClass;

    private AjaxSettings ajax;
    private String data;
    private String tags;
    private String separator;
    private String[] tokenSeparators;

    public CharSequence toJson() {
        try {
            JSONStringer writer = new JSONStringer();
            writer.object();
            Json.writeObject(writer, "minimumInputLength", minimumInputLength);
            Json.writeObject(writer, "minimumResultsForSearch", minimumResultsForSearch);
            Json.writeObject(writer, "maximumSelectionSize", maximumSelectionSize);
            Json.writeObject(writer, "placeholder", placeholder);
            Json.writeObject(writer, "allowClear", allowClear);
            Json.writeObject(writer, "multiple", multiple);
            Json.writeObject(writer, "closeOnSelect", closeOnSelect);
            Json.writeFunction(writer, "id", id);
            Json.writeFunction(writer, "matcher", matcher);
            Json.writeFunction(writer, "tokenizer", tokenizer);
            Json.writeFunction(writer, "formatSelection", formatSelection);
            Json.writeFunction(writer, "formatResult", formatResult);
            Json.writeFunction(writer, "formatNoMatches", formatNoMatches);
            Json.writeFunction(writer, "formatInputTooShort", formatInputTooShort);
            Json.writeFunction(writer, "formatResultCssClass", formatResultCssClass);
            Json.writeFunction(writer, "formatSelectionTooBig", formatSelectionTooBig);
            Json.writeFunction(writer, "formatLoadMore", formatLoadMore);
            Json.writeFunction(writer, "formatSearching", formatSearching);
            Json.writeFunction(writer, "createSearchChoice", createSearchChoice);
            Json.writeFunction(writer, "initSelection", initSelection);
            Json.writeFunction(writer, "query", query);
            Json.writeObject(writer, "width", width);
            Json.writeObject(writer, "openOnEnter", openOnEnter);
            Json.writeObject(writer, "containerCss", containerCss);
            Json.writeObject(writer, "containerCssClass", containerCssClass);
            Json.writeObject(writer, "dropdownCss", dropdownCss);
            Json.writeObject(writer, "dropdownCssClass", dropdownCssClass);
            Json.writeObject(writer, "separator", separator);
            Json.writeObject(writer, "tokenSeparators", tokenSeparators);
            writer.key("ajax");
            ajax.toJson(writer);

            Json.writeFunction(writer, "data", data);
            Json.writeFunction(writer, "tags", tags);
            writer.endObject();

            return writer.toString();
        } catch (JSONException e) {
            throw new RuntimeException("Could not convert Select2 settings object to Json", e);
        }
    }

    public Integer getMinimumInputLength() {
        return minimumInputLength;
    }

    public void setMinimumInputLength(Integer minimumInputLength) {
        this.minimumInputLength = minimumInputLength;
    }

    public Integer getMinimumResultsForSearch() {
        return minimumResultsForSearch;
    }

    public void setMinimumResultsForSearch(Integer minimumResultsForSearch) {
        this.minimumResultsForSearch = minimumResultsForSearch;
    }

    public Object getPlaceholder() {
        return placeholder;
    }

    public void setPlaceholder(Object placeholder) {
        this.placeholder = placeholder;
    }

    public Boolean getAllowClear() {
        return allowClear;
    }

    public void setAllowClear(Boolean allowClear) {
        this.allowClear = allowClear;
    }

    public Boolean getMultiple() {
        return multiple;
    }

    public void setMultiple(Boolean multiple) {
        this.multiple = multiple;
    }

    public Boolean getCloseOnSelect() {
        return closeOnSelect;
    }

    public void setCloseOnSelect(Boolean closeOnSelect) {
        this.closeOnSelect = closeOnSelect;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getFormatSelection() {
        return formatSelection;
    }

    public void setFormatSelection(String formatSelection) {
        this.formatSelection = formatSelection;
    }

    public String getFormatResult() {
        return formatResult;
    }

    public void setFormatResult(String formatResult) {
        this.formatResult = formatResult;
    }

    public String getFormatNoMatches() {
        return formatNoMatches;
    }

    public void setFormatNoMatches(String formatNoMatches) {
        this.formatNoMatches = formatNoMatches;
    }

    public String getFormatInputTooShort() {
        return formatInputTooShort;
    }

    public void setFormatInputTooShort(String formatInputTooShort) {
        this.formatInputTooShort = formatInputTooShort;
    }

    public String getCreateSearchChoice() {
        return createSearchChoice;
    }

    public void setCreateSearchChoice(String createSearchChoice) {
        this.createSearchChoice = createSearchChoice;
    }

    public String getInitSelection() {
        return initSelection;
    }

    public void setInitSelection(String initSelection) {
        this.initSelection = initSelection;
    }

    public String getQuery() {
        return query;
    }

    public void setQuery(String query) {
        this.query = query;
    }

    public AjaxSettings getAjax() {
        return getAjax(false);
    }

    public AjaxSettings getAjax(boolean createIfNotSet) {
        if (createIfNotSet) {
            ajax = new AjaxSettings();
        }
        return ajax;
    }

    public void setAjax(AjaxSettings ajax) {
        this.ajax = ajax;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public String getTags() {
        return tags;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public Integer getMaximumSelectionSize() {
        return maximumSelectionSize;
    }

    public void setMaximumSelectionSize(Integer maximumSelectionSize) {
        this.maximumSelectionSize = maximumSelectionSize;
    }

    public String getMatcher() {
        return matcher;
    }

    public void setMatcher(String matcher) {
        this.matcher = matcher;
    }

    public String getTokenizer() {
        return tokenizer;
    }

    public void setTokenizer(String tokenizer) {
        this.tokenizer = tokenizer;
    }

    public String getFormatSelectionTooBig() {
        return formatSelectionTooBig;
    }

    public void setFormatSelectionTooBig(String formatSelectionTooBig) {
        this.formatSelectionTooBig = formatSelectionTooBig;
    }

    public String getFormatResultCssClass() {
        return formatResultCssClass;
    }

    public void setFormatResultCssClass(String formatResultCssClass) {
        this.formatResultCssClass = formatResultCssClass;
    }

    public String getFormatLoadMore() {
        return formatLoadMore;
    }

    public void setFormatLoadMore(String formatLoadMore) {
        this.formatLoadMore = formatLoadMore;
    }

    public String getFormatSearching() {
        return formatSearching;
    }

    public void setFormatSearching(String formatSearching) {
        this.formatSearching = formatSearching;
    }

    public String getWidth() {
        return width;
    }

    public void setWidth(String width) {
        this.width = width;
    }

    public Boolean getOpenOnEnter() {
        return openOnEnter;
    }

    public void setOpenOnEnter(Boolean openOnEnter) {
        this.openOnEnter = openOnEnter;
    }

    public String getContainerCss() {
        return containerCss;
    }

    public void setContainerCss(String containerCss) {
        this.containerCss = containerCss;
    }

    public String getDropdownCss() {
        return dropdownCss;
    }

    public void setDropdownCss(String dropdownCss) {
        this.dropdownCss = dropdownCss;
    }

    public String getContainerCssClass() {
        return containerCssClass;
    }

    public void setContainerCssClass(String containerCssClass) {
        this.containerCssClass = containerCssClass;
    }

    public String getDropdownCssClass() {
        return dropdownCssClass;
    }

    public void setDropdownCssClass(String dropdownCssClass) {
        this.dropdownCssClass = dropdownCssClass;
    }

    public String getSeparator() {
        return separator;
    }

    public void setSeparator(String separator) {
        this.separator = separator;
    }

    public String[] getTokenSeparators() {
        return tokenSeparators;
    }

    public void setTokenSeparators(String[] tokenSeparators) {
        this.tokenSeparators = tokenSeparators;
    }

}