package com.mobilesorcery.sdk.molint; import org.eclipse.core.resources.IMarker; public abstract class AbstractMolintRule implements IMolintRule { private String id; private int severity; private String name; protected AbstractMolintRule(String id, String name) { this.id = id; this.name = name; MolintPlugin.getDefault().getPreferenceStore().setDefault(getPrefName(), getDefaultSeverity()); this.severity = getDefaultSeverity(); } private String getPrefName() { return "rule." + getId(); } @Override public String getId() { return id; } public String getName() { return name; } @Override public void setSeverity(int severity) { this.severity = severity; MolintPlugin.getDefault().getPreferenceStore().setValue(getPrefName(), severity); } public int getSeverity() { return MolintPlugin.getDefault().getPreferenceStore().getInt(getPrefName()); } protected int getDefaultSeverity() { return IMarker.SEVERITY_ERROR; } protected int getSeverity(int originalSeverity) { return Math.min(originalSeverity, severity); } }