/* * Copyright 2011 Uwe Krueger. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.mandelsoft.mand.tool.slideshow; import com.mandelsoft.mand.QualifiedMandelName; import com.mandelsoft.mand.util.MandelList; /** * * @author Uwe Krueger */ public interface SlideShowSource { public interface OneMode { QualifiedMandelName getSingleName(SlideShowModel model); } public interface TwoMode { QualifiedMandelName getFirstName(SlideShowModel model); QualifiedMandelName getSecondName(SlideShowModel model); } public interface ListMode { MandelList getMandelList(SlideShowModel model); } /** * Determine the source mode. * If generic is true, the potential mode has to be * returned, otherwise the current mode for the current state of * the source. * * @param model * @param generic return the potential mode instead of the actual one. * @return the possible slide show parameterization type. */ int getSourceMode(SlideShowModel model, boolean generic); /** * source for mode ONE */ OneMode getOneMode(SlideShowModel model); /** * source for mode TWO */ TwoMode getTwoMode(SlideShowModel model); /** * source for mode LIST */ ListMode getListMode(SlideShowModel model); }