/*******************************************************************************
* 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.api.languageserver.shared.model;
import java.util.List;
import java.util.Objects;
/**
* @author Anatolii Bazko
*/
public class LanguageDescription {
/**
* The language id.
*/
private String languageId;
/**
* The optional content types this language is associated with.
*/
private List<String> mimeTypes;
/**
* The fileExtension this language is associated with. At least one extension must be provided.
*/
private List<String> fileExtensions;
/**
* The optional highlighting configuration to support client side syntax highlighting.
* The format is client (editor) dependent.
*/
private String highlightingConfiguration;
public String getLanguageId() {
return this.languageId;
}
public void setLanguageId(final String languageId) {
this.languageId = languageId;
}
public List<String> getMimeTypes() {
return this.mimeTypes;
}
public void setMimeTypes(final List<String> mimeTypes) {
this.mimeTypes = mimeTypes;
}
public List<String> getFileExtensions() {
return this.fileExtensions;
}
public void setFileExtensions(final List<String> fileExtensions) {
this.fileExtensions = fileExtensions;
}
public String getHighlightingConfiguration() {
return this.highlightingConfiguration;
}
public void setHighlightingConfiguration(final String highlightingConfiguration) {
this.highlightingConfiguration = highlightingConfiguration;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
LanguageDescription that = (LanguageDescription)o;
return Objects.equals(languageId, that.languageId) &&
Objects.equals(mimeTypes, that.mimeTypes) &&
Objects.equals(fileExtensions, that.fileExtensions) &&
Objects.equals(highlightingConfiguration, that.highlightingConfiguration);
}
@Override
public int hashCode() {
return Objects.hash(languageId, mimeTypes, fileExtensions, highlightingConfiguration);
}
@Override
public String toString() {
return "LanguageDescriptionImpl{" +
"languageId='" + languageId + '\'' +
", mimeTypes=" + mimeTypes +
", fileExtensions=" + fileExtensions +
", highlightingConfiguration='" + highlightingConfiguration + '\'' +
'}';
}
}