/**
* 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.validation;
/**
* An interface for potential problems preferences.
*
*/
public interface IPotentialProblemsAdvisor extends IStylisticProblemsAdvisor {
/**
* How should assignment to variable $string be treated. Puppet bug http://projects.puppetlabs.com/issues/14093.
*/
public ValidationPreference assignmentToVarNamedString();
/**
* Puppet interprets the strings "false" and "true" as boolean true when they are used in a boolean context.
* This validation preference flags them as "not a boolean value"
*
* @return
*/
public ValidationPreference booleansInStringForm();
/**
* How should circular module dependencies be reported (ignore, warning, error).
*
* @return
*/
public ValidationPreference circularDependencyPreference();
/**
* How to validate a dq string - style guide says single quoted should be used if possible.
*
* @return
*/
public ValidationPreference dqStringNotRequired();
/**
* How to validate a dq string when it only contains a single interpolated variable.
*
* @return
*/
public ValidationPreference dqStringNotRequiredVariable();
/**
* How to validate hyphens in non brace enclosed interpolations. In < 2.7 interpolation stops at a hyphen, but
* not in 2.7. Thus when using 2.6 code in 2.7 or vice versa, the result is different.
*
*/
public ValidationPreference interpolatedNonBraceEnclosedHyphens();
/**
* How to validate a missing 'default' in switch type expressions i.e. 'case' and 'selector'
*/
public ValidationPreference missingDefaultInSelector();
/**
* How to validate unbraced interpolation.
*/
public ValidationPreference unbracedInterpolation();
/**
* How to validate a literal resource title. Style guide says they should be single quoted.
*
*/
public ValidationPreference unquotedResourceTitles();
}