View Javadoc
1 /* 2 * Scope: a generic MVC framework. 3 * Copyright (c) 2000-2002, The Scope team 4 * All rights reserved. 5 * 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 11 * Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 14 * Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in the 16 * documentation and/or other materials provided with the distribution. 17 * 18 * Neither the name "Scope" nor the names of its contributors 19 * may be used to endorse or promote products derived from this software 20 * without specific prior written permission. 21 * 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR 27 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 28 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 29 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 * 35 * 36 * $Id: View.java,v 1.5 2002/09/06 16:11:47 ludovicc Exp $ 37 */ 38 package org.scopemvc.core; 39 40 /*** 41 * <P> 42 * 43 * A View implements the presentation of a model object to the user and allows 44 * interaction with the model object. Implementations can be bound to a model 45 * and change the state of the model as the user interacts with the View. If the 46 * View implements ModelChangeListener then it can also update in response to 47 * changes in the state of bound models that implement ModelChangeEventSource. A 48 * View can also issue Controls to its parent Controller in response to user 49 * interaction that influences with application logic. </P> <P> 50 * 51 * A View is bound to a single model object, i.e. it presents some or all of the 52 * data in the bound model. </P> <P> 53 * 54 * If a View needs to show data from multiple models, it will be bound to a 55 * parent model that contains those multiple models as accessible properties. 56 * Think of this parent container as an implementation <I>view model</I> rather 57 * than a business/domain model. </P> <P> 58 * 59 * A View is created and displayed by a parent Controller the implements 60 * application/presentation logic. </P> 61 * 62 * @author <A HREF="mailto:smeyfroi@users.sourceforge.net">Steve Meyfroidt</A> 63 * @created 05 August 2002 64 * @version $Revision: 1.5 $ $Date: 2002/09/06 16:11:47 $ 65 * @see Controller 66 * @see org.scopemvc.view.swing 67 * @see org.scopemvc.view.servlet.xml 68 */ 69 public interface View { 70 71 /*** 72 * Gets the model object bound to this View. 73 * 74 * @return the model object this View is bound to. 75 */ 76 Object getBoundModel(); 77 78 79 /*** 80 * Sets the model object bound to this View. 81 * 82 * @param inModel a model object that this View will bind to to present to 83 * the user. 84 */ 85 void setBoundModel(Object inModel); 86 87 88 /*** 89 * Gets the Controller for this View 90 * 91 * @return the parent (owner) Controller or null if none. 92 */ 93 Controller getController(); 94 95 96 /*** 97 * Sets the Controller for this View 98 * 99 * @param inController assign a parent (owner) Controller that this View 100 * will issue Controls to. 101 */ 102 void setController(Controller inController); 103 104 105 /*** 106 * Issue a Control to the View's parent (owner) Controller. 107 * 108 * @param inControl The Control to issue 109 */ 110 void issueControl(Control inControl); 111 } 112

This page was automatically generated by Maven