001: // @@
002: // @@
003: /*
004: * Wi.Ser Framework
005: *
006: * Version: 1.8.1, 20-September-2007
007: * Copyright (C) 2005 Dirk von der Weiden <dvdw@imail.de>
008: *
009: * This library is free software; you can redistribute it and/or
010: * modify it under the terms of the GNU Lesser General Public
011: * License as published by the Free Software Foundation; either
012: * version 2 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: * Lesser General Public License for more details.
018: *
019: * You should have received a copy of the GNU Lesser General Public
020: * License along with this library located in LGPL.txt in the
021: * license directory; if not, write to the
022: * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
023: * Boston, MA 02111-1307, USA.
024: *
025: * If this agreement does not cover your requirements, please contact us
026: * via email to get detailed information about the commercial license
027: * or our service offerings!
028: *
029: */
030: // @@
031: package de.ug2t.kernel.interfaces;
032:
033: public interface IKeRegisteredObject {
034:
035: /**
036: * <p>
037: * Deletes an object from the registry
038: * </p>
039: * <p>
040: *
041: * </p>
042: * <p>
043: * </p>
044: */
045: public abstract void pcmf_delete() throws Exception;
046:
047: /**
048: * <p>
049: * Registers an object in the currently running threads namespace which is
050: * derived from KeRegisteredObject
051: * </p>
052: * <p>
053: *
054: * </p>
055: * <p>
056: *
057: * @param xName
058: * unique name of the object and must not be null
059: * </p>
060: */
061: public abstract int pcmf_register(String xName);
062:
063: /**
064: * <p>
065: * Returns whether this object is registered or not
066: * </p>
067: */
068: public abstract boolean pcmf_isRegistered();
069:
070: /**
071: * <p>
072: * Returns whether this object is registered globally or not
073: * </p>
074: */
075: public abstract boolean pcmf_isGlobal();
076:
077: /**
078: * <p>
079: * Returns whether this object is registered localy or not
080: * </p>
081: */
082: public abstract boolean pcmf_isLocal();
083:
084: /**
085: * <p>
086: * Registers an object in the global namespace which is derived from
087: * KeRegisteredObject
088: * </p>
089: * <p>
090: *
091: * </p>
092: * <p>
093: *
094: * @param xName
095: * unique name of the object
096: * </p>
097: */
098: public abstract int pcmf_registerGlobal(String xName);
099:
100: /**
101: * For internal use only
102: */
103: public abstract Object pcmf_unRegister();
104:
105: /**
106: * For internal use only
107: */
108: public abstract boolean pcmf_isDeleted();
109:
110: /**
111: * <p>
112: * Sets this object to early auto delete. This means the object is deleted
113: * automatically when no reference points to it except the one in the
114: * registry.
115: * </p>
116: * <p>
117: *
118: * </p>
119: * <p>
120: *
121: * @param xWr
122: * true means early auto delete, false means you are responsible for
123: * the object delete
124: * </p>
125: */
126: public abstract void pcmf_setEarlyAutoDelete(boolean xWR);
127:
128: /**
129: * <p>
130: * Sets this object to late auto delete. This means the object is deleted
131: * automatically when no reference points to it except the one in the registry
132: * and the memory is low.
133: * </p>
134: * <p>
135: *
136: * </p>
137: * <p>
138: *
139: * @param xWr
140: * true means late auto delete, false means you are responsible for
141: * the object delete
142: * </p>
143: */
144: public abstract void pcmf_setLateAutoDelete(boolean xWR);
145: }
|