001: /*
002: * Copyright (c) 2001 - 2005 ivata limited.
003: * All rights reserved.
004: * -----------------------------------------------------------------------------
005: * ivata masks may be redistributed under the GNU General Public
006: * License as published by the Free Software Foundation;
007: * version 2 of the License.
008: *
009: * These programs are free software; you can redistribute them and/or
010: * modify them under the terms of the GNU General Public License
011: * as published by the Free Software Foundation; version 2 of the License.
012: *
013: * These programs are distributed in the hope that they will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
016: *
017: * See the GNU General Public License in the file LICENSE.txt for more
018: * details.
019: *
020: * If you would like a copy of the GNU General Public License write to
021: *
022: * Free Software Foundation, Inc.
023: * 59 Temple Place - Suite 330
024: * Boston, MA 02111-1307, USA.
025: *
026: *
027: * To arrange commercial support and licensing, contact ivata at
028: * http://www.ivata.com/contact.jsp
029: * -----------------------------------------------------------------------------
030: * $Log: Mask.java,v $
031: * Revision 1.6 2005/04/11 12:27:03 colinmacleod
032: * Added preliminary support for filters.
033: * Added FieldValueConvertor factor interface
034: * to split off value convertors for reuse.
035: *
036: * Revision 1.5 2005/04/09 18:04:14 colinmacleod
037: * Changed copyright text to GPL v2 explicitly.
038: *
039: * Revision 1.4 2005/01/19 12:39:39 colinmacleod
040: * Changed Id --> Name.
041: *
042: * Revision 1.3 2005/01/06 22:13:21 colinmacleod
043: * Moved up a version number.
044: * Changed copyright notices to 2005.
045: * Updated the documentation:
046: * - started working on multiproject:site docu.
047: * - changed the logo.
048: * Added checkstyle and fixed LOADS of style issues.
049: * Added separate thirdparty subproject.
050: * Added struts (in web), util and webgui (in webtheme) from ivata op.
051: *
052: * Revision 1.2 2004/12/30 20:15:14 colinmacleod
053: * Moved first and last fields up to Group from Mask.
054: *
055: * Revision 1.1 2004/12/29 20:07:06 colinmacleod
056: * Renamed subproject masks to mask.
057: *
058: * Revision 1.1.1.1 2004/05/16 20:40:31 colinmacleod
059: * Ready for 0.1 release
060: * -----------------------------------------------------------------------------
061: */
062: package com.ivata.mask;
063:
064: import java.util.List;
065: import com.ivata.mask.group.Group;
066:
067: /**
068: * Defines a single mask for display.
069: *
070: * @author Colin MacLeod
071: * @since ivata masks 0.1 (2004-05-15) <a
072: * href='mailto:colin.macleod@ivata.com'>colin.macleod@ivata.com </a>
073: */
074: public interface Mask extends Group {
075: /**
076: * <p>
077: * Get the dependent object class associated with this mask.
078: * </p>
079: *
080: * @return The dependent object class associated with this mask.
081: */
082: Class getDOClass();
083:
084: /**
085: * <p>
086: * Get all the fields to be displayed in this mask.
087: * </p>
088: *
089: * @return All the fields to be displayed in this mask as a
090: * <code>List</code> of <code>Field</code> instances.
091: */
092: List getFields();
093:
094: /**
095: * For masks, you can include non-dynamically generated field layouts. In
096: * a web-app these paths equate to a <strong>Struts</strong> action forward,
097: * used in a <jsp:include...> tag.
098: *
099: * @return a list of all static fields included in the mask.
100: */
101: List getIncludePaths();
102: }
|