01: package org.drools.ruleflow.common.core;
02:
03: import java.io.Serializable;
04:
05: /*
06: * Copyright 2005 JBoss Inc
07: *
08: * Licensed under the Apache License, Version 2.0 (the "License");
09: * you may not use this file except in compliance with the License.
10: * You may obtain a copy of the License at
11: *
12: * http://www.apache.org/licenses/LICENSE-2.0
13: *
14: * Unless required by applicable law or agreed to in writing, software
15: * distributed under the License is distributed on an "AS IS" BASIS,
16: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: * See the License for the specific language governing permissions and
18: * limitations under the License.
19: */
20:
21: /**
22: * Represents a some process definition.
23: * A process has a name and a unique id.
24: * When a new version of a process is created, the name stays the same,
25: * but the id and the version of the process should be different.
26: * Different types of processes could be defined (like RuleFlow).
27: *
28: * @author <a href="mailto:kris_verlaenen@hotmail.com">Kris Verlaenen</a>
29: */
30: public interface Process extends Serializable {
31:
32: /**
33: * Sets the id of this process.
34: * The id should uniquely identify this process.
35: * @param id the id of the process
36: */
37: void setId(String id);
38:
39: /**
40: * Returns the id of this process.
41: * @return the id of this process
42: */
43: String getId();
44:
45: /**
46: * Sets the name of this process.
47: * @param name the name of this process
48: */
49: void setName(String name);
50:
51: /**
52: * Returns the name of this process.
53: * If no name is specified, null is returned.
54: * @return the name of this process
55: */
56: String getName();
57:
58: /**
59: * Sets the version of this process.
60: * @param version the version of this process
61: */
62: void setVersion(String version);
63:
64: /**
65: * Returns the version of this process.
66: * If no version is specified, null is returned.
67: * @return the version of this process
68: */
69: String getVersion();
70:
71: /**
72: * Sets the type of this process.
73: * @param type the type of this process
74: */
75: void setType(String type);
76:
77: /**
78: * Returns the type of this process.
79: * @return the type of this process
80: */
81: String getType();
82:
83: }
|