001: /*
002: * <copyright>
003: *
004: * Copyright 1997-2004 BBNT Solutions, LLC
005: * under sponsorship of the Defense Advanced Research Projects
006: * Agency (DARPA).
007: *
008: * You can redistribute this software and/or modify it under the
009: * terms of the Cougaar Open Source License as published on the
010: * Cougaar Open Source Website (www.cougaar.org).
011: *
012: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
013: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
014: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
015: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
016: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
017: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
018: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
019: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
020: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
021: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
022: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
023: *
024: * </copyright>
025: */
026:
027: /* @generated Thu Sep 27 15:21:47 EDT 2007 from /u01/builds/cougaar/B12_4/B12_4/070927151721/src/glm/src/org/cougaar/glm/ldm/asset/alpprops.def - DO NOT HAND EDIT */
028: /** Primary client interface for AirLiftPG.
029: * @see NewAirLiftPG
030: * @see AirLiftPGImpl
031: **/package org.cougaar.glm.ldm.asset;
032:
033: import org.cougaar.planning.ldm.measure.*;
034: import org.cougaar.planning.ldm.asset.*;
035: import org.cougaar.planning.ldm.plan.*;
036: import java.util.*;
037:
038: import org.cougaar.glm.ldm.plan.*;
039: import org.cougaar.glm.ldm.oplan.*;
040: import org.cougaar.glm.ldm.policy.*;
041: import org.cougaar.core.mts.MessageAddress;
042: import org.cougaar.glm.execution.common.InventoryReport;
043:
044: public interface AirLiftPG extends PropertyGroup,
045: org.cougaar.planning.ldm.dq.HasDataQuality {
046: Volume getMaximumBulkVolume();
047:
048: Mass getMaximumBulkWeight();
049:
050: Volume getMaximumOversizeVolume();
051:
052: Mass getMaximumOversizeWeight();
053:
054: Volume getMaximumOutsizeVolume();
055:
056: Mass getMaximumOutsizeWeight();
057:
058: int getMaximumPallets();
059:
060: /** Maximum length of Cargo allowed **/
061: Distance getMaximumLength();
062:
063: /** Maximum width of Cargo allowed **/
064: Distance getMaximumWidth();
065:
066: /** Maximum height of Cargo allowed **/
067: Distance getMaximumHeight();
068:
069: String getCargoRestrictions();
070:
071: String getPermittedCargoCategoryCodes();
072:
073: // introspection and construction
074: /** the method of factoryClass that creates this type **/
075: String factoryMethod = "newAirLiftPG";
076: /** the (mutable) class type returned by factoryMethod **/
077: String mutableClass = "org.cougaar.glm.ldm.asset.NewAirLiftPG";
078: /** the factory class **/
079: Class factoryClass = org.cougaar.glm.ldm.asset.PropertyGroupFactory.class;
080: /** the (immutable) class type returned by domain factory **/
081: Class primaryClass = org.cougaar.glm.ldm.asset.AirLiftPG.class;
082: String assetSetter = "setAirLiftPG";
083: String assetGetter = "getAirLiftPG";
084: /** The Null instance for indicating that the PG definitely has no value **/
085: AirLiftPG nullPG = new Null_AirLiftPG();
086:
087: /** Null_PG implementation for AirLiftPG **/
088: final class Null_AirLiftPG implements AirLiftPG, Null_PG {
089: public Volume getMaximumBulkVolume() {
090: throw new UndefinedValueException();
091: }
092:
093: public Mass getMaximumBulkWeight() {
094: throw new UndefinedValueException();
095: }
096:
097: public Volume getMaximumOversizeVolume() {
098: throw new UndefinedValueException();
099: }
100:
101: public Mass getMaximumOversizeWeight() {
102: throw new UndefinedValueException();
103: }
104:
105: public Volume getMaximumOutsizeVolume() {
106: throw new UndefinedValueException();
107: }
108:
109: public Mass getMaximumOutsizeWeight() {
110: throw new UndefinedValueException();
111: }
112:
113: public int getMaximumPallets() {
114: throw new UndefinedValueException();
115: }
116:
117: public Distance getMaximumLength() {
118: throw new UndefinedValueException();
119: }
120:
121: public Distance getMaximumWidth() {
122: throw new UndefinedValueException();
123: }
124:
125: public Distance getMaximumHeight() {
126: throw new UndefinedValueException();
127: }
128:
129: public String getCargoRestrictions() {
130: throw new UndefinedValueException();
131: }
132:
133: public String getPermittedCargoCategoryCodes() {
134: throw new UndefinedValueException();
135: }
136:
137: public boolean equals(Object object) {
138: throw new UndefinedValueException();
139: }
140:
141: public Object clone() throws CloneNotSupportedException {
142: throw new CloneNotSupportedException();
143: }
144:
145: public NewPropertyGroup unlock(Object key) {
146: return null;
147: }
148:
149: public PropertyGroup lock(Object key) {
150: return null;
151: }
152:
153: public PropertyGroup lock() {
154: return null;
155: }
156:
157: public PropertyGroup copy() {
158: return null;
159: }
160:
161: public Class getPrimaryClass() {
162: return primaryClass;
163: }
164:
165: public String getAssetGetMethod() {
166: return assetGetter;
167: }
168:
169: public String getAssetSetMethod() {
170: return assetSetter;
171: }
172:
173: public Class getIntrospectionClass() {
174: return AirLiftPGImpl.class;
175: }
176:
177: public boolean hasDataQuality() {
178: return false;
179: }
180:
181: public org.cougaar.planning.ldm.dq.DataQuality getDataQuality() {
182: return null;
183: }
184: }
185:
186: /** Future PG implementation for AirLiftPG **/
187: final class Future implements AirLiftPG, Future_PG {
188: public Volume getMaximumBulkVolume() {
189: waitForFinalize();
190: return _real.getMaximumBulkVolume();
191: }
192:
193: public Mass getMaximumBulkWeight() {
194: waitForFinalize();
195: return _real.getMaximumBulkWeight();
196: }
197:
198: public Volume getMaximumOversizeVolume() {
199: waitForFinalize();
200: return _real.getMaximumOversizeVolume();
201: }
202:
203: public Mass getMaximumOversizeWeight() {
204: waitForFinalize();
205: return _real.getMaximumOversizeWeight();
206: }
207:
208: public Volume getMaximumOutsizeVolume() {
209: waitForFinalize();
210: return _real.getMaximumOutsizeVolume();
211: }
212:
213: public Mass getMaximumOutsizeWeight() {
214: waitForFinalize();
215: return _real.getMaximumOutsizeWeight();
216: }
217:
218: public int getMaximumPallets() {
219: waitForFinalize();
220: return _real.getMaximumPallets();
221: }
222:
223: public Distance getMaximumLength() {
224: waitForFinalize();
225: return _real.getMaximumLength();
226: }
227:
228: public Distance getMaximumWidth() {
229: waitForFinalize();
230: return _real.getMaximumWidth();
231: }
232:
233: public Distance getMaximumHeight() {
234: waitForFinalize();
235: return _real.getMaximumHeight();
236: }
237:
238: public String getCargoRestrictions() {
239: waitForFinalize();
240: return _real.getCargoRestrictions();
241: }
242:
243: public String getPermittedCargoCategoryCodes() {
244: waitForFinalize();
245: return _real.getPermittedCargoCategoryCodes();
246: }
247:
248: public boolean equals(Object object) {
249: waitForFinalize();
250: return _real.equals(object);
251: }
252:
253: public Object clone() throws CloneNotSupportedException {
254: throw new CloneNotSupportedException();
255: }
256:
257: public NewPropertyGroup unlock(Object key) {
258: return null;
259: }
260:
261: public PropertyGroup lock(Object key) {
262: return null;
263: }
264:
265: public PropertyGroup lock() {
266: return null;
267: }
268:
269: public PropertyGroup copy() {
270: return null;
271: }
272:
273: public Class getPrimaryClass() {
274: return primaryClass;
275: }
276:
277: public String getAssetGetMethod() {
278: return assetGetter;
279: }
280:
281: public String getAssetSetMethod() {
282: return assetSetter;
283: }
284:
285: public Class getIntrospectionClass() {
286: return AirLiftPGImpl.class;
287: }
288:
289: public synchronized boolean hasDataQuality() {
290: return (_real != null) && _real.hasDataQuality();
291: }
292:
293: public synchronized org.cougaar.planning.ldm.dq.DataQuality getDataQuality() {
294: return (_real == null) ? null : (_real.getDataQuality());
295: }
296:
297: // Finalization support
298: private AirLiftPG _real = null;
299:
300: public synchronized void finalize(PropertyGroup real) {
301: if (real instanceof AirLiftPG) {
302: _real = (AirLiftPG) real;
303: notifyAll();
304: } else {
305: throw new IllegalArgumentException(
306: "Finalization with wrong class: " + real);
307: }
308: }
309:
310: private synchronized void waitForFinalize() {
311: while (_real == null) {
312: try {
313: wait();
314: } catch (InterruptedException _ie) {
315: // We should really let waitForFinalize throw InterruptedException
316: Thread.interrupted();
317: }
318: }
319: }
320: }
321: }
|