/** * Copyright (c) 2014 Matthias Jaenicke <matthias.jaenicke@student.kit.edu>, * Matthias Plappert <undkc@student.kit.edu>, * Julien Duman <uncyc@student.kit.edu>, * Christian Dreher <uaeef@student.kit.edu>, * Wasilij Beskorovajnov <uajkm@student.kit.edu> and * Aydin Tekin <aydin.tekin@student.kit.edu> * * Released under the MIT license (refer to LICENSE.md) * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package edu.kit.iks.Cryptographics.Caesar; import java.util.ArrayList; import java.util.List; import org.xnap.commons.i18n.I18n; import edu.kit.iks.Cryptographics.Caesar.Demonstration.CryptoDemonstrationController; import edu.kit.iks.Cryptographics.Caesar.Demonstration.IntroductionController; import edu.kit.iks.Cryptographics.Caesar.Experiment.CryptoExperimentController; import edu.kit.iks.Cryptographics.Caesar.Experiment.HistogramController; import edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo; import edu.kit.iks.CryptographicsLib.Configuration; import edu.kit.iks.CryptographicsLib.InformationController; import edu.kit.iks.CryptographicsLib.VisualizationDifficulty; /** * @author Wasilij Beskorovajnov. * */ public class CaesarVisualizationInfo extends AbstractVisualizationInfo { /** * Localization instance */ private static I18n i18n = Configuration.getInstance().getI18n( CaesarVisualizationInfo.class); /** * Constructor for the visualizationInfo. */ public CaesarVisualizationInfo() { } /* * @see edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo#getControllerClasses () */ @SuppressWarnings("rawtypes") @Override public List<Class> getControllerClasses() { List<Class> controllerClasses = new ArrayList<Class>(); controllerClasses.add(IntroductionController.class); controllerClasses.add(CryptoDemonstrationController.class); controllerClasses.add(CryptoExperimentController.class); controllerClasses.add(HistogramController.class); controllerClasses.add(InformationController.class); return controllerClasses; } /* * @see edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo#getDescription() */ @Override public String getDescription() { String description = CaesarVisualizationInfo.i18n .tr("Get to know how Ceasar fooled his enemys that " + "intercepted his orders and see one of the oldest " + "attempts to make confidential material unreadable " + "for undesireable readers."); return description; } /* * @see edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo#getDifficulty() */ @Override public VisualizationDifficulty getDifficulty() { return VisualizationDifficulty.EASY; } /* * @see edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo#getId() */ @Override public String getId() { return "caesar"; } /* * @see edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo#getName() */ @Override public String getName() { return CaesarVisualizationInfo.i18n.tr("Caesar"); } /* * @see edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo#getQRCodeContent () */ @Override public String getQRCodeContent() { return i18n.tr("http://en.wikipedia.org/wiki/Caesar_cipher"); } /* * @see edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo#getTimelineOffset () */ @Override public float getTimelineOffset() { return 0.05f; } /* * @see edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo#getYear() */ @Override public int getYear() { // when getYear() negative then it's the year B.C. // The year is an estimation!!! return -70; } }