package com.plectix.simulator.staticanalysis.stories.compressions; import com.plectix.simulator.simulator.SimulationArguments.StoryCompressionMode; import com.plectix.simulator.staticanalysis.stories.storage.StoryStorageException; import com.plectix.simulator.staticanalysis.stories.storage.WireStorageInterface; public final class Compressor { private final WireStorageInterface storage; public Compressor(WireStorageInterface storage) { this.storage = storage; } public final void execute(StoryCompressionMode compressionMode) throws StoryStorageException { switch (compressionMode) { case NONE: executeNoneCompression(); return; case WEAK: executeWeakCompression(); return; case STRONG: executeStrongCompression(); return; } } final void executeNoneCompression() { // TODO Auto-generated method stub } final void executeWeakCompression() throws StoryStorageException { WeakCompression weak = new WeakCompression(storage); weak.process(); } final void executeStrongCompression() throws StoryStorageException { CompressionPassport passport = storage.extractPassport(); StrongCompression strong = new StrongCompression(passport); strong.process(); } }