20 package net.sf.gridarta.model.collectable;
22 import java.io.BufferedWriter;
24 import java.io.FileOutputStream;
25 import java.io.IOException;
26 import java.io.OutputStreamWriter;
27 import java.io.Writer;
28 import java.util.Collection;
36 import net.
sf.japi.swing.action.ActionBuilder;
37 import net.
sf.japi.swing.action.ActionBuilderFactory;
38 import net.
sf.japi.swing.misc.Progress;
39 import org.jetbrains.annotations.NotNull;
53 private static final ActionBuilder
ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder(
"net.sf.gridarta");
78 public void collect(@NotNull
final Progress progress, @NotNull
final File collectedDirectory)
throws IOException {
79 final File file =
new File(collectedDirectory,
archFile);
80 try (FileOutputStream fos =
new FileOutputStream(file)) {
82 try (Writer out =
new BufferedWriter(osw)) {
95 private void collect(@NotNull
final Progress progress, @NotNull
final Writer writer)
throws IOException {
98 int artifactCount = 0;
100 for (
final R archetype : archetypes) {
101 if (archetype.isArtifact()) {
105 if (archetype.isUndefinedArchetype()) {
109 if (archetype.isTail()) {
120 if (count % 100 == 0) {
121 progress.setValue(count);
128 progress.setValue(archetypes.size());
138 out.append(
"Object ").append(archetype.getArchetypeName()).append(
'\n');
141 out.append(
"x ").append(Integer.toString(archetype.getMultiX())).append(
'\n');
142 out.append(
"y ").append(Integer.toString(archetype.getMultiY())).append(
'\n');
145 out.append(archetype.getObjectText());
157 protected abstract int collectArchetype(@NotNull R archetype, @NotNull Writer out)
throws IOException;