Package br.com.caelum.tubaina.builder.replacer

Source Code of br.com.caelum.tubaina.builder.replacer.ExerciseReplacer

package br.com.caelum.tubaina.builder.replacer;

import java.util.ArrayList;
import java.util.List;

import br.com.caelum.tubaina.Chunk;
import br.com.caelum.tubaina.builder.ChunkSplitter;
import br.com.caelum.tubaina.chunk.ExerciseChunk;
import br.com.caelum.tubaina.resources.AnswerResource;
import br.com.caelum.tubaina.resources.ExerciseResource;
import br.com.caelum.tubaina.resources.Resource;

public class ExerciseReplacer extends AbstractReplacer {

  private List<Resource> resources;

 
  public ExerciseReplacer(List<Resource> resources) {
    super("exercise");
    this.resources = resources;
  }

  @Override
  public Chunk createChunk(String options, String content) {
    ArrayList<Resource> subResources = new ArrayList<Resource>();
    ChunkSplitter splitter = new ChunkSplitter(subResources, "exercise");
    List<Chunk> chunks = splitter.splitChunks(content);
    if (hasAnswer(subResources))
      resources.add(new ExerciseResource(ExerciseChunk.getExerciseCount()));
    resources.addAll(subResources);
    return new ExerciseChunk(chunks);
  }

  private boolean hasAnswer(ArrayList<Resource> subResources) {
    for (Resource resource : subResources) {
      if (resource instanceof AnswerResource) {
        return true;
      }
    }
    return false;
  }

}
TOP

Related Classes of br.com.caelum.tubaina.builder.replacer.ExerciseReplacer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.