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:20:42 EDT 2007 from /u01/builds/cougaar/B12_4/B12_4/070927151721/src/planning/src/org/cougaar/planning/ldm/asset/properties.def - DO NOT HAND EDIT */
028: /** AbstractFactory implementation for Properties.
029: * Prevents clients from needing to know the implementation
030: * class(es) of any of the properties.
031: **/package org.cougaar.planning.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: public class PropertyGroupFactory {
039: // brand-new instance factory
040: public static NewTypeIdentificationPG newTypeIdentificationPG() {
041: return new TypeIdentificationPGImpl();
042: }
043:
044: // instance from prototype factory
045: public static NewTypeIdentificationPG newTypeIdentificationPG(
046: TypeIdentificationPG prototype) {
047: return new TypeIdentificationPGImpl(prototype);
048: }
049:
050: // brand-new instance factory
051: public static NewClusterPG newClusterPG() {
052: return new ClusterPGImpl();
053: }
054:
055: // instance from prototype factory
056: public static NewClusterPG newClusterPG(ClusterPG prototype) {
057: return new ClusterPGImpl(prototype);
058: }
059:
060: // brand-new instance factory
061: public static NewEntityPG newEntityPG() {
062: return new EntityPGImpl();
063: }
064:
065: // instance from prototype factory
066: public static NewEntityPG newEntityPG(EntityPG prototype) {
067: return new EntityPGImpl(prototype);
068: }
069:
070: // brand-new instance factory
071: public static NewRelationshipPG newRelationshipPG() {
072: return new RelationshipPGImpl();
073: }
074:
075: // instance from prototype factory
076: public static NewRelationshipPG newRelationshipPG(
077: RelationshipPG prototype) {
078: return new RelationshipPGImpl(prototype);
079: }
080:
081: // brand-new instance factory
082: public static NewItemIdentificationPG newItemIdentificationPG() {
083: return new ItemIdentificationPGImpl();
084: }
085:
086: // instance from prototype factory
087: public static NewItemIdentificationPG newItemIdentificationPG(
088: ItemIdentificationPG prototype) {
089: return new ItemIdentificationPGImpl(prototype);
090: }
091:
092: // brand-new instance factory
093: public static NewLocationSchedulePG newLocationSchedulePG() {
094: return new LocationSchedulePGImpl();
095: }
096:
097: // instance from prototype factory
098: public static NewLocationSchedulePG newLocationSchedulePG(
099: LocationSchedulePG prototype) {
100: return new LocationSchedulePGImpl(prototype);
101: }
102:
103: // brand-new instance factory
104: public static NewCommunityPG newCommunityPG() {
105: return new CommunityPGImpl();
106: }
107:
108: // brand-new instance factory
109: public static PropertyGroupSchedule newCommunityPGSchedule() {
110: return new PropertyGroupSchedule(newCommunityPG());
111: }
112:
113: // instance from prototype factory
114: public static NewCommunityPG newCommunityPG(CommunityPG prototype) {
115: return new CommunityPGImpl(prototype);
116: }
117:
118: // instance from prototype factory
119: public static PropertyGroupSchedule newCommunityPGSchedule(
120: CommunityPG prototype) {
121: return new PropertyGroupSchedule(newCommunityPG(prototype));
122: }
123:
124: // instance from prototype schedule
125: public static PropertyGroupSchedule newCommunityPGSchedule(
126: PropertyGroupSchedule prototypeSchedule) {
127: if (!prototypeSchedule.getPGClass().equals(CommunityPG.class)) {
128: throw new IllegalArgumentException(
129: "newCommunityPGSchedule requires that getPGClass() on the PropertyGroupSchedule argument return CommunityPG.class");
130: }
131: return new PropertyGroupSchedule(prototypeSchedule);
132: }
133:
134: /** Abstract introspection information.
135: * Tuples are {<classname>, <factorymethodname>}
136: * return value of <factorymethodname> is <classname>.
137: * <factorymethodname> takes zero or one (prototype) argument.
138: **/
139: public static String properties[][] = {
140: { "org.cougaar.planning.ldm.asset.TypeIdentificationPG",
141: "newTypeIdentificationPG" },
142: { "org.cougaar.planning.ldm.asset.ClusterPG",
143: "newClusterPG" },
144: { "org.cougaar.planning.ldm.asset.EntityPG", "newEntityPG" },
145: { "org.cougaar.planning.ldm.asset.RelationshipPG",
146: "newRelationshipPG" },
147: { "org.cougaar.planning.ldm.asset.ItemIdentificationPG",
148: "newItemIdentificationPG" },
149: { "org.cougaar.planning.ldm.asset.LocationSchedulePG",
150: "newLocationSchedulePG" },
151: { "org.cougaar.planning.ldm.asset.CommunityPG",
152: "newCommunityPG" },
153: { "org.cougaar.planning.ldm.asset.PropertyGroupSchedule",
154: "newCommunityPGSchedule" }, };
155: }
|