/**
* Copyright (c) 2011, 2012 Cloudsmith Inc. and other contributors, as listed below.
* 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:
* Cloudsmith
*
*/
package org.cloudsmith.geppetto.pp.dsl.ui.validation;
import org.cloudsmith.geppetto.pp.dsl.ui.preferences.PPPreferencesHelper;
import org.cloudsmith.geppetto.pp.dsl.validation.IPotentialProblemsAdvisor;
import org.cloudsmith.geppetto.pp.dsl.validation.ValidationPreference;
import com.google.inject.Inject;
/**
* A potential problems advisor based on preference settings.
* Note, that the preferences are read when this advisor is instantiated. Get a new instance when a preference has changed.
*
*
*/
public class PreferenceBasedPotentialProblemsAdvisor implements IPotentialProblemsAdvisor {
private PPPreferencesHelper preferences;
@Inject
public PreferenceBasedPotentialProblemsAdvisor(PPPreferencesHelper preferences) {
this.preferences = preferences;
}
@Override
public ValidationPreference assignmentToVarNamedString() {
return preferences.getAssignmentToVariableNamedString();
}
@Override
public ValidationPreference booleansInStringForm() {
return preferences.getBooleansInStringForm();
}
@Override
public ValidationPreference caseDefaultShouldAppearLast() {
return preferences.getCaseDefaultShouldAppearLast();
}
@Override
public ValidationPreference circularDependencyPreference() {
return preferences.getcircularDependencyPreference();
}
@Override
public ValidationPreference dqStringNotRequired() {
return preferences.getDqStringNotRequired();
}
@Override
public ValidationPreference dqStringNotRequiredVariable() {
return preferences.getDqStringNotRequiredVar();
}
/**
* @see org.cloudsmith.geppetto.pp.dsl.validation.IStylisticProblemsAdvisor#ensureShouldAppearFirstInResource()
*/
@Override
public ValidationPreference ensureShouldAppearFirstInResource() {
return preferences.getEnsureShouldAppearFirst();
}
@Override
public ValidationPreference interpolatedNonBraceEnclosedHyphens() {
return preferences.getInterpolatedNonBraceEnclosedHypens();
}
@Override
public ValidationPreference missingDefaultInSelector() {
return preferences.getMissingDefaultInSwitch();
}
@Override
public ValidationPreference mlComments() {
return preferences.getMLCommentsValidationPreference();
}
@Override
public ValidationPreference rightToLeftRelationships() {
return preferences.getRightToLeftRelationships();
}
@Override
public ValidationPreference selectorDefaultShouldAppearLast() {
return preferences.getSelectorDefaultShouldAppearLast();
}
@Override
public ValidationPreference unbracedInterpolation() {
return preferences.getUnbracedInterpolation();
}
@Override
public ValidationPreference unquotedResourceTitles() {
return preferences.getUnquotedResourceTitles();
}
}