All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.gluebooster.java.booster.basic.meta.Zoomable Maven / Gradle / Ivy

package net.sf.gluebooster.java.booster.basic.meta;


import java.util.List;

import org.apache.commons.lang3.tuple.Pair;

/**
 * Optimization: Use Zoomfactor (getter and
 * 
 * @author CBauer
 * 
 * @param 
 *            the class of the objects to which the zoom in leads.
 * @param 
 *            the class of the objects that act as focus (to click) when zooming
 *            in
 * @param 
 *            the class of the objects to which the zoom out leads.
 * @param 
 *            the class of the objects that act as focus (to click) when zooming
 *            out
 * @param 
 *            for example the zoom factor
 * @defaultParamText zoomInFocus the focus for zooming in
 * @defaultParamText parameter additional zoom parameter
 */
public interface Zoomable {
 
 
	/**
	 * Get the object and focus for zooming out. The result may be null or
	 * object and/or focus may be null.
	 * 
	 * @return the pair of object and focus
	 */
	 Pair getZoomOut(ZoomParameter parameter);

	/**
	 * Set the object, focus and (default) parameter for zooming out.
	 * 
	 * @param value
	 *            the new values
	 */
	 void setZoomOut(Pair value, ZoomParameter parameter);
	 
	 /**
	 * Get the zoomed object when zooming in.
	 * 
	 * @return the object to which the focus leads
	 */
	ZoomInObject getZoomIn(ZoomInFocus zoomInFocus, ZoomParameter parameter);

	 /**
	 * Sets the zoom-in-object for a given focus.
	 * 
	 * @param zoomInObject
	 *            the new value
	 */
	void setZoomInFocus(ZoomInFocus zoomInFocus, ZoomInObject zoomInObject);
	 
	 /**
	 * Creates a new focus for zooming in. The focus needs not to be not
	 * integrated into the instance.
	 * 
	 * @return the created focus
	 */
	 ZoomInFocus createZoomInFocus();
	 
	/**
	 * Creates a new object as (possible) result after zooming in.
	 * 
	 * @return the created object
	 */
	 ZoomInObject createZoomInObject();

	 /**
	 * Get all focus points for zooming in.
	 * 
	 * @return all found focus points.
	 */
	 List getAllZoomInFocus();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy