class CompoundRule extends AbstractCompoundRule {

  private static volatile CompoundRuleData compoundData;

  public CompoundRule(ResourceBundle messages, Language lang, UserConfig userConfig) throws IOException {
    super(messages, lang, userConfig,
            "Cuvântul se scrie cu cratimă.",
            "Cuvântul se scrie legat.",
            "Cuvântul se scrie legat sau cu cratimă.",
            "Problemă de scriere (cratimă, spațiu, etc.)");
  }

  @Override
  public String getId() {
    return "RO_COMPOUND";
  }

  @Override
  public String getDescription() {
    return "Greșeală de scriere (cuvinte scrise legat sau cu cratimă)";
  }

  @Override
  public CompoundRuleData getCompoundRuleData() {<FILL_FUNCTION_BODY>}

}

    CompoundRuleData data = compoundData;
    if (data == null) {
      synchronized (CompoundRule.class) {
        data = compoundData;
        if (data == null) {
          compoundData = data = new CompoundRuleData("/ro/compounds.txt");
        }
      }
    }

    return data;
  
<methods>public void <init>(java.util.ResourceBundle, org.languagetool.Language, org.languagetool.UserConfig, java.lang.String, java.lang.String, java.lang.String) throws java.io.IOException,public void <init>(java.util.ResourceBundle, org.languagetool.Language, org.languagetool.UserConfig, java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.io.IOException,public int estimateContextForSureMatch() ,public abstract org.languagetool.rules.CompoundRuleData getCompoundRuleData() ,public abstract java.lang.String getDescription() ,public abstract java.lang.String getId() ,public boolean isMisspelled(java.lang.String) throws java.io.IOException,public org.languagetool.rules.RuleMatch[] match(org.languagetool.AnalyzedSentence) throws java.io.IOException,public java.lang.String mergeCompound(java.lang.String, boolean) ,public void useSubRuleSpecificIds() <variables>private static final java.util.regex.Pattern DASHES,private static final java.util.regex.Pattern DIGIT,static final int MAX_TERMS,private static final java.util.regex.Pattern WHITESPACE,private static final java.util.regex.Pattern WHITESPACE_DASH,protected final non-sealed org.languagetool.Language lang,protected final non-sealed org.languagetool.LinguServices linguServices,protected boolean sentenceStartsWithUpperCase,private final non-sealed java.lang.String shortDesc,protected boolean subRuleSpecificIds,private final non-sealed java.lang.String withHyphenMessage,private final non-sealed java.lang.String withOrWithoutHyphenMessage,private final non-sealed java.lang.String withoutHyphenMessage