SyllableCounterServiceImpl.java

package com.kapil.verbametrics.services.impl;

import com.kapil.verbametrics.services.SyllableCounterService;
import com.kapil.verbametrics.services.engines.SyllableCountingEngine;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


/**
 * Implementation of SyllableCounterService using a syllable counting engine.
 * Provides functionality to count syllables in words and calculate average syllables per word.
 *
 * @author Kapil Garg
 */
@Service
public class SyllableCounterServiceImpl implements SyllableCounterService {

    private final SyllableCountingEngine countingEngine;

    @Autowired
    public SyllableCounterServiceImpl(SyllableCountingEngine countingEngine) {
        this.countingEngine = countingEngine;
    }

    @Override
    public int countSyllables(String word) {
        return countingEngine.countSyllables(word);
    }

    @Override
    public int countSyllables(String[] words) {
        return countingEngine.countSyllables(words);
    }

    @Override
    public double calculateAverageSyllablesPerWord(String[] words) {
        return countingEngine.calculateAverageSyllablesPerWord(words);
    }

}