/* * Copyright (c) 2002 Cunningham & Cunningham, Inc. * Copyright (c) 2009-2015 by Jochen Wierum & Cologne Intelligence * * This file is part of FitGoodies. * * FitGoodies is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * FitGoodies is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with FitGoodies. If not, see <http://www.gnu.org/licenses/>. */ package de.cologneintelligence.fitgoodies.typehandler; import de.cologneintelligence.fitgoodies.ActionFixture; import de.cologneintelligence.fitgoodies.util.DependencyManager; /** * Fixture that contains one single command: load. * <p> * The load command loads an ActionFixture by its name. */ public class SetupFixture extends ActionFixture { /** * Calls {@link #load(String)} using the 2. column as argument. * * @throws Exception propagated to fit */ public void load() throws Exception { transformAndEnter(); } /** * Registers the {@link TypeHandler} which is provided by * {@code className}. After processing this row, the TypeAdapter * will be automatically used when the destination type matches * {@link TypeHandler#getType()}. * * @param className fully qualified name of a class * @throws Exception propagated to fit, in case of unknown classes, * permission errors, etc. */ @SuppressWarnings("unchecked") public void load(final String className) throws Exception { Class<? extends TypeHandler<?>> clazz = (Class<? extends TypeHandler<?>>) Class.forName(className); TypeHandlerFactory helper = DependencyManager.getOrCreate(TypeHandlerFactory.class); helper.register(clazz); } }