/* * Copyright 2016 Nokia Solutions and Networks * Licensed under the Apache License, Version 2.0, * see license.txt file for details. */ package org.robotframework.ide.eclipse.main.plugin.assist; import java.util.Comparator; import java.util.Optional; import com.google.common.base.Function; import com.google.common.collect.Range; class Commons { static ProposalMatcher substringMatcher() { return new ProposalMatcher() { @Override public Optional<ProposalMatch> matches(final String userContent, final String proposalContent) { if (proposalContent.toLowerCase().contains(userContent.toLowerCase())) { final int index = proposalContent.toLowerCase().indexOf(userContent.toLowerCase()); return Optional.of(new ProposalMatch(Range.closedOpen(index, index + userContent.length()))); } return Optional.empty(); } }; } static <T> Comparator<T> reverseComparator(final Comparator<T> comparator) { return new Comparator<T>() { @Override public int compare(final T o1, final T o2) { return comparator.compare(o2, o1); } }; } static Function<AssistProposal, String> toLabels() { return new Function<AssistProposal, String>() { @Override public String apply(final AssistProposal proposal) { return proposal.getLabel(); } }; } }