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

org.eclipse.xtext.maven.Language Maven / Gradle / Ivy

There is a newer version: 2.36.0
Show newest version
/*******************************************************************************
 * Copyright (c) 2018 itemis AG (http://www.itemis.eu) and others.
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0
 *******************************************************************************/
package org.eclipse.xtext.maven;

import java.util.List;
import java.util.Set;

import org.eclipse.xtext.builder.standalone.ILanguageConfiguration;

import com.google.common.collect.Sets;

/**
 * @author Dennis Huebner - Initial contribution and API
 * 
 */
public class Language implements ILanguageConfiguration {

	/**
	 * whether this language links or produces Java types
	 * @property
	 */
	private boolean javaSupport = true;
	
	/**
	 * @property
	 * @required
	 */
	private String setup;

	/**
	 * @property
	 */
	private List outputConfigurations;

	public String getSetup() {
		return setup;
	}

	public void setSetup(String setup) {
		this.setup = setup;
	}

	public Set getOutputConfigurations() {
		if (outputConfigurations == null) {
			return null;
		}
		Set set = Sets.newHashSet();
		for (OutputConfiguration outConf : outputConfigurations) {
			set.add(outConf.toOutputConfiguration());
		}
		return set;
	}

	public void setOutputConfigurations(List outputConfiguration) {
		this.outputConfigurations = outputConfiguration;
	}
	
	public void setJavaSupport(boolean javaSupport) {
		this.javaSupport = javaSupport;
	}

	public boolean isJavaSupport() {
		return javaSupport;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy