/*******************************************************************************
* Copyright (c) 2012-2017 Codenvy, S.A.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Codenvy, S.A. - initial API and implementation
*******************************************************************************/
package org.eclipse.che.plugin.languageserver.ide.quickopen;
import org.eclipse.che.ide.filters.Match;
import org.vectomatic.dom.svg.ui.SVGResource;
import java.util.Collections;
import java.util.List;
/**
* Base data class for all Quick open entries.
*
* @author Evgen Vidolob
*/
public class QuickOpenEntry {
private static int IDs;
private final String id;
private List<Match> labelHighlights;
private boolean hidden;
public QuickOpenEntry() {
this(Collections.<Match>emptyList());
}
public QuickOpenEntry(List<Match> labelHighlights) {
id = "" + IDs++;
this.labelHighlights = labelHighlights;
}
/**
* A identifier for the entry
*
* @return the id
*/
public String getId() {
return id;
}
/**
* The label of the entry.
*/
public String getLabel() {
return null;
}
/**
* Detail information. Optional.
*
* @return
*/
public String getDetail() {
return null;
}
/**
* The icon of the entry.
*
* @return
*/
public SVGResource getIcon() {
return null;
}
/**
* A another description, can be shown right to the label
*
* @return
*/
public String getDescription() {
return null;
}
public String getURI() {
return null;
}
/**
* Additional CSS class name.
*
* @return
*/
public String getAdditionalClass() {
return null;
}
public boolean isHidden() {
return hidden;
}
public void setHidden(boolean hidden) {
this.hidden = hidden;
}
public List<Match> getHighlights() {
return labelHighlights;
}
public void setHighlights(List<Match> highlights) {
labelHighlights = highlights;
}
/**
* Called when the entry selected for opening.
* Returns a boolean value indicating if an action was performed.
*
* @param mode
* gives an indicating if the element is previewed or opened.
* @return
*/
public boolean run(Mode mode) {
return false;
}
public enum Mode {
OPEN, PREVIEW
}
}