/*
 * @(#)Liner.java
 *
 * Copyright (c) 1996-2010 by the original authors of JHotDraw and all its
 * contributors. All rights reserved.
 *
 * You may not use, copy or modify this file, except in compliance with the 
 * license agreement you entered into with the copyright holders. For details
 * see accompanying license terms.
 */

package org.jhotdraw.draw.liner;

import java.util.*;
import org.jhotdraw.draw.handle.Handle;
import org.jhotdraw.draw.ConnectionFigure;
import org.jhotdraw.geom.*;

/**
 * A liner encapsulates a strategy for laying out the bezier path of
 * a {@link ConnectionFigure}.
 *
 * 
* Design Patterns * *

Strategy
* The control points of the bezier path of a connection figure can be laid out * using different layout algorithms which are implemented by liners.
* Context: {@link ConnectionFigure}; Strategy: {@link Liner}. *


* * @author Werner Randelshofer * @version $Id: Liner.java 718 2010-11-21 17:49:53Z rawcoder $ */ public interface Liner extends Cloneable { /** * Layouts the Path. This may alter the number and type of points * in the Path. * * @param figure The ConnectionFigure to be lined out. */ public void lineout(ConnectionFigure figure); /** * Creates Handle's for the Liner. * The ConnectionFigure can provide these handles to the user, in order * to let her control the lineout. * * @param path The path for which to create handles. */ public Collection createHandles(BezierPath path); public Liner clone(); }

Ads help maintain this website.