01: package com.intersys.classes.SYSTEM;
02:
03: import com.intersys.classes.Persistent;
04: import com.intersys.classes.RegisteredObject;
05: import com.intersys.objects.Database;
06: import com.intersys.objects.CacheException;
07: import com.intersys.objects.Id;
08: import com.intersys.cache.CacheObject;
09: import com.intersys.cache.SysDatabase;
10: import com.intersys.cache.Dataholder;
11:
12: public class Process extends Persistent {
13: private static String CACHE_CLASS_NAME = "%SYSTEM.Process";
14:
15: /**
16: * NB: DO NOT USE IN APPLICATION!
17: * Use <code>Person._open</code> instead.
18: * <p/>
19: * Used to construct a Java object, corresponding to existing object
20: * in Cache database.
21: *
22: * @see #_open(com.intersys.objects.Database, com.intersys.objects.Oid)
23: * @see #_open(com.intersys.objects.Database, com.intersys.objects.Id)
24: */
25: public Process(CacheObject ref) throws CacheException {
26: super (ref);
27: }
28:
29: /**
30: * Creates a new instance of object "<CacheClassName>" in Cache
31: * database and corresponding object of class
32: * <code>Person</code>.
33: *
34: * @param _db <code>Database</code> object used for connection with
35: * Cache database.
36: * @throws CacheException in case of error.
37: * @see #_open(com.intersys.objects.Database, com.intersys.objects.Oid)
38: * @see #_open(com.intersys.objects.Database, com.intersys.objects.Id)
39: */
40: public Process(Database db) throws CacheException {
41: super (((SysDatabase) db).newCacheObject(CACHE_CLASS_NAME));
42: }
43:
44: /**
45: * Runs method <code> %OpenId </code> in Cache to open an object
46: * from Cache database and creates corresponding object of class
47: * <code>Person</code>.
48: *
49: * @param _db <code>Database</code> object used for connection with
50: * Cache database.
51: * @param id ID as specified in Cache represented as
52: * <code>Id</code>.
53: * @return <code> RegisteredObject </code>, corresponding to opened
54: * object. This object may be of <code>Person</code> or of
55: * any of its subclasses. Cast to <code>Person</code> is
56: * guaranteed to pass without <code>ClassCastException</code> exception.
57: * @throws CacheException in case of error.
58: * @see java.lang.ClassCastException
59: * @see #_open(com.intersys.objects.Database, com.intersys.objects.Oid)
60: * @see #Person
61: */
62: public static RegisteredObject _open(Database db, Id id)
63: throws CacheException {
64: CacheObject cobj = (((SysDatabase) db).openCacheObject(
65: CACHE_CLASS_NAME, id.toString()));
66: return (RegisteredObject) (cobj.newJavaInstance());
67: }
68:
69: public Dataholder terminate() throws CacheException {
70: Dataholder[] args = new Dataholder[0];
71: Dataholder res = mInternal.runInstanceMethod("Terminate", args,
72: Database.RET_PRIM);
73: return res;
74:
75: }
76: }
|