01: // THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS
02: // CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
03: // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
04: // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD.
05: // OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
06: // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
07: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
08: // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
09: // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
10: // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
11: // EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE
12: // POSSIBILITY OF SUCH DAMAGE.
13: //
14: // Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
15: package com.metaboss.applications.designstudio.userobjects;
16:
17: import com.metaboss.applications.designstudio.Application;
18: import com.metaboss.applications.designstudio.BasePropertiesDialog;
19: import com.metaboss.applications.designstudio.BaseUserObject;
20: import com.metaboss.applications.designstudio.propertiesdialogs.FieldPropertiesDialog;
21: import com.metaboss.applications.designstudio.propertiesview.PropertiesTableModel;
22: import com.metaboss.sdlctools.models.metabossmodel.MetaBossModelPackage;
23: import com.metaboss.sdlctools.models.metabossmodel.enterprisemodel.EnterpriseModelPackage;
24: import com.metaboss.sdlctools.models.metabossmodel.enterprisemodel.Message;
25: import com.metaboss.sdlctools.models.metabossmodel.enterprisemodel.MessageField;
26: import com.metaboss.sdlctools.models.metabossmodel.enterprisemodel.MessageFieldClass;
27:
28: /* BOMessageField user object class */
29:
30: public class MessageFieldUserObject extends BaseUserObject {
31: private MessageField mField = null;
32:
33: public MessageFieldUserObject(MessageField pMessageField) {
34: super (pMessageField, Application.FIELDS_ICON);
35: mField = pMessageField;
36: }
37:
38: // create new field
39: public static void addNewMessageField(Message pMessage)
40: throws Exception {
41: new MessageFieldUserObject(null).addNewObject(
42: getObjectPackage(pMessage), pMessage.getFields());
43: }
44:
45: public BaseUserObject createNewObject(MetaBossModelPackage pPackage) {
46: EnterpriseModelPackage lEnterpriseModelPackage = pPackage
47: .getEnterpriseModel();
48: MessageFieldClass lClass = lEnterpriseModelPackage
49: .getMessageField();
50: return new MessageFieldUserObject(lClass.createMessageField());
51: }
52:
53: public MessageField getField() {
54: return mField;
55: }
56:
57: // return object root node captions
58: public String getRootNodeName() {
59: return Application.getString("fields_node");
60: }
61:
62: // load object properties into grid control
63: public void loadObjectProperties(PropertiesTableModel pModel)
64: throws Exception {
65: super .loadObjectProperties(pModel);
66: if (pModel == null || mField == null)
67: return;
68:
69: addModelElement(pModel, "Type", mField.getDataType());
70: }
71:
72: // get object editor
73: public BasePropertiesDialog getObjectEditor() {
74: return new FieldPropertiesDialog();
75: }
76: }
|