/*******************************************************************************
* Copyright © 2011, 2013 IBM Corporation and others.
* 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:
* IBM Corporation - initial API and implementation
*
*******************************************************************************/
package org.eclipse.edt.compiler;
/**
* Base implementation of IGenerator intended to be subclassed by clients.
*/
public abstract class AbstractGenerator implements IGenerator {
/**
* The id.
*/
private String id;
/**
* The (display) name.
*/
private String name;
/**
* The associated compiler.
*/
private ICompiler compiler;
/**
* The generator version.
*/
protected String version;
/**
* The (display) description.
*/
protected String description;
/**
* The (display) provider.
*/
protected String provider;
/**
* The ID of the parent generator.
*/
protected String parentGenId;
/**
* The target language of this generator.
*/
protected String language;
/**
* The ID of the generator with which this generator is enabled, or null if this generator determines its own enablement.
*/
protected String enabledWith;
@Override
public void setId(String id) {
this.id = id;
}
@Override
public String getId() {
return id;
}
@Override
public void setName(String name) {
if (name != null && name.length() == 0) { // treat blank like null
this.name = null;
}
else {
this.name = name;
}
}
@Override
public String getName() {
return name == null ? id : name;
}
@Override
public ICompiler getCompiler() {
return compiler;
}
@Override
public void setCompiler(ICompiler compiler) {
this.compiler = compiler;
}
@Override
public void setVersion(String version) {
this.version = version;
}
@Override
public String getVersion() {
return version == null ? "" : version; //$NON-NLS-1$
}
@Override
public void setProvider(String provider) {
this.provider = provider;
}
@Override
public String getProvider() {
return provider == null ? "" : provider; //$NON-NLS-1$
}
@Override
public void setDescription(String desc) {
this.description = desc;
}
@Override
public String getDescription() {
return description == null ? "" : description; //$NON-NLS-1$
}
@Override
public void setParentGeneratorId(String id) {
this.parentGenId = id;
}
@Override
public String getParentGeneratorId() {
return parentGenId;
}
@Override
public void setLanguage(String language) {
this.language = language;
}
@Override
public String getLanguage() {
return this.language;
}
@Override
public void setEnabledWith(String id) {
this.enabledWith = id;
}
@Override
public String getEnabledWith() {
return this.enabledWith;
}
}