package org.docear.plugin.core.features; import org.freeplane.features.map.MapModel; public final class DocearRequiredConversionController { /*********************************************************************************** * CONSTRUCTORS **********************************************************************************/ private DocearRequiredConversionController() { } /*********************************************************************************** * METHODS **********************************************************************************/ public static void setRequiredConversion(IRequiredConversion conversion, MapModel map) { if(map == null || conversion == null) { return; } if(!map.containsExtension(conversion.getClass())) { map.addExtension(conversion); if(conversion.requiresBackup()) { DocearFileBackupController.addMapBackup(conversion.getBackupLabel(), map); } } } public static <T extends IRequiredConversion> T getRequiredConversion(Class<T> clazz, MapModel map) { return (T) map.getExtension(clazz); } public static boolean hasRequiredConversion(Class<? extends IRequiredConversion> clazz, MapModel map) { return getRequiredConversion(clazz, map) != null; } /*********************************************************************************** * REQUIRED METHODS FOR INTERFACES **********************************************************************************/ }