View Javadoc

1   /* (c) Copyright 2003 Caleigo AB, All rights reserved. 
2    * 
3    * This library is free software; you can redistribute it and/or
4    * modify it under the terms of the GNU Lesser General Public
5    * License as published by the Free Software Foundation; either
6    * version 2.1 of the License, or (at your option) any later version.
7    * 
8    * This library is distributed in the hope that it will be useful,
9    * but WITHOUT ANY WARRANTY; without even the implied warranty of
10   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11   * Lesser General Public License for more details.
12   * 
13   * You should have received a copy of the GNU Lesser General Public
14   * License along with this library; if not, write to the Free Software
15   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16   *  
17   */
18  
19  package org.caleigo.core;
20  
21  
22  /*** IEntityAction objects are used to perform or trigger some kind of work 
23   * or data calculation. It is the preffered way in the celgen application 
24   * framework to encapsulate and handle business logic. <p>
25   *
26   * Using IEntityAction it is possible to make business-logic transperent for 
27   * multiple types view solutions in the frameworks MVC design. The IEntityAction 
28   * objects can be connected to the entity descriptor model making it pssible 
29   * to integrate the business logic in the dynamic view structure in the swing 
30   * based view implementation.  
31   *
32   * @author  Dennis Zikovic
33   * @version 1.00
34   *
35   *//*
36   *
37   * WHEN        WHO               WHY & WHAT
38   * ------------------------------------------------------------------------------
39   * 2002-09-09  Dennis Zikovic    Creation
40   */
41  public interface IEntityAction
42  {
43      // Constants ---------------------------------------------------------------
44      public static final int ENTITY = 0x0001;
45      public static final int SELECTION = 0x0002;
46      public static final int QUALIFIER = 0x0004;
47      
48      public static final int READ_ONLY = 0x0010;
49      public static final int SYSTEM = 0x0020;
50      
51      public static final int NEVER_EXPORT = 0x0100;
52      public static final int IDENTITY_EXPORT = 0x0200;
53      public static final int ASSOCIATION_EXPORT = 0x0400;
54      
55      public static final int PRIMARY = 0x1000;
56      public static final int SECONDARY = 0x2000;
57      public static final int MISCELLANEOUS = 0x4000;
58      public static final int DRAG = 0x8000;
59      
60      // Methods -----------------------------------------------------------------
61      
62      /*** Performs the actions logic using the provided IActionData object.
63       */
64      public void perform(IDataBundle data);
65      
66      /*** Access method that returns the IActionDataDescriptor for the IActionData
67       * theat the called action needs to perform its logic payload.
68       */ 
69      public IDataBundleDescriptor getDataBundleDescriptor();
70      
71      /*** Access method that returns the IEntityDescriptor object that the 
72       * called action object is a part of.
73       */
74      public IEntityDescriptor getEntityDescriptor();
75      
76      /*** Access method that returns the code name that can be used to identify
77       * the called IAction object.
78       */
79      public String getCodeName();    
80      
81      /*** Access method that returns a end-user presentable name that can be used 
82       * as button and meny labels.
83       */
84      public String getDisplayName();
85      
86      /*** Access method that returns a end-user presentable hint text that can be 
87       * used as a help text or fly-by hint.
88       */
89      public String getDisplayHint();
90          
91      /*** Access method that return true if the called action object has
92       * of the provided category flag set to true.
93       */
94      public boolean isInCategory(int category);
95      
96      // Nested classes ----------------------------------------------------------
97  }