1 /*******************************************************************************
2 * Imixs Workflow
3 * Copyright (C) 2001, 2011 Imixs Software Solutions GmbH,
4 * http://www.imixs.com
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You can receive a copy of the GNU General Public
17 * License at http://www.gnu.org/licenses/gpl.html
18 *
19 * Project:
20 * http://www.imixs.org
21 * http://java.net/projects/imixs-workflow
22 *
23 * Contributors:
24 * Imixs Software Solutions GmbH - initial API and implementation
25 * Ralph Soika - Software Developer
26 *******************************************************************************/
27
28 package org.imixs.workflow;
29
30 import org.imixs.workflow.exceptions.ModelException;
31
32 /**
33 * A ExtendedModel extends the Model Interface and supports a multi-model
34 * concept
35 *
36 * @author Ralph Soika
37 * @version 1.0
38 * @see org.imixs.workflow.Model
39 */
40 public interface ExtendedModel extends Model {
41
42 /**
43 * Finds and returns the ProcessEntity for a processid inside the Model.
44 *
45 * @param processid
46 * @return ItemCollection
47 * @throws Exception
48 */
49 public ItemCollection getProcessEntityByVersion(int processid,
50 String modelVersion) throws ModelException;
51
52 /**
53 * Finds and returns the ActivityEntity for a processid and a activityid
54 * inside the Model.
55 *
56 * @param processid
57 * @param activityid
58 * @return ItemCollection
59 * @throws Exception
60 */
61 public ItemCollection getActivityEntityByVersion(int processid,
62 int activityid, String modelVersion) throws ModelException;
63
64 /**
65 * retruns a collection of ProcessEntities
66 *
67 * @return Collection org.imixs.workflow.ItemCollection
68 * @throws Exception
69 */
70 public java.util.Collection<ItemCollection> getProcessEntityListByVersion(
71 String modelVersion) throws ModelException;
72
73 /**
74 * retruns a collection of ActivityEntities for a specivic ProcessID. If the
75 * process ID did not exists an empty collection should be returned
76 *
77 * @return Collection org.imixs.workflow.ItemCollection
78 * @throws Exception
79 */
80 public java.util.Collection<ItemCollection> getActivityEntityListByVersion(
81 int processid, String modelVersion) throws ModelException;
82
83 }