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

edu.stanford.protege.webprotege.mansyntax.AutoCompletionResult Maven / Gradle / Ivy

There is a newer version: 2.1.0
Show newest version
package edu.stanford.protege.webprotege.mansyntax;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.ArrayList;
import java.util.List;

import static com.google.common.base.Preconditions.checkNotNull;

/**
 * Matthew Horridge
 * Stanford Center for Biomedical Informatics Research
 * 2021-04-20
 */
public class AutoCompletionResult {
    private static final AutoCompletionResult EMPTY_RESULT = new AutoCompletionResult();

    private final List choices;

    private final EditorPosition fromPosition;

    public AutoCompletionResult() {
        this(new ArrayList(), new EditorPosition(0, 0));
    }

    @JsonCreator
    public AutoCompletionResult(@JsonProperty("choices") List choices,
                                @JsonProperty("fromPosition") EditorPosition fromPosition) {
        this.choices = new ArrayList(checkNotNull(choices));
        this.fromPosition = checkNotNull(fromPosition);
    }

    public EditorPosition getFromPosition() {
        return fromPosition;
    }

    public List getChoices() {
        return new ArrayList(choices);
    }

    public static AutoCompletionResult emptyResult() {
        return EMPTY_RESULT;
    }

    @Override
    public int hashCode() {
        return "AutoCompletionResult".hashCode() + choices.hashCode() + fromPosition.hashCode();
    }

    @Override
    public boolean equals(Object o) {
        if(o == this) {
            return true;
        }
        if(!(o instanceof AutoCompletionResult)) {
            return false;
        }
        AutoCompletionResult other = (AutoCompletionResult) o;
        return this.fromPosition.equals(other.fromPosition) && this.choices.equals(other.choices);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy