diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-10 19:19:15 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-10 19:19:15 +0000 |
commit | c993ba575bdd1530b7bbc0c6a19c32e66fce4b89 (patch) | |
tree | 94cfba65fe887c9017ea73727966d673e51d1ab7 /sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com | |
parent | dc741421e88c3e4210b00f39877159c5117b99d3 (diff) |
moving SDO branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@834612 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com')
54 files changed, 16084 insertions, 0 deletions
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/Account.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/Account.java new file mode 100644 index 0000000000..b2062121cd --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/Account.java @@ -0,0 +1,93 @@ +/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.example.customer;
+
+import java.io.Serializable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Account</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link com.example.customer.Account#getAccountNum <em>Account Num</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @extends Serializable
+ * @generated
+ */
+public interface Account extends Serializable
+{
+ /**
+ * Returns the value of the '<em><b>Account Num</b></em>' attribute.
+ * The default value is <code>"0"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Account Num</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Account Num</em>' attribute.
+ * @see #isSetAccountNum()
+ * @see #unsetAccountNum()
+ * @see #setAccountNum(int)
+ * @generated
+ */
+ int getAccountNum();
+
+ /**
+ * Sets the value of the '{@link com.example.customer.Account#getAccountNum <em>Account Num</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Account Num</em>' attribute.
+ * @see #isSetAccountNum()
+ * @see #unsetAccountNum()
+ * @see #getAccountNum()
+ * @generated
+ */
+ void setAccountNum(int value);
+
+ /**
+ * Unsets the value of the '{@link com.example.customer.Account#getAccountNum <em>Account Num</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetAccountNum()
+ * @see #getAccountNum()
+ * @see #setAccountNum(int)
+ * @generated
+ */
+ void unsetAccountNum();
+
+ /**
+ * Returns whether the value of the '{@link com.example.customer.Account#getAccountNum <em>Account Num</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Account Num</em>' attribute is set.
+ * @see #unsetAccountNum()
+ * @see #getAccountNum()
+ * @see #setAccountNum(int)
+ * @generated
+ */
+ boolean isSetAccountNum();
+
+} // Account
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/Customer.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/Customer.java new file mode 100644 index 0000000000..213afd0da8 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/Customer.java @@ -0,0 +1,144 @@ +/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.example.customer;
+
+import java.io.Serializable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Customer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link com.example.customer.Customer#getAccount <em>Account</em>}</li>
+ * <li>{@link com.example.customer.Customer#getFirstName <em>First Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @extends Serializable
+ * @generated
+ */
+public interface Customer extends Serializable
+{
+ /**
+ * Returns the value of the '<em><b>Account</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Account</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Account</em>' containment reference.
+ * @see #isSetAccount()
+ * @see #unsetAccount()
+ * @see #setAccount(Account)
+ * @generated
+ */
+ Account getAccount();
+
+ /**
+ * Sets the value of the '{@link com.example.customer.Customer#getAccount <em>Account</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Account</em>' containment reference.
+ * @see #isSetAccount()
+ * @see #unsetAccount()
+ * @see #getAccount()
+ * @generated
+ */
+ void setAccount(Account value);
+
+ /**
+ * Unsets the value of the '{@link com.example.customer.Customer#getAccount <em>Account</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetAccount()
+ * @see #getAccount()
+ * @see #setAccount(Account)
+ * @generated
+ */
+ void unsetAccount();
+
+ /**
+ * Returns whether the value of the '{@link com.example.customer.Customer#getAccount <em>Account</em>}' containment reference is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Account</em>' containment reference is set.
+ * @see #unsetAccount()
+ * @see #getAccount()
+ * @see #setAccount(Account)
+ * @generated
+ */
+ boolean isSetAccount();
+
+ /**
+ * Returns the value of the '<em><b>First Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>First Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>First Name</em>' attribute.
+ * @see #isSetFirstName()
+ * @see #unsetFirstName()
+ * @see #setFirstName(String)
+ * @generated
+ */
+ String getFirstName();
+
+ /**
+ * Sets the value of the '{@link com.example.customer.Customer#getFirstName <em>First Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>First Name</em>' attribute.
+ * @see #isSetFirstName()
+ * @see #unsetFirstName()
+ * @see #getFirstName()
+ * @generated
+ */
+ void setFirstName(String value);
+
+ /**
+ * Unsets the value of the '{@link com.example.customer.Customer#getFirstName <em>First Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetFirstName()
+ * @see #getFirstName()
+ * @see #setFirstName(String)
+ * @generated
+ */
+ void unsetFirstName();
+
+ /**
+ * Returns whether the value of the '{@link com.example.customer.Customer#getFirstName <em>First Name</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>First Name</em>' attribute is set.
+ * @see #unsetFirstName()
+ * @see #getFirstName()
+ * @see #setFirstName(String)
+ * @generated
+ */
+ boolean isSetFirstName();
+
+} // Customer
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/CustomerFactory.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/CustomerFactory.java new file mode 100644 index 0000000000..59f94f673a --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/CustomerFactory.java @@ -0,0 +1,70 @@ +/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.example.customer;
+
+import commonj.sdo.helper.HelperContext;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public interface CustomerFactory
+{
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CustomerFactory INSTANCE = com.example.customer.impl.CustomerFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Account</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Account</em>'.
+ * @generated
+ */
+ Account createAccount();
+
+ /**
+ * Returns a new object of class '<em>Customer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Customer</em>'.
+ * @generated
+ */
+ Customer createCustomer();
+
+ /**
+ * Registers the types supported by this Factory within the supplied scope.argument
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param scope an instance of HelperContext used to manage the scoping of types.
+ * @generated
+ */
+ public void register(HelperContext scope);
+
+} //CustomerFactory
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/impl/AccountImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/impl/AccountImpl.java new file mode 100644 index 0000000000..a5d03e0b25 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/impl/AccountImpl.java @@ -0,0 +1,256 @@ +/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.example.customer.impl;
+
+import com.example.customer.Account;
+import com.example.customer.CustomerFactory;
+
+import commonj.sdo.Type;
+
+import org.apache.tuscany.sdo.impl.DataObjectBase;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Account</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link com.example.customer.impl.AccountImpl#getAccountNum <em>Account Num</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AccountImpl extends DataObjectBase implements Account
+{
+
+ public final static int ACCOUNT_NUM = 0;
+
+ public final static int SDO_PROPERTY_COUNT = 1;
+
+ public final static int EXTENDED_PROPERTY_COUNT = 0;
+
+
+ /**
+ * The internal feature id for the '<em><b>Account Num</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public final static int INTERNAL_ACCOUNT_NUM = 0;
+
+ /**
+ * The number of properties for this type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public final static int INTERNAL_PROPERTY_COUNT = 1;
+
+ protected int internalConvertIndex(int internalIndex)
+ {
+ switch (internalIndex)
+ {
+ case INTERNAL_ACCOUNT_NUM: return ACCOUNT_NUM;
+ }
+ return super.internalConvertIndex(internalIndex);
+ }
+
+
+ /**
+ * The default value of the '{@link #getAccountNum() <em>Account Num</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccountNum()
+ * @generated
+ * @ordered
+ */
+ protected static final int ACCOUNT_NUM_DEFAULT_ = 0;
+
+ /**
+ * The cached value of the '{@link #getAccountNum() <em>Account Num</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccountNum()
+ * @generated
+ * @ordered
+ */
+ protected int accountNum = ACCOUNT_NUM_DEFAULT_;
+
+ /**
+ * This is true if the Account Num attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean accountNum_set_ = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AccountImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getStaticType()
+ {
+ return ((CustomerFactoryImpl)CustomerFactory.INSTANCE).getAccount();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getAccountNum()
+ {
+ return accountNum;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccountNum(int newAccountNum)
+ {
+ int oldAccountNum = accountNum;
+ accountNum = newAccountNum;
+ boolean oldAccountNum_set_ = accountNum_set_;
+ accountNum_set_ = true;
+ if (isNotifying())
+ notify(ChangeKind.SET, INTERNAL_ACCOUNT_NUM, oldAccountNum, accountNum, !oldAccountNum_set_);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetAccountNum()
+ {
+ int oldAccountNum = accountNum;
+ boolean oldAccountNum_set_ = accountNum_set_;
+ accountNum = ACCOUNT_NUM_DEFAULT_;
+ accountNum_set_ = false;
+ if (isNotifying())
+ notify(ChangeKind.UNSET, INTERNAL_ACCOUNT_NUM, oldAccountNum, ACCOUNT_NUM_DEFAULT_, oldAccountNum_set_);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetAccountNum()
+ {
+ return accountNum_set_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object get(int propertyIndex, boolean resolve)
+ {
+ switch (propertyIndex)
+ {
+ case ACCOUNT_NUM:
+ return new Integer(getAccountNum());
+ }
+ return super.get(propertyIndex, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set(int propertyIndex, Object newValue)
+ {
+ switch (propertyIndex)
+ {
+ case ACCOUNT_NUM:
+ setAccountNum(((Integer)newValue).intValue());
+ return;
+ }
+ super.set(propertyIndex, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unset(int propertyIndex)
+ {
+ switch (propertyIndex)
+ {
+ case ACCOUNT_NUM:
+ unsetAccountNum();
+ return;
+ }
+ super.unset(propertyIndex);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSet(int propertyIndex)
+ {
+ switch (propertyIndex)
+ {
+ case ACCOUNT_NUM:
+ return isSetAccountNum();
+ }
+ return super.isSet(propertyIndex);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (isProxy(this)) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (accountNum: ");
+ if (accountNum_set_) result.append(accountNum); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //AccountImpl
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/impl/CustomerFactoryImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/impl/CustomerFactoryImpl.java new file mode 100644 index 0000000000..271b273348 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/impl/CustomerFactoryImpl.java @@ -0,0 +1,296 @@ +/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.example.customer.impl;
+
+import commonj.sdo.helper.HelperContext;
+import org.apache.tuscany.sdo.helper.TypeHelperImpl;
+
+import com.example.customer.*;
+
+import commonj.sdo.DataObject;
+import commonj.sdo.Property;
+import commonj.sdo.Type;
+
+import org.apache.tuscany.sdo.impl.FactoryBase;
+
+import org.apache.tuscany.sdo.model.ModelFactory;
+
+import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * Generator information:
+ * patternVersion=1.2; -prefix Customer
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CustomerFactoryImpl extends FactoryBase implements CustomerFactory
+{
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String NAMESPACE_URI = "http://example.com/customer";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String NAMESPACE_PREFIX = "stn_1";
+
+ /**
+ * The version of the generator pattern used to generate this class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String PATTERN_VERSION = "1.2";
+
+ public static final int ACCOUNT = 1;
+ public static final int CUSTOMER = 2;
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CustomerFactoryImpl()
+ {
+ super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.customer");
+ }
+
+ /**
+ * Registers the Factory instance so that it is available within the supplied scope.
+ * @argument scope a HelperContext instance that will make the types supported by this Factory available.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void register(HelperContext scope)
+ {
+ if(scope == null) {
+ throw new IllegalArgumentException("Scope can not be null");
+ }
+
+ //Register dependent packages with provided scope
+ ModelFactory.INSTANCE.register(scope);
+
+ // Initialize this package
+ TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
+ th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataObject create(int typeNumber)
+ {
+ switch (typeNumber)
+ {
+ case ACCOUNT: return (DataObject)createAccount();
+ case CUSTOMER: return (DataObject)createCustomer();
+ default:
+ return super.create(typeNumber);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Account createAccount()
+ {
+ AccountImpl account = new AccountImpl();
+ return account;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Customer createCustomer()
+ {
+ CustomerImpl customer = new CustomerImpl();
+ return customer;
+ }
+
+ // Following creates and initializes SDO metadata for the supported types.
+ protected Type accountType = null;
+
+ public Type getAccount()
+ {
+ return accountType;
+ }
+
+ protected Type customerType = null;
+
+ public Type getCustomer()
+ {
+ return customerType;
+ }
+
+
+ private static CustomerFactoryImpl instance = null;
+ public static CustomerFactoryImpl init()
+ {
+ if (instance != null ) return instance;
+ instance = new CustomerFactoryImpl();
+
+ // Initialize dependent packages
+ ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE;
+
+ // Create package meta-data objects
+ instance.createMetaData();
+
+ // Initialize created meta-data
+ instance.initializeMetaData();
+
+ // Mark meta-data to indicate it can't be changed
+ //theCustomerFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ????
+
+ return instance;
+ }
+
+ private boolean isCreated = false;
+
+ public void createMetaData()
+ {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create types and their properties
+ accountType = createType(false, ACCOUNT);
+ createProperty(true, accountType,AccountImpl.INTERNAL_ACCOUNT_NUM);
+ customerType = createType(false, CUSTOMER);
+ createProperty(false, customerType,CustomerImpl.INTERNAL_ACCOUNT);
+ createProperty(true, customerType,CustomerImpl.INTERNAL_FIRST_NAME);
+ }
+
+ private boolean isInitialized = false;
+
+ public void initializeMetaData()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Obtain other dependent packages
+ ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE;
+ Property property = null;
+
+ // Add supertypes to types
+
+ // Initialize types and properties
+ initializeType(accountType, Account.class, "Account", false);
+ property = getLocalProperty(accountType, 0);
+ initializeProperty(property, theModelPackageImpl.getInt(), "accountNum", "0", 0, 1, Account.class, false, true, false);
+
+ initializeType(customerType, Customer.class, "Customer", false);
+ property = getLocalProperty(customerType, 0);
+ initializeProperty(property, this.getAccount(), "account", null, 1, 1, Customer.class, false, true, false, true , null);
+
+ property = getLocalProperty(customerType, 1);
+ initializeProperty(property, theModelPackageImpl.getString(), "firstName", null, 0, 1, Customer.class, false, true, false);
+
+ createXSDMetaData(theModelPackageImpl);
+ }
+
+ protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl)
+ {
+ super.initXSD();
+
+ Property property = null;
+
+
+ addXSDMapping
+ (accountType,
+ new String[]
+ {
+ "name", "Account",
+ "kind", "empty"
+ });
+
+ addXSDMapping
+ (getProperty(accountType, AccountImpl.INTERNAL_ACCOUNT_NUM),
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "accountNum",
+ "namespace", "##targetNamespace"
+ });
+
+ addXSDMapping
+ (customerType,
+ new String[]
+ {
+ "name", "Customer",
+ "kind", "elementOnly"
+ });
+
+ addXSDMapping
+ (getProperty(customerType, CustomerImpl.INTERNAL_ACCOUNT),
+ new String[]
+ {
+ "kind", "element",
+ "name", "account",
+ "namespace", "##targetNamespace"
+ });
+
+ addXSDMapping
+ (getProperty(customerType, CustomerImpl.INTERNAL_FIRST_NAME),
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "firstName",
+ "namespace", "##targetNamespace"
+ });
+
+ property = createGlobalProperty
+ ("account",
+ this.getAccount(),
+ new String[]
+ {
+ "kind", "element",
+ "name", "account",
+ "namespace", "##targetNamespace"
+ });
+
+ property = createGlobalProperty
+ ("customer",
+ this.getCustomer(),
+ new String[]
+ {
+ "kind", "element",
+ "name", "customer",
+ "namespace", "##targetNamespace"
+ });
+
+ }
+
+} //CustomerFactoryImpl
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/impl/CustomerImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/impl/CustomerImpl.java new file mode 100644 index 0000000000..c3838b760d --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/customer/impl/CustomerImpl.java @@ -0,0 +1,419 @@ +/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.example.customer.impl;
+
+import com.example.customer.Account;
+import com.example.customer.Customer;
+import com.example.customer.CustomerFactory;
+
+import commonj.sdo.Type;
+
+import org.apache.tuscany.sdo.impl.DataObjectBase;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Customer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link com.example.customer.impl.CustomerImpl#getAccount <em>Account</em>}</li>
+ * <li>{@link com.example.customer.impl.CustomerImpl#getFirstName <em>First Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CustomerImpl extends DataObjectBase implements Customer
+{
+
+ public final static int ACCOUNT = 0;
+
+ public final static int FIRST_NAME = 1;
+
+ public final static int SDO_PROPERTY_COUNT = 2;
+
+ public final static int EXTENDED_PROPERTY_COUNT = 0;
+
+
+ /**
+ * The internal feature id for the '<em><b>Account</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public final static int INTERNAL_ACCOUNT = 0;
+
+ /**
+ * The internal feature id for the '<em><b>First Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public final static int INTERNAL_FIRST_NAME = 1;
+
+ /**
+ * The number of properties for this type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public final static int INTERNAL_PROPERTY_COUNT = 2;
+
+ protected int internalConvertIndex(int internalIndex)
+ {
+ switch (internalIndex)
+ {
+ case INTERNAL_ACCOUNT: return ACCOUNT;
+ case INTERNAL_FIRST_NAME: return FIRST_NAME;
+ }
+ return super.internalConvertIndex(internalIndex);
+ }
+
+
+ /**
+ * The cached value of the '{@link #getAccount() <em>Account</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccount()
+ * @generated
+ * @ordered
+ */
+
+ protected Account account = null;
+
+ /**
+ * This is true if the Account containment reference has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean account_set_ = false;
+
+ /**
+ * The default value of the '{@link #getFirstName() <em>First Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFirstName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FIRST_NAME_DEFAULT_ = null;
+
+ /**
+ * The cached value of the '{@link #getFirstName() <em>First Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFirstName()
+ * @generated
+ * @ordered
+ */
+ protected String firstName = FIRST_NAME_DEFAULT_;
+
+ /**
+ * This is true if the First Name attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean firstName_set_ = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CustomerImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getStaticType()
+ {
+ return ((CustomerFactoryImpl)CustomerFactory.INSTANCE).getCustomer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Account getAccount()
+ {
+ return account;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeContext basicSetAccount(Account newAccount, ChangeContext changeContext)
+ {
+ Account oldAccount = account;
+ account = newAccount;
+ boolean oldAccount_set_ = account_set_;
+ account_set_ = true;
+ if (isNotifying())
+ {
+ addNotification(this, ChangeKind.SET, INTERNAL_ACCOUNT, oldAccount, newAccount, !oldAccount_set_, changeContext);
+ }
+ return changeContext;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccount(Account newAccount)
+ {
+ if (newAccount != account)
+ {
+ ChangeContext changeContext = null;
+ if (account != null)
+ changeContext = inverseRemove(account, this, OPPOSITE_FEATURE_BASE - INTERNAL_ACCOUNT, null, changeContext);
+ if (newAccount != null)
+ changeContext = inverseAdd(newAccount, this, OPPOSITE_FEATURE_BASE - INTERNAL_ACCOUNT, null, changeContext);
+ changeContext = basicSetAccount(newAccount, changeContext);
+ if (changeContext != null) dispatch(changeContext);
+ }
+ else
+ {
+ boolean oldAccount_set_ = account_set_;
+ account_set_ = true;
+ if (isNotifying())
+ notify(ChangeKind.SET, INTERNAL_ACCOUNT, newAccount, newAccount, !oldAccount_set_);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeContext basicUnsetAccount(ChangeContext changeContext)
+ {
+ Account oldAccount = account;
+ account = null;
+ boolean oldAccount_set_ = account_set_;
+ account_set_ = false;
+ if (isNotifying())
+ {
+ addNotification(this, ChangeKind.UNSET, INTERNAL_ACCOUNT, oldAccount, null, !oldAccount_set_, changeContext);
+ }
+ return changeContext;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetAccount()
+ {
+ if (account != null)
+ {
+ ChangeContext changeContext = null;
+ changeContext = inverseRemove(account, this, EOPPOSITE_FEATURE_BASE - INTERNAL_ACCOUNT, null, changeContext);
+ changeContext = basicUnsetAccount(changeContext);
+ if (changeContext != null) dispatch(changeContext);
+ }
+ else
+ {
+ boolean oldAccount_set_ = account_set_;
+ account_set_ = false;
+ if (isNotifying())
+ notify(ChangeKind.UNSET, INTERNAL_ACCOUNT, null, null, oldAccount_set_);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetAccount()
+ {
+ return account_set_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFirstName()
+ {
+ return firstName;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFirstName(String newFirstName)
+ {
+ String oldFirstName = firstName;
+ firstName = newFirstName;
+ boolean oldFirstName_set_ = firstName_set_;
+ firstName_set_ = true;
+ if (isNotifying())
+ notify(ChangeKind.SET, INTERNAL_FIRST_NAME, oldFirstName, firstName, !oldFirstName_set_);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetFirstName()
+ {
+ String oldFirstName = firstName;
+ boolean oldFirstName_set_ = firstName_set_;
+ firstName = FIRST_NAME_DEFAULT_;
+ firstName_set_ = false;
+ if (isNotifying())
+ notify(ChangeKind.UNSET, INTERNAL_FIRST_NAME, oldFirstName, FIRST_NAME_DEFAULT_, oldFirstName_set_);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFirstName()
+ {
+ return firstName_set_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
+ {
+ switch (propertyIndex)
+ {
+ case ACCOUNT:
+ return basicUnsetAccount(changeContext);
+ }
+ return super.inverseRemove(otherEnd, propertyIndex, changeContext);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object get(int propertyIndex, boolean resolve)
+ {
+ switch (propertyIndex)
+ {
+ case ACCOUNT:
+ return getAccount();
+ case FIRST_NAME:
+ return getFirstName();
+ }
+ return super.get(propertyIndex, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set(int propertyIndex, Object newValue)
+ {
+ switch (propertyIndex)
+ {
+ case ACCOUNT:
+ setAccount((Account)newValue);
+ return;
+ case FIRST_NAME:
+ setFirstName((String)newValue);
+ return;
+ }
+ super.set(propertyIndex, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unset(int propertyIndex)
+ {
+ switch (propertyIndex)
+ {
+ case ACCOUNT:
+ unsetAccount();
+ return;
+ case FIRST_NAME:
+ unsetFirstName();
+ return;
+ }
+ super.unset(propertyIndex);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSet(int propertyIndex)
+ {
+ switch (propertyIndex)
+ {
+ case ACCOUNT:
+ return isSetAccount();
+ case FIRST_NAME:
+ return isSetFirstName();
+ }
+ return super.isSet(propertyIndex);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (isProxy(this)) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (firstName: ");
+ if (firstName_set_) result.append(firstName); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //CustomerImpl
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/CustomerFactory.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/CustomerFactory.java new file mode 100644 index 0000000000..fbac1f8e28 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/CustomerFactory.java @@ -0,0 +1,79 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.extensible.customer; + +import commonj.sdo.helper.HelperContext; + + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @generated + */ +public interface CustomerFactory +{ + + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + CustomerFactory INSTANCE = com.example.extensible.customer.impl.CustomerFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Customers Type</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Customers Type</em>'. + * @generated + */ + CustomersType createCustomersType(); + + /** + * Returns a new object of class '<em>Type</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Type</em>'. + * @generated + */ + CustomerType createCustomerType(); + + /** + * Returns a new object of class '<em>Info Type</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Info Type</em>'. + * @generated + */ + InfoType createInfoType(); + + /** + * Registers the types supported by this Factory within the supplied scope.argument + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param scope an instance of HelperContext used to manage the scoping of types. + * @generated + */ + public void register(HelperContext scope); + +} //CustomerFactory diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/CustomerType.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/CustomerType.java new file mode 100644 index 0000000000..34caf80111 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/CustomerType.java @@ -0,0 +1,198 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.extensible.customer; + +import java.io.Serializable; + +import java.math.BigInteger; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Type</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.extensible.customer.CustomerType#getName <em>Name</em>}</li> + * <li>{@link com.example.extensible.customer.CustomerType#getNumber <em>Number</em>}</li> + * <li>{@link com.example.extensible.customer.CustomerType#getInfo <em>Info</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface CustomerType extends Serializable +{ + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() + * @see #setName(String) + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link com.example.extensible.customer.CustomerType#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Unsets the value of the '{@link com.example.extensible.customer.CustomerType#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link com.example.extensible.customer.CustomerType#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + + /** + * Returns the value of the '<em><b>Number</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Number</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Number</em>' attribute. + * @see #isSetNumber() + * @see #unsetNumber() + * @see #setNumber(BigInteger) + * @generated + */ + BigInteger getNumber(); + + /** + * Sets the value of the '{@link com.example.extensible.customer.CustomerType#getNumber <em>Number</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Number</em>' attribute. + * @see #isSetNumber() + * @see #unsetNumber() + * @see #getNumber() + * @generated + */ + void setNumber(BigInteger value); + + /** + * Unsets the value of the '{@link com.example.extensible.customer.CustomerType#getNumber <em>Number</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetNumber() + * @see #getNumber() + * @see #setNumber(BigInteger) + * @generated + */ + void unsetNumber(); + + /** + * Returns whether the value of the '{@link com.example.extensible.customer.CustomerType#getNumber <em>Number</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Number</em>' attribute is set. + * @see #unsetNumber() + * @see #getNumber() + * @see #setNumber(BigInteger) + * @generated + */ + boolean isSetNumber(); + + /** + * Returns the value of the '<em><b>Info</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Info</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Info</em>' containment reference. + * @see #isSetInfo() + * @see #unsetInfo() + * @see #setInfo(InfoType) + * @generated + */ + InfoType getInfo(); + + /** + * Sets the value of the '{@link com.example.extensible.customer.CustomerType#getInfo <em>Info</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Info</em>' containment reference. + * @see #isSetInfo() + * @see #unsetInfo() + * @see #getInfo() + * @generated + */ + void setInfo(InfoType value); + + /** + * Unsets the value of the '{@link com.example.extensible.customer.CustomerType#getInfo <em>Info</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetInfo() + * @see #getInfo() + * @see #setInfo(InfoType) + * @generated + */ + void unsetInfo(); + + /** + * Returns whether the value of the '{@link com.example.extensible.customer.CustomerType#getInfo <em>Info</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Info</em>' containment reference is set. + * @see #unsetInfo() + * @see #getInfo() + * @see #setInfo(InfoType) + * @generated + */ + boolean isSetInfo(); + +} // CustomerType diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/CustomersType.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/CustomersType.java new file mode 100644 index 0000000000..5d24e228b2 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/CustomersType.java @@ -0,0 +1,57 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.extensible.customer; + +import java.io.Serializable; + +import java.util.List; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Customers Type</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.extensible.customer.CustomersType#getCustomer <em>Customer</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface CustomersType extends Serializable +{ + /** + * Returns the value of the '<em><b>Customer</b></em>' containment reference list. + * The list contents are of type {@link com.example.extensible.customer.CustomerType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Customer</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Customer</em>' containment reference list. + * @generated + */ + List getCustomer(); + +} // CustomersType diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/InfoType.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/InfoType.java new file mode 100644 index 0000000000..8bda4f74b2 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/InfoType.java @@ -0,0 +1,35 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.extensible.customer; + +import java.io.Serializable; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Info Type</b></em>'. + * <!-- end-user-doc --> + * + * + * @extends Serializable + * @generated + */ +public interface InfoType extends Serializable +{ +} // InfoType diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/CustomerFactoryImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/CustomerFactoryImpl.java new file mode 100644 index 0000000000..67bc859536 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/CustomerFactoryImpl.java @@ -0,0 +1,410 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.extensible.customer.impl; + +import commonj.sdo.helper.HelperContext; +import org.apache.tuscany.sdo.helper.TypeHelperImpl; + +import com.example.extensible.customer.*; + +import commonj.sdo.DataObject; +import commonj.sdo.Property; +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.FactoryBase; + +import org.apache.tuscany.sdo.model.ModelFactory; + +import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * Generator information: + * patternVersion=1.2; + * <!-- end-user-doc --> + * @generated + */ +public class CustomerFactoryImpl extends FactoryBase implements CustomerFactory +{ + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_URI = "http://www.example.com/extensible/customer"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_PREFIX = "customer"; + + /** + * The version of the generator pattern used to generate this class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String PATTERN_VERSION = "1.2"; + + public static final int CUSTOMERS_TYPE = 1; + public static final int CUSTOMER_TYPE = 2; + public static final int INFO_TYPE = 3; + public static final int CUST_NAME_TYPE = 4; + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CustomerFactoryImpl() + { + super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.extensible.customer"); + } + + /** + * Registers the Factory instance so that it is available within the supplied scope. + * @argument scope a HelperContext instance that will make the types supported by this Factory available. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void register(HelperContext scope) + { + if(scope == null) { + throw new IllegalArgumentException("Scope can not be null"); + } + + //Register dependent packages with provided scope + ModelFactory.INSTANCE.register(scope); + + // Initialize this package + TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper(); + th.getExtendedMetaData().putPackage(NAMESPACE_URI, this); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DataObject create(int typeNumber) + { + switch (typeNumber) + { + case CUSTOMERS_TYPE: return (DataObject)createCustomersType(); + case CUSTOMER_TYPE: return (DataObject)createCustomerType(); + case INFO_TYPE: return (DataObject)createInfoType(); + default: + return super.create(typeNumber); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object createFromString(int typeNumber, String initialValue) + { + switch (typeNumber) + { + case CUST_NAME_TYPE: + return createCustNameTypeFromString(initialValue); + default: + throw new IllegalArgumentException("The type number '" + typeNumber + "' is not a valid datatype"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertToString(int typeNumber, Object instanceValue) + { + switch (typeNumber) + { + case CUST_NAME_TYPE: + return convertCustNameTypeToString(instanceValue); + default: + throw new IllegalArgumentException("The type number '" + typeNumber + "' is not a valid datatype"); + } + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CustomersType createCustomersType() + { + CustomersTypeImpl customersType = new CustomersTypeImpl(); + return customersType; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CustomerType createCustomerType() + { + CustomerTypeImpl customerType = new CustomerTypeImpl(); + return customerType; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InfoType createInfoType() + { + InfoTypeImpl infoType = new InfoTypeImpl(); + return infoType; + } + + // Following creates and initializes SDO metadata for the supported types. + protected Type customersTypeType = null; + + public Type getCustomersType() + { + return customersTypeType; + } + + protected Type customerTypeType = null; + + public Type getCustomerType() + { + return customerTypeType; + } + + protected Type infoTypeType = null; + + public Type getInfoType() + { + return infoTypeType; + } + + protected Type custNameTypeType = null; + + public Type getCustNameType() + { + return custNameTypeType; + } + + + private static CustomerFactoryImpl instance = null; + public static CustomerFactoryImpl init() + { + if (instance != null ) return instance; + instance = new CustomerFactoryImpl(); + + // Initialize dependent packages + ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE; + + // Create package meta-data objects + instance.createMetaData(); + + // Initialize created meta-data + instance.initializeMetaData(); + + // Mark meta-data to indicate it can't be changed + //theCustomerFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ???? + + return instance; + } + + private boolean isCreated = false; + + public void createMetaData() + { + if (isCreated) return; + isCreated = true; + + // Create types and their properties + customersTypeType = createType(false, CUSTOMERS_TYPE); + createProperty(false, customersTypeType,CustomersTypeImpl.INTERNAL_CUSTOMER); + customerTypeType = createType(false, CUSTOMER_TYPE); + createProperty(true, customerTypeType,CustomerTypeImpl.INTERNAL_NAME); + createProperty(true, customerTypeType,CustomerTypeImpl.INTERNAL_NUMBER); + createProperty(false, customerTypeType,CustomerTypeImpl.INTERNAL_INFO); + infoTypeType = createType(false, INFO_TYPE); + + // Create data types + custNameTypeType = createType(true, CUST_NAME_TYPE ); + } + + private boolean isInitialized = false; + + public void initializeMetaData() + { + if (isInitialized) return; + isInitialized = true; + + // Obtain other dependent packages + ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE; + Property property = null; + + // Add supertypes to types + + // Initialize types and properties + initializeType(customersTypeType, CustomersType.class, "CustomersType", false); + property = getLocalProperty(customersTypeType, 0); + initializeProperty(property, this.getCustomerType(), "customer", null, 1, -1, CustomersType.class, false, false, false, true , null); + + initializeType(customerTypeType, CustomerType.class, "CustomerType", false); + property = getLocalProperty(customerTypeType, 0); + initializeProperty(property, this.getCustNameType(), "name", null, 1, 1, CustomerType.class, false, true, false); + + property = getLocalProperty(customerTypeType, 1); + initializeProperty(property, theModelPackageImpl.getInteger(), "number", null, 1, 1, CustomerType.class, false, true, false); + + property = getLocalProperty(customerTypeType, 2); + initializeProperty(property, this.getInfoType(), "info", null, 1, 1, CustomerType.class, false, true, false, true , null); + + initializeType(infoTypeType, InfoType.class, "InfoType", false); + // Initialize data types + initializeType(custNameTypeType, String.class, "CustNameType", true, false); + + createXSDMetaData(theModelPackageImpl); + } + + protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl) + { + super.initXSD(); + + Property property = null; + + + addXSDMapping + (customersTypeType, + new String[] + { + "name", "CustomersType", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(customersTypeType, CustomersTypeImpl.INTERNAL_CUSTOMER), + new String[] + { + "kind", "element", + "name", "customer", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (customerTypeType, + new String[] + { + "name", "CustomerType", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(customerTypeType, CustomerTypeImpl.INTERNAL_NAME), + new String[] + { + "kind", "element", + "name", "name", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (getProperty(customerTypeType, CustomerTypeImpl.INTERNAL_NUMBER), + new String[] + { + "kind", "element", + "name", "number", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (getProperty(customerTypeType, CustomerTypeImpl.INTERNAL_INFO), + new String[] + { + "kind", "element", + "name", "info" + }); + + property = createGlobalProperty + ("customer", + this.getCustomerType(), + new String[] + { + "kind", "element", + "name", "customer", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("customers", + this.getCustomersType(), + new String[] + { + "kind", "element", + "name", "customers", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (infoTypeType, + new String[] + { + "name", "InfoType", + "kind", "empty" + }); + + addXSDMapping + (custNameTypeType, + new String[] + { + "name", "CustNameType", + "baseType", "commonj.sdo#String" + }); + + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String createCustNameTypeFromString(String initialValue) + { + return (String)((ModelFactoryImpl)ModelFactory.INSTANCE).createStringFromString(initialValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertCustNameTypeToString(Object instanceValue) + { + return ((ModelFactoryImpl)ModelFactory.INSTANCE).convertStringToString(instanceValue); + } + +} //CustomerFactoryImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/CustomerTypeImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/CustomerTypeImpl.java new file mode 100644 index 0000000000..216f1ba9ff --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/CustomerTypeImpl.java @@ -0,0 +1,524 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.extensible.customer.impl; + +import com.example.extensible.customer.CustomerFactory; +import com.example.extensible.customer.CustomerType; +import com.example.extensible.customer.InfoType; + +import commonj.sdo.Type; + +import java.math.BigInteger; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Type</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.extensible.customer.impl.CustomerTypeImpl#getName <em>Name</em>}</li> + * <li>{@link com.example.extensible.customer.impl.CustomerTypeImpl#getNumber <em>Number</em>}</li> + * <li>{@link com.example.extensible.customer.impl.CustomerTypeImpl#getInfo <em>Info</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class CustomerTypeImpl extends DataObjectBase implements CustomerType +{ + + public final static int NAME = 0; + + public final static int NUMBER = 1; + + public final static int INFO = 2; + + public final static int SDO_PROPERTY_COUNT = 3; + + public final static int EXTENDED_PROPERTY_COUNT = 0; + + + /** + * The internal feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_NAME = 0; + + /** + * The internal feature id for the '<em><b>Number</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_NUMBER = 1; + + /** + * The internal feature id for the '<em><b>Info</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_INFO = 2; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 3; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_NAME: return NAME; + case INTERNAL_NUMBER: return NUMBER; + case INTERNAL_INFO: return INFO; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_DEFAULT_; + + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean name_set_ = false; + + /** + * The default value of the '{@link #getNumber() <em>Number</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNumber() + * @generated + * @ordered + */ + protected static final BigInteger NUMBER_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getNumber() <em>Number</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNumber() + * @generated + * @ordered + */ + protected BigInteger number = NUMBER_DEFAULT_; + + /** + * This is true if the Number attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean number_set_ = false; + + /** + * The cached value of the '{@link #getInfo() <em>Info</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInfo() + * @generated + * @ordered + */ + + protected InfoType info = null; + + /** + * This is true if the Info containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean info_set_ = false; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CustomerTypeImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((CustomerFactoryImpl)CustomerFactory.INSTANCE).getCustomerType(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + boolean oldName_set_ = name_set_; + name_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_NAME, oldName, name, !oldName_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetName() + { + String oldName = name; + boolean oldName_set_ = name_set_; + name = NAME_DEFAULT_; + name_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_NAME, oldName, NAME_DEFAULT_, oldName_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetName() + { + return name_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigInteger getNumber() + { + return number; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setNumber(BigInteger newNumber) + { + BigInteger oldNumber = number; + number = newNumber; + boolean oldNumber_set_ = number_set_; + number_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_NUMBER, oldNumber, number, !oldNumber_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetNumber() + { + BigInteger oldNumber = number; + boolean oldNumber_set_ = number_set_; + number = NUMBER_DEFAULT_; + number_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_NUMBER, oldNumber, NUMBER_DEFAULT_, oldNumber_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetNumber() + { + return number_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InfoType getInfo() + { + return info; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext basicSetInfo(InfoType newInfo, ChangeContext changeContext) + { + InfoType oldInfo = info; + info = newInfo; + boolean oldInfo_set_ = info_set_; + info_set_ = true; + if (isNotifying()) + { + addNotification(this, ChangeKind.SET, INTERNAL_INFO, oldInfo, newInfo, !oldInfo_set_, changeContext); + } + return changeContext; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setInfo(InfoType newInfo) + { + if (newInfo != info) + { + ChangeContext changeContext = null; + if (info != null) + changeContext = inverseRemove(info, this, OPPOSITE_FEATURE_BASE - INTERNAL_INFO, null, changeContext); + if (newInfo != null) + changeContext = inverseAdd(newInfo, this, OPPOSITE_FEATURE_BASE - INTERNAL_INFO, null, changeContext); + changeContext = basicSetInfo(newInfo, changeContext); + if (changeContext != null) dispatch(changeContext); + } + else + { + boolean oldInfo_set_ = info_set_; + info_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_INFO, newInfo, newInfo, !oldInfo_set_); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext basicUnsetInfo(ChangeContext changeContext) + { + InfoType oldInfo = info; + info = null; + boolean oldInfo_set_ = info_set_; + info_set_ = false; + if (isNotifying()) + { + addNotification(this, ChangeKind.UNSET, INTERNAL_INFO, oldInfo, null, !oldInfo_set_, changeContext); + } + return changeContext; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetInfo() + { + if (info != null) + { + ChangeContext changeContext = null; + changeContext = inverseRemove(info, this, EOPPOSITE_FEATURE_BASE - INTERNAL_INFO, null, changeContext); + changeContext = basicUnsetInfo(changeContext); + if (changeContext != null) dispatch(changeContext); + } + else + { + boolean oldInfo_set_ = info_set_; + info_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_INFO, null, null, oldInfo_set_); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetInfo() + { + return info_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case INFO: + return basicUnsetInfo(changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case NAME: + return getName(); + case NUMBER: + return getNumber(); + case INFO: + return getInfo(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case NAME: + setName((String)newValue); + return; + case NUMBER: + setNumber((BigInteger)newValue); + return; + case INFO: + setInfo((InfoType)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case NAME: + unsetName(); + return; + case NUMBER: + unsetNumber(); + return; + case INFO: + unsetInfo(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case NAME: + return isSetName(); + case NUMBER: + return isSetNumber(); + case INFO: + return isSetInfo(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + if (name_set_) result.append(name); else result.append("<unset>"); + result.append(", number: "); + if (number_set_) result.append(number); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + +} //CustomerTypeImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/CustomersTypeImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/CustomersTypeImpl.java new file mode 100644 index 0000000000..984fea97e9 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/CustomersTypeImpl.java @@ -0,0 +1,206 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.extensible.customer.impl; + +import com.example.extensible.customer.CustomerFactory; +import com.example.extensible.customer.CustomerType; +import com.example.extensible.customer.CustomersType; + +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Customers Type</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.extensible.customer.impl.CustomersTypeImpl#getCustomer <em>Customer</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class CustomersTypeImpl extends DataObjectBase implements CustomersType +{ + + public final static int CUSTOMER = 0; + + public final static int SDO_PROPERTY_COUNT = 1; + + public final static int EXTENDED_PROPERTY_COUNT = 0; + + + /** + * The internal feature id for the '<em><b>Customer</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_CUSTOMER = 0; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 1; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_CUSTOMER: return CUSTOMER; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getCustomer() <em>Customer</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCustomer() + * @generated + * @ordered + */ + + protected List customer = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CustomersTypeImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((CustomerFactoryImpl)CustomerFactory.INSTANCE).getCustomersType(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getCustomer() + { + if (customer == null) + { + customer = createPropertyList(ListKind.CONTAINMENT, CustomerType.class, CUSTOMER, 0); + } + return customer; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case CUSTOMER: + return removeFromList(getCustomer(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case CUSTOMER: + return getCustomer(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case CUSTOMER: + getCustomer().clear(); + getCustomer().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case CUSTOMER: + getCustomer().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case CUSTOMER: + return customer != null && !customer.isEmpty(); + } + return super.isSet(propertyIndex); + } + +} //CustomersTypeImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/InfoTypeImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/InfoTypeImpl.java new file mode 100644 index 0000000000..66f3dc424a --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/extensible/customer/impl/InfoTypeImpl.java @@ -0,0 +1,84 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.extensible.customer.impl; + +import com.example.extensible.customer.CustomerFactory; +import com.example.extensible.customer.InfoType; + +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Info Type</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public class InfoTypeImpl extends DataObjectBase implements InfoType +{ + + public final static int SDO_PROPERTY_COUNT = 0; + + public final static int EXTENDED_PROPERTY_COUNT = 0; + + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 0; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InfoTypeImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((CustomerFactoryImpl)CustomerFactory.INSTANCE).getInfoType(); + } + +} //InfoTypeImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/noInterfaces/simple/Quote.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/noInterfaces/simple/Quote.java new file mode 100644 index 0000000000..f01784049f --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/noInterfaces/simple/Quote.java @@ -0,0 +1,1237 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.noInterfaces.simple; + +import commonj.sdo.Type; + +import java.io.Serializable; + +import java.math.BigDecimal; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Quote</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.noInterfaces.simple.Quote#getSymbol <em>Symbol</em>}</li> + * <li>{@link com.example.noInterfaces.simple.Quote#getCompanyName <em>Company Name</em>}</li> + * <li>{@link com.example.noInterfaces.simple.Quote#getPrice <em>Price</em>}</li> + * <li>{@link com.example.noInterfaces.simple.Quote#getOpen1 <em>Open1</em>}</li> + * <li>{@link com.example.noInterfaces.simple.Quote#getHigh <em>High</em>}</li> + * <li>{@link com.example.noInterfaces.simple.Quote#getLow <em>Low</em>}</li> + * <li>{@link com.example.noInterfaces.simple.Quote#getVolume <em>Volume</em>}</li> + * <li>{@link com.example.noInterfaces.simple.Quote#getChange1 <em>Change1</em>}</li> + * <li>{@link com.example.noInterfaces.simple.Quote#getQuotes <em>Quotes</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public class Quote extends DataObjectBase implements Serializable +{ + + public final static int SYMBOL = 0; + + public final static int COMPANY_NAME = 1; + + public final static int PRICE = 2; + + public final static int OPEN1 = 3; + + public final static int HIGH = 4; + + public final static int LOW = 5; + + public final static int VOLUME = 6; + + public final static int CHANGE1 = 7; + + public final static int QUOTES = 8; + + public final static int SDO_PROPERTY_COUNT = 9; + + public final static int EXTENDED_PROPERTY_COUNT = 0; + + + /** + * The internal feature id for the '<em><b>Symbol</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_SYMBOL = 0; + + /** + * The internal feature id for the '<em><b>Company Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_COMPANY_NAME = 1; + + /** + * The internal feature id for the '<em><b>Price</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PRICE = 2; + + /** + * The internal feature id for the '<em><b>Open1</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_OPEN1 = 3; + + /** + * The internal feature id for the '<em><b>High</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_HIGH = 4; + + /** + * The internal feature id for the '<em><b>Low</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_LOW = 5; + + /** + * The internal feature id for the '<em><b>Volume</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_VOLUME = 6; + + /** + * The internal feature id for the '<em><b>Change1</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_CHANGE1 = 7; + + /** + * The internal feature id for the '<em><b>Quotes</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_QUOTES = 8; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 9; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_SYMBOL: return SYMBOL; + case INTERNAL_COMPANY_NAME: return COMPANY_NAME; + case INTERNAL_PRICE: return PRICE; + case INTERNAL_OPEN1: return OPEN1; + case INTERNAL_HIGH: return HIGH; + case INTERNAL_LOW: return LOW; + case INTERNAL_VOLUME: return VOLUME; + case INTERNAL_CHANGE1: return CHANGE1; + case INTERNAL_QUOTES: return QUOTES; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The default value of the '{@link #getSymbol() <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSymbol() + * @generated + * @ordered + */ + protected static final String SYMBOL_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSymbol() + * @generated + * @ordered + */ + protected String symbol = SYMBOL_DEFAULT_; + + /** + * This is true if the Symbol attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean symbol_set_ = false; + + /** + * The default value of the '{@link #getCompanyName() <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCompanyName() + * @generated + * @ordered + */ + protected static final String COMPANY_NAME_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getCompanyName() <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCompanyName() + * @generated + * @ordered + */ + protected String companyName = COMPANY_NAME_DEFAULT_; + + /** + * This is true if the Company Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean companyName_set_ = false; + + /** + * The default value of the '{@link #getPrice() <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrice() + * @generated + * @ordered + */ + protected static final BigDecimal PRICE_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getPrice() <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrice() + * @generated + * @ordered + */ + protected BigDecimal price = PRICE_DEFAULT_; + + /** + * This is true if the Price attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean price_set_ = false; + + /** + * The default value of the '{@link #getOpen1() <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOpen1() + * @generated + * @ordered + */ + protected static final BigDecimal OPEN1_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getOpen1() <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOpen1() + * @generated + * @ordered + */ + protected BigDecimal open1 = OPEN1_DEFAULT_; + + /** + * This is true if the Open1 attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean open1_set_ = false; + + /** + * The default value of the '{@link #getHigh() <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHigh() + * @generated + * @ordered + */ + protected static final BigDecimal HIGH_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getHigh() <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHigh() + * @generated + * @ordered + */ + protected BigDecimal high = HIGH_DEFAULT_; + + /** + * This is true if the High attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean high_set_ = false; + + /** + * The default value of the '{@link #getLow() <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLow() + * @generated + * @ordered + */ + protected static final BigDecimal LOW_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getLow() <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLow() + * @generated + * @ordered + */ + protected BigDecimal low = LOW_DEFAULT_; + + /** + * This is true if the Low attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean low_set_ = false; + + /** + * The default value of the '{@link #getVolume() <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVolume() + * @generated + * @ordered + */ + protected static final double VOLUME_DEFAULT_ = 0.0; + + /** + * The cached value of the '{@link #getVolume() <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVolume() + * @generated + * @ordered + */ + protected double volume = VOLUME_DEFAULT_; + + /** + * This is true if the Volume attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean volume_set_ = false; + + /** + * The default value of the '{@link #getChange1() <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getChange1() + * @generated + * @ordered + */ + protected static final double CHANGE1_DEFAULT_ = 0.0; + + /** + * The cached value of the '{@link #getChange1() <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getChange1() + * @generated + * @ordered + */ + protected double change1 = CHANGE1_DEFAULT_; + + /** + * This is true if the Change1 attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean change1_set_ = false; + + /** + * The cached value of the '{@link #getQuotes() <em>Quotes</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQuotes() + * @generated + * @ordered + */ + + protected List quotes = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Quote() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((SimpleFactory)SimpleFactory.INSTANCE).getQuote(); + } + + /** + * Returns the value of the '<em><b>Symbol</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Symbol</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Symbol</em>' attribute. + * @see #isSetSymbol() + * @see #unsetSymbol() + * @see #setSymbol(String) + * @generated + */ + public String getSymbol() + { + return symbol; + } + /** + * Sets the value of the '{@link com.example.noInterfaces.simple.Quote#getSymbol <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Symbol</em>' attribute. + * @see #isSetSymbol() + * @see #unsetSymbol() + * @see #getSymbol() + * @generated + */ + public void setSymbol(String newSymbol) + { + String oldSymbol = symbol; + symbol = newSymbol; + boolean oldSymbol_set_ = symbol_set_; + symbol_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_SYMBOL, oldSymbol, symbol, !oldSymbol_set_); + } + + /** + * Unsets the value of the '{@link com.example.noInterfaces.simple.Quote#getSymbol <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSymbol() + * @see #getSymbol() + * @see #setSymbol(String) + * @generated + */ + public void unsetSymbol() + { + String oldSymbol = symbol; + boolean oldSymbol_set_ = symbol_set_; + symbol = SYMBOL_DEFAULT_; + symbol_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_SYMBOL, oldSymbol, SYMBOL_DEFAULT_, oldSymbol_set_); + } + + /** + * Returns whether the value of the '{@link com.example.noInterfaces.simple.Quote#getSymbol <em>Symbol</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Symbol</em>' attribute is set. + * @see #unsetSymbol() + * @see #getSymbol() + * @see #setSymbol(String) + * @generated + */ + public boolean isSetSymbol() + { + return symbol_set_; + } + + /** + * Returns the value of the '<em><b>Company Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Company Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Company Name</em>' attribute. + * @see #isSetCompanyName() + * @see #unsetCompanyName() + * @see #setCompanyName(String) + * @generated + */ + public String getCompanyName() + { + return companyName; + } + /** + * Sets the value of the '{@link com.example.noInterfaces.simple.Quote#getCompanyName <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Company Name</em>' attribute. + * @see #isSetCompanyName() + * @see #unsetCompanyName() + * @see #getCompanyName() + * @generated + */ + public void setCompanyName(String newCompanyName) + { + String oldCompanyName = companyName; + companyName = newCompanyName; + boolean oldCompanyName_set_ = companyName_set_; + companyName_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_COMPANY_NAME, oldCompanyName, companyName, !oldCompanyName_set_); + } + + /** + * Unsets the value of the '{@link com.example.noInterfaces.simple.Quote#getCompanyName <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetCompanyName() + * @see #getCompanyName() + * @see #setCompanyName(String) + * @generated + */ + public void unsetCompanyName() + { + String oldCompanyName = companyName; + boolean oldCompanyName_set_ = companyName_set_; + companyName = COMPANY_NAME_DEFAULT_; + companyName_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_COMPANY_NAME, oldCompanyName, COMPANY_NAME_DEFAULT_, oldCompanyName_set_); + } + + /** + * Returns whether the value of the '{@link com.example.noInterfaces.simple.Quote#getCompanyName <em>Company Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Company Name</em>' attribute is set. + * @see #unsetCompanyName() + * @see #getCompanyName() + * @see #setCompanyName(String) + * @generated + */ + public boolean isSetCompanyName() + { + return companyName_set_; + } + + /** + * Returns the value of the '<em><b>Price</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Price</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Price</em>' attribute. + * @see #isSetPrice() + * @see #unsetPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + public BigDecimal getPrice() + { + return price; + } + /** + * Sets the value of the '{@link com.example.noInterfaces.simple.Quote#getPrice <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Price</em>' attribute. + * @see #isSetPrice() + * @see #unsetPrice() + * @see #getPrice() + * @generated + */ + public void setPrice(BigDecimal newPrice) + { + BigDecimal oldPrice = price; + price = newPrice; + boolean oldPrice_set_ = price_set_; + price_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_PRICE, oldPrice, price, !oldPrice_set_); + } + + /** + * Unsets the value of the '{@link com.example.noInterfaces.simple.Quote#getPrice <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPrice() + * @see #getPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + public void unsetPrice() + { + BigDecimal oldPrice = price; + boolean oldPrice_set_ = price_set_; + price = PRICE_DEFAULT_; + price_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_PRICE, oldPrice, PRICE_DEFAULT_, oldPrice_set_); + } + + /** + * Returns whether the value of the '{@link com.example.noInterfaces.simple.Quote#getPrice <em>Price</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Price</em>' attribute is set. + * @see #unsetPrice() + * @see #getPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + public boolean isSetPrice() + { + return price_set_; + } + + /** + * Returns the value of the '<em><b>Open1</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Open1</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Open1</em>' attribute. + * @see #isSetOpen1() + * @see #unsetOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + public BigDecimal getOpen1() + { + return open1; + } + /** + * Sets the value of the '{@link com.example.noInterfaces.simple.Quote#getOpen1 <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Open1</em>' attribute. + * @see #isSetOpen1() + * @see #unsetOpen1() + * @see #getOpen1() + * @generated + */ + public void setOpen1(BigDecimal newOpen1) + { + BigDecimal oldOpen1 = open1; + open1 = newOpen1; + boolean oldOpen1_set_ = open1_set_; + open1_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_OPEN1, oldOpen1, open1, !oldOpen1_set_); + } + + /** + * Unsets the value of the '{@link com.example.noInterfaces.simple.Quote#getOpen1 <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetOpen1() + * @see #getOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + public void unsetOpen1() + { + BigDecimal oldOpen1 = open1; + boolean oldOpen1_set_ = open1_set_; + open1 = OPEN1_DEFAULT_; + open1_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_OPEN1, oldOpen1, OPEN1_DEFAULT_, oldOpen1_set_); + } + + /** + * Returns whether the value of the '{@link com.example.noInterfaces.simple.Quote#getOpen1 <em>Open1</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Open1</em>' attribute is set. + * @see #unsetOpen1() + * @see #getOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + public boolean isSetOpen1() + { + return open1_set_; + } + + /** + * Returns the value of the '<em><b>High</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>High</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>High</em>' attribute. + * @see #isSetHigh() + * @see #unsetHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + public BigDecimal getHigh() + { + return high; + } + /** + * Sets the value of the '{@link com.example.noInterfaces.simple.Quote#getHigh <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>High</em>' attribute. + * @see #isSetHigh() + * @see #unsetHigh() + * @see #getHigh() + * @generated + */ + public void setHigh(BigDecimal newHigh) + { + BigDecimal oldHigh = high; + high = newHigh; + boolean oldHigh_set_ = high_set_; + high_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_HIGH, oldHigh, high, !oldHigh_set_); + } + + /** + * Unsets the value of the '{@link com.example.noInterfaces.simple.Quote#getHigh <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetHigh() + * @see #getHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + public void unsetHigh() + { + BigDecimal oldHigh = high; + boolean oldHigh_set_ = high_set_; + high = HIGH_DEFAULT_; + high_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_HIGH, oldHigh, HIGH_DEFAULT_, oldHigh_set_); + } + + /** + * Returns whether the value of the '{@link com.example.noInterfaces.simple.Quote#getHigh <em>High</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>High</em>' attribute is set. + * @see #unsetHigh() + * @see #getHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + public boolean isSetHigh() + { + return high_set_; + } + + /** + * Returns the value of the '<em><b>Low</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Low</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Low</em>' attribute. + * @see #isSetLow() + * @see #unsetLow() + * @see #setLow(BigDecimal) + * @generated + */ + public BigDecimal getLow() + { + return low; + } + /** + * Sets the value of the '{@link com.example.noInterfaces.simple.Quote#getLow <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Low</em>' attribute. + * @see #isSetLow() + * @see #unsetLow() + * @see #getLow() + * @generated + */ + public void setLow(BigDecimal newLow) + { + BigDecimal oldLow = low; + low = newLow; + boolean oldLow_set_ = low_set_; + low_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_LOW, oldLow, low, !oldLow_set_); + } + + /** + * Unsets the value of the '{@link com.example.noInterfaces.simple.Quote#getLow <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetLow() + * @see #getLow() + * @see #setLow(BigDecimal) + * @generated + */ + public void unsetLow() + { + BigDecimal oldLow = low; + boolean oldLow_set_ = low_set_; + low = LOW_DEFAULT_; + low_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_LOW, oldLow, LOW_DEFAULT_, oldLow_set_); + } + + /** + * Returns whether the value of the '{@link com.example.noInterfaces.simple.Quote#getLow <em>Low</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Low</em>' attribute is set. + * @see #unsetLow() + * @see #getLow() + * @see #setLow(BigDecimal) + * @generated + */ + public boolean isSetLow() + { + return low_set_; + } + + /** + * Returns the value of the '<em><b>Volume</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Volume</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Volume</em>' attribute. + * @see #isSetVolume() + * @see #unsetVolume() + * @see #setVolume(double) + * @generated + */ + public double getVolume() + { + return volume; + } + /** + * Sets the value of the '{@link com.example.noInterfaces.simple.Quote#getVolume <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Volume</em>' attribute. + * @see #isSetVolume() + * @see #unsetVolume() + * @see #getVolume() + * @generated + */ + public void setVolume(double newVolume) + { + double oldVolume = volume; + volume = newVolume; + boolean oldVolume_set_ = volume_set_; + volume_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_VOLUME, oldVolume, volume, !oldVolume_set_); + } + + /** + * Unsets the value of the '{@link com.example.noInterfaces.simple.Quote#getVolume <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetVolume() + * @see #getVolume() + * @see #setVolume(double) + * @generated + */ + public void unsetVolume() + { + double oldVolume = volume; + boolean oldVolume_set_ = volume_set_; + volume = VOLUME_DEFAULT_; + volume_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_VOLUME, oldVolume, VOLUME_DEFAULT_, oldVolume_set_); + } + + /** + * Returns whether the value of the '{@link com.example.noInterfaces.simple.Quote#getVolume <em>Volume</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Volume</em>' attribute is set. + * @see #unsetVolume() + * @see #getVolume() + * @see #setVolume(double) + * @generated + */ + public boolean isSetVolume() + { + return volume_set_; + } + + /** + * Returns the value of the '<em><b>Change1</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Change1</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Change1</em>' attribute. + * @see #isSetChange1() + * @see #unsetChange1() + * @see #setChange1(double) + * @generated + */ + public double getChange1() + { + return change1; + } + /** + * Sets the value of the '{@link com.example.noInterfaces.simple.Quote#getChange1 <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Change1</em>' attribute. + * @see #isSetChange1() + * @see #unsetChange1() + * @see #getChange1() + * @generated + */ + public void setChange1(double newChange1) + { + double oldChange1 = change1; + change1 = newChange1; + boolean oldChange1_set_ = change1_set_; + change1_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_CHANGE1, oldChange1, change1, !oldChange1_set_); + } + + /** + * Unsets the value of the '{@link com.example.noInterfaces.simple.Quote#getChange1 <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetChange1() + * @see #getChange1() + * @see #setChange1(double) + * @generated + */ + public void unsetChange1() + { + double oldChange1 = change1; + boolean oldChange1_set_ = change1_set_; + change1 = CHANGE1_DEFAULT_; + change1_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_CHANGE1, oldChange1, CHANGE1_DEFAULT_, oldChange1_set_); + } + + /** + * Returns whether the value of the '{@link com.example.noInterfaces.simple.Quote#getChange1 <em>Change1</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Change1</em>' attribute is set. + * @see #unsetChange1() + * @see #getChange1() + * @see #setChange1(double) + * @generated + */ + public boolean isSetChange1() + { + return change1_set_; + } + + /** + * Returns the value of the '<em><b>Quotes</b></em>' containment reference list. + * The list contents are of type {@link com.example.noInterfaces.simple.Quote}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Quotes</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Quotes</em>' containment reference list. + * @generated + */ + public List getQuotes() + { + if (quotes == null) + { + quotes = createPropertyList(ListKind.CONTAINMENT, Quote.class, QUOTES, 0); + } + return quotes; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case QUOTES: + return removeFromList(getQuotes(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case SYMBOL: + return getSymbol(); + case COMPANY_NAME: + return getCompanyName(); + case PRICE: + return getPrice(); + case OPEN1: + return getOpen1(); + case HIGH: + return getHigh(); + case LOW: + return getLow(); + case VOLUME: + return new Double(getVolume()); + case CHANGE1: + return new Double(getChange1()); + case QUOTES: + return getQuotes(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case SYMBOL: + setSymbol((String)newValue); + return; + case COMPANY_NAME: + setCompanyName((String)newValue); + return; + case PRICE: + setPrice((BigDecimal)newValue); + return; + case OPEN1: + setOpen1((BigDecimal)newValue); + return; + case HIGH: + setHigh((BigDecimal)newValue); + return; + case LOW: + setLow((BigDecimal)newValue); + return; + case VOLUME: + setVolume(((Double)newValue).doubleValue()); + return; + case CHANGE1: + setChange1(((Double)newValue).doubleValue()); + return; + case QUOTES: + getQuotes().clear(); + getQuotes().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case SYMBOL: + unsetSymbol(); + return; + case COMPANY_NAME: + unsetCompanyName(); + return; + case PRICE: + unsetPrice(); + return; + case OPEN1: + unsetOpen1(); + return; + case HIGH: + unsetHigh(); + return; + case LOW: + unsetLow(); + return; + case VOLUME: + unsetVolume(); + return; + case CHANGE1: + unsetChange1(); + return; + case QUOTES: + getQuotes().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case SYMBOL: + return isSetSymbol(); + case COMPANY_NAME: + return isSetCompanyName(); + case PRICE: + return isSetPrice(); + case OPEN1: + return isSetOpen1(); + case HIGH: + return isSetHigh(); + case LOW: + return isSetLow(); + case VOLUME: + return isSetVolume(); + case CHANGE1: + return isSetChange1(); + case QUOTES: + return quotes != null && !quotes.isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (symbol: "); + if (symbol_set_) result.append(symbol); else result.append("<unset>"); + result.append(", companyName: "); + if (companyName_set_) result.append(companyName); else result.append("<unset>"); + result.append(", price: "); + if (price_set_) result.append(price); else result.append("<unset>"); + result.append(", open1: "); + if (open1_set_) result.append(open1); else result.append("<unset>"); + result.append(", high: "); + if (high_set_) result.append(high); else result.append("<unset>"); + result.append(", low: "); + if (low_set_) result.append(low); else result.append("<unset>"); + result.append(", volume: "); + if (volume_set_) result.append(volume); else result.append("<unset>"); + result.append(", change1: "); + if (change1_set_) result.append(change1); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + +} // Quote diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/noInterfaces/simple/SimpleFactory.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/noInterfaces/simple/SimpleFactory.java new file mode 100644 index 0000000000..a3b8bd81c8 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/noInterfaces/simple/SimpleFactory.java @@ -0,0 +1,332 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.noInterfaces.simple; + +import commonj.sdo.helper.HelperContext; +import org.apache.tuscany.sdo.helper.TypeHelperImpl; + +import commonj.sdo.DataObject; +import commonj.sdo.Property; +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.FactoryBase; + +import org.apache.tuscany.sdo.model.ModelFactory; + +import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * patternVersion=1.2; -noInterfaces + * @generated + */ +public class SimpleFactory extends FactoryBase +{ + + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final SimpleFactory INSTANCE = com.example.noInterfaces.simple.SimpleFactory.init(); + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_URI = "http://www.example.com/simple"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_PREFIX = "simple"; + + /** + * The version of the generator pattern used to generate this class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String PATTERN_VERSION = "1.2"; + + public static final int QUOTE = 1; + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SimpleFactory() + { + super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.noInterfaces.simple"); + } + + /** + * Registers the Factory instance so that it is available within the supplied scope. + * @argument scope a HelperContext instance that will make the types supported by this Factory available. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void register(HelperContext scope) + { + if(scope == null) { + throw new IllegalArgumentException("Scope can not be null"); + } + + //Register dependent packages with provided scope + ModelFactory.INSTANCE.register(scope); + + // Initialize this package + TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper(); + th.getExtendedMetaData().putPackage(NAMESPACE_URI, this); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DataObject create(int typeNumber) + { + switch (typeNumber) + { + case QUOTE: return (DataObject)createQuote(); + default: + return super.create(typeNumber); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Quote createQuote() + { + Quote quote = new Quote(); + return quote; + } + + // Following creates and initializes SDO metadata for the supported types. + protected Type quoteType = null; + + public Type getQuote() + { + return quoteType; + } + + + private static SimpleFactory instance = null; + public static SimpleFactory init() + { + if (instance != null ) return instance; + instance = new SimpleFactory(); + + // Initialize dependent packages + ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE; + + // Create package meta-data objects + instance.createMetaData(); + + // Initialize created meta-data + instance.initializeMetaData(); + + // Mark meta-data to indicate it can't be changed + //theSimpleFactory.freeze(); //FB do we need to freeze / should we freeze ???? + + return instance; + } + + private boolean isCreated = false; + + public void createMetaData() + { + if (isCreated) return; + isCreated = true; + + // Create types and their properties + quoteType = createType(false, QUOTE); + createProperty(true, quoteType,Quote.INTERNAL_SYMBOL); + createProperty(true, quoteType,Quote.INTERNAL_COMPANY_NAME); + createProperty(true, quoteType,Quote.INTERNAL_PRICE); + createProperty(true, quoteType,Quote.INTERNAL_OPEN1); + createProperty(true, quoteType,Quote.INTERNAL_HIGH); + createProperty(true, quoteType,Quote.INTERNAL_LOW); + createProperty(true, quoteType,Quote.INTERNAL_VOLUME); + createProperty(true, quoteType,Quote.INTERNAL_CHANGE1); + createProperty(false, quoteType,Quote.INTERNAL_QUOTES); + } + + private boolean isInitialized = false; + + public void initializeMetaData() + { + if (isInitialized) return; + isInitialized = true; + + // Obtain other dependent packages + ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE; + Property property = null; + + // Add supertypes to types + + // Initialize types and properties + initializeType(quoteType, Quote.class, "Quote", false); + property = getLocalProperty(quoteType, 0); + initializeProperty(property, theModelPackageImpl.getString(), "symbol", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "companyName", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 2); + initializeProperty(property, theModelPackageImpl.getDecimal(), "price", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 3); + initializeProperty(property, theModelPackageImpl.getDecimal(), "open1", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 4); + initializeProperty(property, theModelPackageImpl.getDecimal(), "high", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 5); + initializeProperty(property, theModelPackageImpl.getDecimal(), "low", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 6); + initializeProperty(property, theModelPackageImpl.getDouble(), "volume", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 7); + initializeProperty(property, theModelPackageImpl.getDouble(), "change1", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 8); + initializeProperty(property, this.getQuote(), "quotes", null, 0, -1, Quote.class, false, false, false, true , null); + + createXSDMetaData(theModelPackageImpl); + } + + protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl) + { + super.initXSD(); + + Property property = null; + + + property = createGlobalProperty + ("stockQuote", + this.getQuote(), + new String[] + { + "kind", "element", + "name", "stockQuote", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (quoteType, + new String[] + { + "name", "Quote", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(quoteType, Quote.INTERNAL_SYMBOL), + new String[] + { + "kind", "element", + "name", "symbol" + }); + + addXSDMapping + (getProperty(quoteType, Quote.INTERNAL_COMPANY_NAME), + new String[] + { + "kind", "element", + "name", "companyName" + }); + + addXSDMapping + (getProperty(quoteType, Quote.INTERNAL_PRICE), + new String[] + { + "kind", "element", + "name", "price" + }); + + addXSDMapping + (getProperty(quoteType, Quote.INTERNAL_OPEN1), + new String[] + { + "kind", "element", + "name", "open1" + }); + + addXSDMapping + (getProperty(quoteType, Quote.INTERNAL_HIGH), + new String[] + { + "kind", "element", + "name", "high" + }); + + addXSDMapping + (getProperty(quoteType, Quote.INTERNAL_LOW), + new String[] + { + "kind", "element", + "name", "low" + }); + + addXSDMapping + (getProperty(quoteType, Quote.INTERNAL_VOLUME), + new String[] + { + "kind", "element", + "name", "volume" + }); + + addXSDMapping + (getProperty(quoteType, Quote.INTERNAL_CHANGE1), + new String[] + { + "kind", "element", + "name", "change1" + }); + + addXSDMapping + (getProperty(quoteType, Quote.INTERNAL_QUOTES), + new String[] + { + "kind", "element", + "name", "quotes" + }); + + } + +} //SimpleFactory diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/OneElementAndAnyAttr.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/OneElementAndAnyAttr.java new file mode 100644 index 0000000000..6c3beeedee --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/OneElementAndAnyAttr.java @@ -0,0 +1,108 @@ +/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.example.open;
+
+import commonj.sdo.Sequence;
+
+import java.io.Serializable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>One Element And Any Attr</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link com.example.open.OneElementAndAnyAttr#getName <em>Name</em>}</li>
+ * <li>{@link com.example.open.OneElementAndAnyAttr#getAnyAttribute <em>Any Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @extends Serializable
+ * @generated
+ */
+public interface OneElementAndAnyAttr extends Serializable
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #isSetName()
+ * @see #unsetName()
+ * @see #setName(String)
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link com.example.open.OneElementAndAnyAttr#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #isSetName()
+ * @see #unsetName()
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Unsets the value of the '{@link com.example.open.OneElementAndAnyAttr#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetName()
+ * @see #getName()
+ * @see #setName(String)
+ * @generated
+ */
+ void unsetName();
+
+ /**
+ * Returns whether the value of the '{@link com.example.open.OneElementAndAnyAttr#getName <em>Name</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Name</em>' attribute is set.
+ * @see #unsetName()
+ * @see #getName()
+ * @see #setName(String)
+ * @generated
+ */
+ boolean isSetName();
+
+ /**
+ * Returns the value of the '<em><b>Any Attribute</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Any Attribute</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Any Attribute</em>' attribute list.
+ * @generated
+ */
+ Sequence getAnyAttribute();
+
+} // OneElementAndAnyAttr
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/OpenFactory.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/OpenFactory.java new file mode 100644 index 0000000000..cc248c1ac5 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/OpenFactory.java @@ -0,0 +1,61 @@ +/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.example.open;
+
+import commonj.sdo.helper.HelperContext;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public interface OpenFactory
+{
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ OpenFactory INSTANCE = com.example.open.impl.OpenFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>One Element And Any Attr</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>One Element And Any Attr</em>'.
+ * @generated
+ */
+ OneElementAndAnyAttr createOneElementAndAnyAttr();
+
+ /**
+ * Registers the types supported by this Factory within the supplied scope.argument
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param scope an instance of HelperContext used to manage the scoping of types.
+ * @generated
+ */
+ public void register(HelperContext scope);
+
+} //OpenFactory
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/impl/OneElementAndAnyAttrImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/impl/OneElementAndAnyAttrImpl.java new file mode 100644 index 0000000000..1746f04d5b --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/impl/OneElementAndAnyAttrImpl.java @@ -0,0 +1,323 @@ +/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.example.open.impl;
+
+import com.example.open.OneElementAndAnyAttr;
+import com.example.open.OpenFactory;
+
+import commonj.sdo.Sequence;
+import commonj.sdo.Type;
+
+import org.apache.tuscany.sdo.impl.DataObjectBase;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>One Element And Any Attr</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link com.example.open.impl.OneElementAndAnyAttrImpl#getName <em>Name</em>}</li>
+ * <li>{@link com.example.open.impl.OneElementAndAnyAttrImpl#getAnyAttribute <em>Any Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OneElementAndAnyAttrImpl extends DataObjectBase implements OneElementAndAnyAttr
+{
+
+ public final static int NAME = 0;
+
+ public final static int ANY_ATTRIBUTE = -1;
+
+ public final static int SDO_PROPERTY_COUNT = 1;
+
+ public final static int EXTENDED_PROPERTY_COUNT = -1;
+
+
+ /**
+ * The internal feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public final static int INTERNAL_NAME = 0;
+
+ /**
+ * The internal feature id for the '<em><b>Any Attribute</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public final static int INTERNAL_ANY_ATTRIBUTE = 1;
+
+ /**
+ * The number of properties for this type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public final static int INTERNAL_PROPERTY_COUNT = 2;
+
+ protected int internalConvertIndex(int internalIndex)
+ {
+ switch (internalIndex)
+ {
+ case INTERNAL_NAME: return NAME;
+ case INTERNAL_ANY_ATTRIBUTE: return ANY_ATTRIBUTE;
+ }
+ return super.internalConvertIndex(internalIndex);
+ }
+
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_DEFAULT_ = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_DEFAULT_;
+
+ /**
+ * This is true if the Name attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean name_set_ = false;
+
+ /**
+ * The cached value of the '{@link #getAnyAttribute() <em>Any Attribute</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAnyAttribute()
+ * @generated
+ * @ordered
+ */
+
+ protected Sequence anyAttribute = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OneElementAndAnyAttrImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getStaticType()
+ {
+ return ((OpenFactoryImpl)OpenFactory.INSTANCE).getOneElementAndAnyAttr();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ boolean oldName_set_ = name_set_;
+ name_set_ = true;
+ if (isNotifying())
+ notify(ChangeKind.SET, INTERNAL_NAME, oldName, name, !oldName_set_);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetName()
+ {
+ String oldName = name;
+ boolean oldName_set_ = name_set_;
+ name = NAME_DEFAULT_;
+ name_set_ = false;
+ if (isNotifying())
+ notify(ChangeKind.UNSET, INTERNAL_NAME, oldName, NAME_DEFAULT_, oldName_set_);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetName()
+ {
+ return name_set_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Sequence getAnyAttribute()
+ {
+ if (anyAttribute == null)
+ {
+ anyAttribute = createSequence(INTERNAL_ANY_ATTRIBUTE);
+ }
+ return anyAttribute;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext)
+ {
+ switch (propertyIndex)
+ {
+ case ANY_ATTRIBUTE:
+ return removeFromSequence(getAnyAttribute(), otherEnd, changeContext);
+ }
+ return super.inverseRemove(otherEnd, propertyIndex, changeContext);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object get(int propertyIndex, boolean resolve)
+ {
+ switch (propertyIndex)
+ {
+ case NAME:
+ return getName();
+ case ANY_ATTRIBUTE:
+ // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view
+ //if (coreType)
+ return getAnyAttribute();
+ }
+ return super.get(propertyIndex, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set(int propertyIndex, Object newValue)
+ {
+ switch (propertyIndex)
+ {
+ case NAME:
+ setName((String)newValue);
+ return;
+ case ANY_ATTRIBUTE:
+ setSequence(getAnyAttribute(), newValue);
+ return;
+ }
+ super.set(propertyIndex, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unset(int propertyIndex)
+ {
+ switch (propertyIndex)
+ {
+ case NAME:
+ unsetName();
+ return;
+ case ANY_ATTRIBUTE:
+ unsetSequence(getAnyAttribute());
+ return;
+ }
+ super.unset(propertyIndex);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSet(int propertyIndex)
+ {
+ switch (propertyIndex)
+ {
+ case NAME:
+ return isSetName();
+ case ANY_ATTRIBUTE:
+ return anyAttribute != null && !isSequenceEmpty(getAnyAttribute());
+ }
+ return super.isSet(propertyIndex);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (isProxy(this)) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ if (name_set_) result.append(name); else result.append("<unset>");
+ result.append(", anyAttribute: ");
+ result.append(anyAttribute);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OneElementAndAnyAttrImpl
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/impl/OpenFactoryImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/impl/OpenFactoryImpl.java new file mode 100644 index 0000000000..461616584a --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/open/impl/OpenFactoryImpl.java @@ -0,0 +1,245 @@ +/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.example.open.impl;
+
+import commonj.sdo.helper.HelperContext;
+import org.apache.tuscany.sdo.helper.TypeHelperImpl;
+
+import com.example.open.*;
+
+import commonj.sdo.DataObject;
+import commonj.sdo.Property;
+import commonj.sdo.Type;
+
+import org.apache.tuscany.sdo.impl.FactoryBase;
+
+import org.apache.tuscany.sdo.model.ModelFactory;
+
+import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * Generator information:
+ * patternVersion=1.2;
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OpenFactoryImpl extends FactoryBase implements OpenFactory
+{
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String NAMESPACE_URI = "http://www.example.com/open";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String NAMESPACE_PREFIX = "open";
+
+ /**
+ * The version of the generator pattern used to generate this class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String PATTERN_VERSION = "1.2";
+
+ public static final int ONE_ELEMENT_AND_ANY_ATTR = 1;
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpenFactoryImpl()
+ {
+ super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.open");
+ }
+
+ /**
+ * Registers the Factory instance so that it is available within the supplied scope.
+ * @argument scope a HelperContext instance that will make the types supported by this Factory available.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void register(HelperContext scope)
+ {
+ if(scope == null) {
+ throw new IllegalArgumentException("Scope can not be null");
+ }
+
+ //Register dependent packages with provided scope
+ ModelFactory.INSTANCE.register(scope);
+
+ // Initialize this package
+ TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
+ th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataObject create(int typeNumber)
+ {
+ switch (typeNumber)
+ {
+ case ONE_ELEMENT_AND_ANY_ATTR: return (DataObject)createOneElementAndAnyAttr();
+ default:
+ return super.create(typeNumber);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OneElementAndAnyAttr createOneElementAndAnyAttr()
+ {
+ OneElementAndAnyAttrImpl oneElementAndAnyAttr = new OneElementAndAnyAttrImpl();
+ return oneElementAndAnyAttr;
+ }
+
+ // Following creates and initializes SDO metadata for the supported types.
+ protected Type oneElementAndAnyAttrType = null;
+
+ public Type getOneElementAndAnyAttr()
+ {
+ return oneElementAndAnyAttrType;
+ }
+
+
+ private static OpenFactoryImpl instance = null;
+ public static OpenFactoryImpl init()
+ {
+ if (instance != null ) return instance;
+ instance = new OpenFactoryImpl();
+
+ // Initialize dependent packages
+ ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE;
+
+ // Create package meta-data objects
+ instance.createMetaData();
+
+ // Initialize created meta-data
+ instance.initializeMetaData();
+
+ // Mark meta-data to indicate it can't be changed
+ //theOpenFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ????
+
+ return instance;
+ }
+
+ private boolean isCreated = false;
+
+ public void createMetaData()
+ {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create types and their properties
+ oneElementAndAnyAttrType = createType(false, ONE_ELEMENT_AND_ANY_ATTR);
+ createProperty(true, oneElementAndAnyAttrType,OneElementAndAnyAttrImpl.INTERNAL_NAME);
+ createProperty(true, oneElementAndAnyAttrType,OneElementAndAnyAttrImpl.INTERNAL_ANY_ATTRIBUTE);
+ }
+
+ private boolean isInitialized = false;
+
+ public void initializeMetaData()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Obtain other dependent packages
+ ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE;
+ Property property = null;
+
+ // Add supertypes to types
+
+ // Initialize types and properties
+ initializeType(oneElementAndAnyAttrType, OneElementAndAnyAttr.class, "OneElementAndAnyAttr", false);
+ property = getLocalProperty(oneElementAndAnyAttrType, 0);
+ initializeProperty(property, theModelPackageImpl.getString(), "name", null, 1, 1, OneElementAndAnyAttr.class, false, true, false);
+
+ property = getLocalProperty(oneElementAndAnyAttrType, 1);
+ initializeProperty(property, getSequence(), "anyAttribute", null, 0, -1, OneElementAndAnyAttr.class, false, false, false);
+
+ createXSDMetaData(theModelPackageImpl);
+ }
+
+ protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl)
+ {
+ super.initXSD();
+
+ Property property = null;
+
+
+ property = createGlobalProperty
+ ("globAttribute",
+ theModelPackageImpl.getString(),
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "globAttribute",
+ "namespace", "##targetNamespace"
+ },
+ IS_ATTRIBUTE);
+
+ addXSDMapping
+ (oneElementAndAnyAttrType,
+ new String[]
+ {
+ "name", "OneElementAndAnyAttr",
+ "kind", "elementOnly"
+ });
+
+ addXSDMapping
+ (getProperty(oneElementAndAnyAttrType, OneElementAndAnyAttrImpl.INTERNAL_NAME),
+ new String[]
+ {
+ "kind", "element",
+ "name", "name"
+ });
+
+ addXSDMapping
+ (getProperty(oneElementAndAnyAttrType, OneElementAndAnyAttrImpl.INTERNAL_ANY_ATTRIBUTE),
+ new String[]
+ {
+ "kind", "attributeWildcard",
+ "wildcards", "##any",
+ "name", ":1",
+ "processing", "lax"
+ });
+
+ }
+
+} //OpenFactoryImpl
diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/RCType.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/RCType.java new file mode 100644 index 0000000000..29a558b5a2 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/RCType.java @@ -0,0 +1,103 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.repchoice; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.util.List; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>RC Type</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.repchoice.RCType#getGroup <em>Group</em>}</li> + * <li>{@link com.example.repchoice.RCType#getS <em>S</em>}</li> + * <li>{@link com.example.repchoice.RCType#getI <em>I</em>}</li> + * <li>{@link com.example.repchoice.RCType#getF <em>F</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface RCType extends Serializable +{ + /** + * Returns the value of the '<em><b>Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Group</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Group</em>' attribute list. + * @generated + */ + Sequence getGroup(); + + /** + * Returns the value of the '<em><b>S</b></em>' attribute list. + * The list contents are of type {@link java.lang.String}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>S</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>S</em>' attribute list. + * @generated + */ + List getS(); + + /** + * Returns the value of the '<em><b>I</b></em>' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>I</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>I</em>' attribute list. + * @generated + */ + List getI(); + + /** + * Returns the value of the '<em><b>F</b></em>' attribute list. + * The list contents are of type {@link java.lang.Float}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>F</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>F</em>' attribute list. + * @generated + */ + List getF(); + +} // RCType diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/RepchoiceFactory.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/RepchoiceFactory.java new file mode 100644 index 0000000000..9a7c3033a5 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/RepchoiceFactory.java @@ -0,0 +1,61 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.repchoice; + +import commonj.sdo.helper.HelperContext; + + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @generated + */ +public interface RepchoiceFactory +{ + + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + RepchoiceFactory INSTANCE = com.example.repchoice.impl.RepchoiceFactoryImpl.init(); + + /** + * Returns a new object of class '<em>RC Type</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>RC Type</em>'. + * @generated + */ + RCType createRCType(); + + /** + * Registers the types supported by this Factory within the supplied scope.argument + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param scope an instance of HelperContext used to manage the scoping of types. + * @generated + */ + public void register(HelperContext scope); + +} //RepchoiceFactory diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java new file mode 100644 index 0000000000..eb1310cc9d --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java @@ -0,0 +1,322 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.repchoice.impl; + +import com.example.repchoice.RCType; +import com.example.repchoice.RepchoiceFactory; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>RC Type</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.repchoice.impl.RCTypeImpl#getGroup <em>Group</em>}</li> + * <li>{@link com.example.repchoice.impl.RCTypeImpl#getS <em>S</em>}</li> + * <li>{@link com.example.repchoice.impl.RCTypeImpl#getI <em>I</em>}</li> + * <li>{@link com.example.repchoice.impl.RCTypeImpl#getF <em>F</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class RCTypeImpl extends DataObjectBase implements RCType +{ + + public final static int GROUP = -1; + + public final static int S = 0; + + public final static int I = 1; + + public final static int F = 2; + + public final static int SDO_PROPERTY_COUNT = 3; + + public final static int EXTENDED_PROPERTY_COUNT = -1; + + + /** + * The internal feature id for the '<em><b>Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP = 0; + + /** + * The internal feature id for the '<em><b>S</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_S = 1; + + /** + * The internal feature id for the '<em><b>I</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_I = 2; + + /** + * The internal feature id for the '<em><b>F</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_F = 3; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 4; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_GROUP: return GROUP; + case INTERNAL_S: return S; + case INTERNAL_I: return I; + case INTERNAL_F: return F; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGroup() + * @generated + * @ordered + */ + + protected Sequence group = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RCTypeImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((RepchoiceFactoryImpl)RepchoiceFactory.INSTANCE).getRCType(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getGroup() + { + if (group == null) + { + group = createSequence(INTERNAL_GROUP); + } + return group; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getS() + { + return getList(getGroup(), getType(), INTERNAL_S); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getI() + { + return getList(getGroup(), getType(), INTERNAL_I); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getF() + { + return getList(getGroup(), getType(), INTERNAL_F); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case GROUP: + return removeFromSequence(getGroup(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup(); + case S: + return getS(); + case I: + return getI(); + case F: + return getF(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case GROUP: + setSequence(getGroup(), newValue); + return; + case S: + getS().clear(); + getS().addAll((Collection)newValue); + return; + case I: + getI().clear(); + getI().addAll((Collection)newValue); + return; + case F: + getF().clear(); + getF().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + unsetSequence(getGroup()); + return; + case S: + getS().clear(); + return; + case I: + getI().clear(); + return; + case F: + getF().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + return group != null && !isSequenceEmpty(getGroup()); + case S: + return !getS().isEmpty(); + case I: + return !getI().isEmpty(); + case F: + return !getF().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (group: "); + result.append(group); + result.append(')'); + return result.toString(); + } + +} //RCTypeImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/impl/RepchoiceFactoryImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/impl/RepchoiceFactoryImpl.java new file mode 100644 index 0000000000..40d3e9eeec --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/repchoice/impl/RepchoiceFactoryImpl.java @@ -0,0 +1,269 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.repchoice.impl; + +import commonj.sdo.helper.HelperContext; +import org.apache.tuscany.sdo.helper.TypeHelperImpl; + +import com.example.repchoice.*; + +import commonj.sdo.DataObject; +import commonj.sdo.Property; +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.FactoryBase; + +import org.apache.tuscany.sdo.model.ModelFactory; + +import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * Generator information: + * patternVersion=1.2; + * <!-- end-user-doc --> + * @generated + */ +public class RepchoiceFactoryImpl extends FactoryBase implements RepchoiceFactory +{ + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_URI = "http://www.example.com/repchoice"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_PREFIX = "repchoice"; + + /** + * The version of the generator pattern used to generate this class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String PATTERN_VERSION = "1.2"; + + public static final int RC_TYPE = 1; + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RepchoiceFactoryImpl() + { + super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.repchoice"); + } + + /** + * Registers the Factory instance so that it is available within the supplied scope. + * @argument scope a HelperContext instance that will make the types supported by this Factory available. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void register(HelperContext scope) + { + if(scope == null) { + throw new IllegalArgumentException("Scope can not be null"); + } + + //Register dependent packages with provided scope + ModelFactory.INSTANCE.register(scope); + + // Initialize this package + TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper(); + th.getExtendedMetaData().putPackage(NAMESPACE_URI, this); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DataObject create(int typeNumber) + { + switch (typeNumber) + { + case RC_TYPE: return (DataObject)createRCType(); + default: + return super.create(typeNumber); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RCType createRCType() + { + RCTypeImpl rcType = new RCTypeImpl(); + return rcType; + } + + // Following creates and initializes SDO metadata for the supported types. + protected Type rcTypeType = null; + + public Type getRCType() + { + return rcTypeType; + } + + + private static RepchoiceFactoryImpl instance = null; + public static RepchoiceFactoryImpl init() + { + if (instance != null ) return instance; + instance = new RepchoiceFactoryImpl(); + + // Initialize dependent packages + ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE; + + // Create package meta-data objects + instance.createMetaData(); + + // Initialize created meta-data + instance.initializeMetaData(); + + // Mark meta-data to indicate it can't be changed + //theRepchoiceFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ???? + + return instance; + } + + private boolean isCreated = false; + + public void createMetaData() + { + if (isCreated) return; + isCreated = true; + + // Create types and their properties + rcTypeType = createType(false, RC_TYPE); + createProperty(true, rcTypeType,RCTypeImpl.INTERNAL_GROUP); + createProperty(true, rcTypeType,RCTypeImpl.INTERNAL_S); + createProperty(true, rcTypeType,RCTypeImpl.INTERNAL_I); + createProperty(true, rcTypeType,RCTypeImpl.INTERNAL_F); + } + + private boolean isInitialized = false; + + public void initializeMetaData() + { + if (isInitialized) return; + isInitialized = true; + + // Obtain other dependent packages + ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE; + Property property = null; + + // Add supertypes to types + + // Initialize types and properties + initializeType(rcTypeType, RCType.class, "RCType", false); + property = getLocalProperty(rcTypeType, 0); + initializeProperty(property, getSequence(), "group", null, 0, -1, RCType.class, false, false, false); + + property = getLocalProperty(rcTypeType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "s", null, 0, -1, RCType.class, false, false, true); + + property = getLocalProperty(rcTypeType, 2); + initializeProperty(property, theModelPackageImpl.getInt(), "i", null, 0, -1, RCType.class, false, false, true); + + property = getLocalProperty(rcTypeType, 3); + initializeProperty(property, theModelPackageImpl.getFloat(), "f", null, 0, -1, RCType.class, false, false, true); + + createXSDMetaData(theModelPackageImpl); + } + + protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl) + { + super.initXSD(); + + Property property = null; + + + property = createGlobalProperty + ("rc", + this.getRCType(), + new String[] + { + "kind", "element", + "name", "rc", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (rcTypeType, + new String[] + { + "name", "RCType", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(rcTypeType, RCTypeImpl.INTERNAL_GROUP), + new String[] + { + "kind", "group", + "name", "group:0" + }); + + addXSDMapping + (getProperty(rcTypeType, RCTypeImpl.INTERNAL_S), + new String[] + { + "kind", "element", + "name", "s", + "group", "#group:0" + }); + + addXSDMapping + (getProperty(rcTypeType, RCTypeImpl.INTERNAL_I), + new String[] + { + "kind", "element", + "name", "i", + "group", "#group:0" + }); + + addXSDMapping + (getProperty(rcTypeType, RCTypeImpl.INTERNAL_F), + new String[] + { + "kind", "element", + "name", "f", + "group", "#group:0" + }); + + } + +} //RepchoiceFactoryImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/MixedQuote.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/MixedQuote.java new file mode 100644 index 0000000000..f1882ba616 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/MixedQuote.java @@ -0,0 +1,491 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.math.BigDecimal; + +import java.util.List; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Mixed Quote</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.sequences.MixedQuote#getMixed <em>Mixed</em>}</li> + * <li>{@link com.example.sequences.MixedQuote#getSymbol <em>Symbol</em>}</li> + * <li>{@link com.example.sequences.MixedQuote#getCompanyName <em>Company Name</em>}</li> + * <li>{@link com.example.sequences.MixedQuote#getPrice <em>Price</em>}</li> + * <li>{@link com.example.sequences.MixedQuote#getOpen1 <em>Open1</em>}</li> + * <li>{@link com.example.sequences.MixedQuote#getHigh <em>High</em>}</li> + * <li>{@link com.example.sequences.MixedQuote#getLow <em>Low</em>}</li> + * <li>{@link com.example.sequences.MixedQuote#getVolume <em>Volume</em>}</li> + * <li>{@link com.example.sequences.MixedQuote#getChange1 <em>Change1</em>}</li> + * <li>{@link com.example.sequences.MixedQuote#getQuotes <em>Quotes</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface MixedQuote extends Serializable +{ + /** + * Returns the value of the '<em><b>Mixed</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mixed</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mixed</em>' attribute list. + * @generated + */ + Sequence getMixed(); + + /** + * Returns the value of the '<em><b>Symbol</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Symbol</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Symbol</em>' attribute. + * @see #isSetSymbol() + * @see #unsetSymbol() + * @see #setSymbol(String) + * @generated + */ + String getSymbol(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getSymbol <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Symbol</em>' attribute. + * @see #isSetSymbol() + * @see #unsetSymbol() + * @see #getSymbol() + * @generated + */ + void setSymbol(String value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getSymbol <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSymbol() + * @see #getSymbol() + * @see #setSymbol(String) + * @generated + */ + void unsetSymbol(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getSymbol <em>Symbol</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Symbol</em>' attribute is set. + * @see #unsetSymbol() + * @see #getSymbol() + * @see #setSymbol(String) + * @generated + */ + boolean isSetSymbol(); + + /** + * Returns the value of the '<em><b>Company Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Company Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Company Name</em>' attribute. + * @see #isSetCompanyName() + * @see #unsetCompanyName() + * @see #setCompanyName(String) + * @generated + */ + String getCompanyName(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getCompanyName <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Company Name</em>' attribute. + * @see #isSetCompanyName() + * @see #unsetCompanyName() + * @see #getCompanyName() + * @generated + */ + void setCompanyName(String value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getCompanyName <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetCompanyName() + * @see #getCompanyName() + * @see #setCompanyName(String) + * @generated + */ + void unsetCompanyName(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getCompanyName <em>Company Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Company Name</em>' attribute is set. + * @see #unsetCompanyName() + * @see #getCompanyName() + * @see #setCompanyName(String) + * @generated + */ + boolean isSetCompanyName(); + + /** + * Returns the value of the '<em><b>Price</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Price</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Price</em>' attribute. + * @see #isSetPrice() + * @see #unsetPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + BigDecimal getPrice(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getPrice <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Price</em>' attribute. + * @see #isSetPrice() + * @see #unsetPrice() + * @see #getPrice() + * @generated + */ + void setPrice(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getPrice <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPrice() + * @see #getPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + void unsetPrice(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getPrice <em>Price</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Price</em>' attribute is set. + * @see #unsetPrice() + * @see #getPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + boolean isSetPrice(); + + /** + * Returns the value of the '<em><b>Open1</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Open1</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Open1</em>' attribute. + * @see #isSetOpen1() + * @see #unsetOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + BigDecimal getOpen1(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getOpen1 <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Open1</em>' attribute. + * @see #isSetOpen1() + * @see #unsetOpen1() + * @see #getOpen1() + * @generated + */ + void setOpen1(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getOpen1 <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetOpen1() + * @see #getOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + void unsetOpen1(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getOpen1 <em>Open1</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Open1</em>' attribute is set. + * @see #unsetOpen1() + * @see #getOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + boolean isSetOpen1(); + + /** + * Returns the value of the '<em><b>High</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>High</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>High</em>' attribute. + * @see #isSetHigh() + * @see #unsetHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + BigDecimal getHigh(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getHigh <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>High</em>' attribute. + * @see #isSetHigh() + * @see #unsetHigh() + * @see #getHigh() + * @generated + */ + void setHigh(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getHigh <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetHigh() + * @see #getHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + void unsetHigh(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getHigh <em>High</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>High</em>' attribute is set. + * @see #unsetHigh() + * @see #getHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + boolean isSetHigh(); + + /** + * Returns the value of the '<em><b>Low</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Low</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Low</em>' attribute. + * @see #isSetLow() + * @see #unsetLow() + * @see #setLow(BigDecimal) + * @generated + */ + BigDecimal getLow(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getLow <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Low</em>' attribute. + * @see #isSetLow() + * @see #unsetLow() + * @see #getLow() + * @generated + */ + void setLow(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getLow <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetLow() + * @see #getLow() + * @see #setLow(BigDecimal) + * @generated + */ + void unsetLow(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getLow <em>Low</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Low</em>' attribute is set. + * @see #unsetLow() + * @see #getLow() + * @see #setLow(BigDecimal) + * @generated + */ + boolean isSetLow(); + + /** + * Returns the value of the '<em><b>Volume</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Volume</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Volume</em>' attribute. + * @see #isSetVolume() + * @see #unsetVolume() + * @see #setVolume(double) + * @generated + */ + double getVolume(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getVolume <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Volume</em>' attribute. + * @see #isSetVolume() + * @see #unsetVolume() + * @see #getVolume() + * @generated + */ + void setVolume(double value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getVolume <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetVolume() + * @see #getVolume() + * @see #setVolume(double) + * @generated + */ + void unsetVolume(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getVolume <em>Volume</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Volume</em>' attribute is set. + * @see #unsetVolume() + * @see #getVolume() + * @see #setVolume(double) + * @generated + */ + boolean isSetVolume(); + + /** + * Returns the value of the '<em><b>Change1</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Change1</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Change1</em>' attribute. + * @see #isSetChange1() + * @see #unsetChange1() + * @see #setChange1(double) + * @generated + */ + double getChange1(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getChange1 <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Change1</em>' attribute. + * @see #isSetChange1() + * @see #unsetChange1() + * @see #getChange1() + * @generated + */ + void setChange1(double value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getChange1 <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetChange1() + * @see #getChange1() + * @see #setChange1(double) + * @generated + */ + void unsetChange1(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getChange1 <em>Change1</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Change1</em>' attribute is set. + * @see #unsetChange1() + * @see #getChange1() + * @see #setChange1(double) + * @generated + */ + boolean isSetChange1(); + + /** + * Returns the value of the '<em><b>Quotes</b></em>' containment reference list. + * The list contents are of type {@link com.example.sequences.MixedQuote}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Quotes</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Quotes</em>' containment reference list. + * @generated + */ + List getQuotes(); + +} // MixedQuote diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/MixedRepeatingChoice.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/MixedRepeatingChoice.java new file mode 100644 index 0000000000..dba64b0487 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/MixedRepeatingChoice.java @@ -0,0 +1,102 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.util.List; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Mixed Repeating Choice</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.sequences.MixedRepeatingChoice#getMixed <em>Mixed</em>}</li> + * <li>{@link com.example.sequences.MixedRepeatingChoice#getGroup <em>Group</em>}</li> + * <li>{@link com.example.sequences.MixedRepeatingChoice#getA <em>A</em>}</li> + * <li>{@link com.example.sequences.MixedRepeatingChoice#getB <em>B</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface MixedRepeatingChoice extends Serializable +{ + /** + * Returns the value of the '<em><b>Mixed</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mixed</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mixed</em>' attribute list. + * @generated + */ + Sequence getMixed(); + + /** + * Returns the value of the '<em><b>Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Group</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Group</em>' attribute list. + * @generated + */ + Sequence getGroup(); + + /** + * Returns the value of the '<em><b>A</b></em>' attribute list. + * The list contents are of type {@link java.lang.String}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>A</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>A</em>' attribute list. + * @generated + */ + List getA(); + + /** + * Returns the value of the '<em><b>B</b></em>' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>B</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>B</em>' attribute list. + * @generated + */ + List getB(); + +} // MixedRepeatingChoice diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/RepeatingChoice.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/RepeatingChoice.java new file mode 100644 index 0000000000..3f0b0839f2 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/RepeatingChoice.java @@ -0,0 +1,88 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.util.List; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Repeating Choice</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.sequences.RepeatingChoice#getGroup <em>Group</em>}</li> + * <li>{@link com.example.sequences.RepeatingChoice#getA <em>A</em>}</li> + * <li>{@link com.example.sequences.RepeatingChoice#getB <em>B</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface RepeatingChoice extends Serializable +{ + /** + * Returns the value of the '<em><b>Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Group</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Group</em>' attribute list. + * @generated + */ + Sequence getGroup(); + + /** + * Returns the value of the '<em><b>A</b></em>' attribute list. + * The list contents are of type {@link java.lang.String}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>A</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>A</em>' attribute list. + * @generated + */ + List getA(); + + /** + * Returns the value of the '<em><b>B</b></em>' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>B</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>B</em>' attribute list. + * @generated + */ + List getB(); + +} // RepeatingChoice diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/SequencesFactory.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/SequencesFactory.java new file mode 100644 index 0000000000..900b51ddc3 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/SequencesFactory.java @@ -0,0 +1,97 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences; + +import commonj.sdo.helper.HelperContext; + + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @generated + */ +public interface SequencesFactory +{ + + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + SequencesFactory INSTANCE = com.example.sequences.impl.SequencesFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Mixed Quote</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Mixed Quote</em>'. + * @generated + */ + MixedQuote createMixedQuote(); + + /** + * Returns a new object of class '<em>Mixed Repeating Choice</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Mixed Repeating Choice</em>'. + * @generated + */ + MixedRepeatingChoice createMixedRepeatingChoice(); + + /** + * Returns a new object of class '<em>Repeating Choice</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Repeating Choice</em>'. + * @generated + */ + RepeatingChoice createRepeatingChoice(); + + /** + * Returns a new object of class '<em>Two RCs</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Two RCs</em>'. + * @generated + */ + TwoRCs createTwoRCs(); + + /** + * Returns a new object of class '<em>Two RCs Mixed</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Two RCs Mixed</em>'. + * @generated + */ + TwoRCsMixed createTwoRCsMixed(); + + /** + * Registers the types supported by this Factory within the supplied scope.argument + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param scope an instance of HelperContext used to manage the scoping of types. + * @generated + */ + public void register(HelperContext scope); + +} //SequencesFactory diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/TwoRCs.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/TwoRCs.java new file mode 100644 index 0000000000..c6e54e6598 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/TwoRCs.java @@ -0,0 +1,184 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.util.List; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Two RCs</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.sequences.TwoRCs#getGroup <em>Group</em>}</li> + * <li>{@link com.example.sequences.TwoRCs#getA <em>A</em>}</li> + * <li>{@link com.example.sequences.TwoRCs#getB <em>B</em>}</li> + * <li>{@link com.example.sequences.TwoRCs#getSplit <em>Split</em>}</li> + * <li>{@link com.example.sequences.TwoRCs#getGroup1 <em>Group1</em>}</li> + * <li>{@link com.example.sequences.TwoRCs#getY <em>Y</em>}</li> + * <li>{@link com.example.sequences.TwoRCs#getZ <em>Z</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface TwoRCs extends Serializable +{ + /** + * Returns the value of the '<em><b>Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Group</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Group</em>' attribute list. + * @generated + */ + Sequence getGroup(); + + /** + * Returns the value of the '<em><b>A</b></em>' attribute list. + * The list contents are of type {@link java.lang.String}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>A</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>A</em>' attribute list. + * @generated + */ + List getA(); + + /** + * Returns the value of the '<em><b>B</b></em>' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>B</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>B</em>' attribute list. + * @generated + */ + List getB(); + + /** + * Returns the value of the '<em><b>Split</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Split</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Split</em>' attribute. + * @see #isSetSplit() + * @see #unsetSplit() + * @see #setSplit(String) + * @generated + */ + String getSplit(); + + /** + * Sets the value of the '{@link com.example.sequences.TwoRCs#getSplit <em>Split</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Split</em>' attribute. + * @see #isSetSplit() + * @see #unsetSplit() + * @see #getSplit() + * @generated + */ + void setSplit(String value); + + /** + * Unsets the value of the '{@link com.example.sequences.TwoRCs#getSplit <em>Split</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSplit() + * @see #getSplit() + * @see #setSplit(String) + * @generated + */ + void unsetSplit(); + + /** + * Returns whether the value of the '{@link com.example.sequences.TwoRCs#getSplit <em>Split</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Split</em>' attribute is set. + * @see #unsetSplit() + * @see #getSplit() + * @see #setSplit(String) + * @generated + */ + boolean isSetSplit(); + + /** + * Returns the value of the '<em><b>Group1</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Group1</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Group1</em>' attribute list. + * @generated + */ + Sequence getGroup1(); + + /** + * Returns the value of the '<em><b>Y</b></em>' attribute list. + * The list contents are of type {@link java.lang.String}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Y</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Y</em>' attribute list. + * @generated + */ + List getY(); + + /** + * Returns the value of the '<em><b>Z</b></em>' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Z</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Z</em>' attribute list. + * @generated + */ + List getZ(); + +} // TwoRCs diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/TwoRCsMixed.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/TwoRCsMixed.java new file mode 100644 index 0000000000..90d5f942b6 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/TwoRCsMixed.java @@ -0,0 +1,198 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.util.List; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Two RCs Mixed</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.sequences.TwoRCsMixed#getMixed <em>Mixed</em>}</li> + * <li>{@link com.example.sequences.TwoRCsMixed#getGroup <em>Group</em>}</li> + * <li>{@link com.example.sequences.TwoRCsMixed#getA <em>A</em>}</li> + * <li>{@link com.example.sequences.TwoRCsMixed#getB <em>B</em>}</li> + * <li>{@link com.example.sequences.TwoRCsMixed#getSplit <em>Split</em>}</li> + * <li>{@link com.example.sequences.TwoRCsMixed#getGroup1 <em>Group1</em>}</li> + * <li>{@link com.example.sequences.TwoRCsMixed#getY <em>Y</em>}</li> + * <li>{@link com.example.sequences.TwoRCsMixed#getZ <em>Z</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface TwoRCsMixed extends Serializable +{ + /** + * Returns the value of the '<em><b>Mixed</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mixed</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mixed</em>' attribute list. + * @generated + */ + Sequence getMixed(); + + /** + * Returns the value of the '<em><b>Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Group</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Group</em>' attribute list. + * @generated + */ + Sequence getGroup(); + + /** + * Returns the value of the '<em><b>A</b></em>' attribute list. + * The list contents are of type {@link java.lang.String}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>A</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>A</em>' attribute list. + * @generated + */ + List getA(); + + /** + * Returns the value of the '<em><b>B</b></em>' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>B</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>B</em>' attribute list. + * @generated + */ + List getB(); + + /** + * Returns the value of the '<em><b>Split</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Split</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Split</em>' attribute. + * @see #isSetSplit() + * @see #unsetSplit() + * @see #setSplit(String) + * @generated + */ + String getSplit(); + + /** + * Sets the value of the '{@link com.example.sequences.TwoRCsMixed#getSplit <em>Split</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Split</em>' attribute. + * @see #isSetSplit() + * @see #unsetSplit() + * @see #getSplit() + * @generated + */ + void setSplit(String value); + + /** + * Unsets the value of the '{@link com.example.sequences.TwoRCsMixed#getSplit <em>Split</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSplit() + * @see #getSplit() + * @see #setSplit(String) + * @generated + */ + void unsetSplit(); + + /** + * Returns whether the value of the '{@link com.example.sequences.TwoRCsMixed#getSplit <em>Split</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Split</em>' attribute is set. + * @see #unsetSplit() + * @see #getSplit() + * @see #setSplit(String) + * @generated + */ + boolean isSetSplit(); + + /** + * Returns the value of the '<em><b>Group1</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Group1</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Group1</em>' attribute list. + * @generated + */ + Sequence getGroup1(); + + /** + * Returns the value of the '<em><b>Y</b></em>' attribute list. + * The list contents are of type {@link java.lang.String}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Y</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Y</em>' attribute list. + * @generated + */ + List getY(); + + /** + * Returns the value of the '<em><b>Z</b></em>' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Z</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Z</em>' attribute list. + * @generated + */ + List getZ(); + +} // TwoRCsMixed diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java new file mode 100644 index 0000000000..c0699e50fb --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java @@ -0,0 +1,756 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences.impl; + +import com.example.sequences.MixedQuote; +import com.example.sequences.SequencesFactory; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.math.BigDecimal; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Mixed Quote</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.sequences.impl.MixedQuoteImpl#getMixed <em>Mixed</em>}</li> + * <li>{@link com.example.sequences.impl.MixedQuoteImpl#getSymbol <em>Symbol</em>}</li> + * <li>{@link com.example.sequences.impl.MixedQuoteImpl#getCompanyName <em>Company Name</em>}</li> + * <li>{@link com.example.sequences.impl.MixedQuoteImpl#getPrice <em>Price</em>}</li> + * <li>{@link com.example.sequences.impl.MixedQuoteImpl#getOpen1 <em>Open1</em>}</li> + * <li>{@link com.example.sequences.impl.MixedQuoteImpl#getHigh <em>High</em>}</li> + * <li>{@link com.example.sequences.impl.MixedQuoteImpl#getLow <em>Low</em>}</li> + * <li>{@link com.example.sequences.impl.MixedQuoteImpl#getVolume <em>Volume</em>}</li> + * <li>{@link com.example.sequences.impl.MixedQuoteImpl#getChange1 <em>Change1</em>}</li> + * <li>{@link com.example.sequences.impl.MixedQuoteImpl#getQuotes <em>Quotes</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class MixedQuoteImpl extends DataObjectBase implements MixedQuote +{ + + public final static int MIXED = -1; + + public final static int SYMBOL = 0; + + public final static int COMPANY_NAME = 1; + + public final static int PRICE = 2; + + public final static int OPEN1 = 3; + + public final static int HIGH = 4; + + public final static int LOW = 5; + + public final static int VOLUME = 6; + + public final static int CHANGE1 = 7; + + public final static int QUOTES = 8; + + public final static int SDO_PROPERTY_COUNT = 9; + + public final static int EXTENDED_PROPERTY_COUNT = -1; + + + /** + * The internal feature id for the '<em><b>Mixed</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_MIXED = 0; + + /** + * The internal feature id for the '<em><b>Symbol</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_SYMBOL = 1; + + /** + * The internal feature id for the '<em><b>Company Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_COMPANY_NAME = 2; + + /** + * The internal feature id for the '<em><b>Price</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PRICE = 3; + + /** + * The internal feature id for the '<em><b>Open1</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_OPEN1 = 4; + + /** + * The internal feature id for the '<em><b>High</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_HIGH = 5; + + /** + * The internal feature id for the '<em><b>Low</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_LOW = 6; + + /** + * The internal feature id for the '<em><b>Volume</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_VOLUME = 7; + + /** + * The internal feature id for the '<em><b>Change1</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_CHANGE1 = 8; + + /** + * The internal feature id for the '<em><b>Quotes</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_QUOTES = 9; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 10; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_MIXED: return MIXED; + case INTERNAL_SYMBOL: return SYMBOL; + case INTERNAL_COMPANY_NAME: return COMPANY_NAME; + case INTERNAL_PRICE: return PRICE; + case INTERNAL_OPEN1: return OPEN1; + case INTERNAL_HIGH: return HIGH; + case INTERNAL_LOW: return LOW; + case INTERNAL_VOLUME: return VOLUME; + case INTERNAL_CHANGE1: return CHANGE1; + case INTERNAL_QUOTES: return QUOTES; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMixed() + * @generated + * @ordered + */ + + protected Sequence mixed = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MixedQuoteImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((SequencesFactoryImpl)SequencesFactory.INSTANCE).getMixedQuote(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getMixed() + { + if (mixed == null) + { + mixed = createSequence(INTERNAL_MIXED); + } + return mixed; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getSymbol() + { + return (String)get(getMixed(), getType(), INTERNAL_SYMBOL); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSymbol(String newSymbol) + { + set(getMixed(), getType(), INTERNAL_SYMBOL, newSymbol); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetSymbol() + { + unset(getMixed(), getType(), INTERNAL_SYMBOL); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetSymbol() + { + return isSet(getMixed(), getType(), INTERNAL_SYMBOL); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCompanyName() + { + return (String)get(getMixed(), getType(), INTERNAL_COMPANY_NAME); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCompanyName(String newCompanyName) + { + set(getMixed(), getType(), INTERNAL_COMPANY_NAME, newCompanyName); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetCompanyName() + { + unset(getMixed(), getType(), INTERNAL_COMPANY_NAME); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetCompanyName() + { + return isSet(getMixed(), getType(), INTERNAL_COMPANY_NAME); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getPrice() + { + return (BigDecimal)get(getMixed(), getType(), INTERNAL_PRICE); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setPrice(BigDecimal newPrice) + { + set(getMixed(), getType(), INTERNAL_PRICE, newPrice); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetPrice() + { + unset(getMixed(), getType(), INTERNAL_PRICE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetPrice() + { + return isSet(getMixed(), getType(), INTERNAL_PRICE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getOpen1() + { + return (BigDecimal)get(getMixed(), getType(), INTERNAL_OPEN1); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOpen1(BigDecimal newOpen1) + { + set(getMixed(), getType(), INTERNAL_OPEN1, newOpen1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetOpen1() + { + unset(getMixed(), getType(), INTERNAL_OPEN1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetOpen1() + { + return isSet(getMixed(), getType(), INTERNAL_OPEN1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getHigh() + { + return (BigDecimal)get(getMixed(), getType(), INTERNAL_HIGH); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHigh(BigDecimal newHigh) + { + set(getMixed(), getType(), INTERNAL_HIGH, newHigh); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetHigh() + { + unset(getMixed(), getType(), INTERNAL_HIGH); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetHigh() + { + return isSet(getMixed(), getType(), INTERNAL_HIGH); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getLow() + { + return (BigDecimal)get(getMixed(), getType(), INTERNAL_LOW); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLow(BigDecimal newLow) + { + set(getMixed(), getType(), INTERNAL_LOW, newLow); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetLow() + { + unset(getMixed(), getType(), INTERNAL_LOW); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetLow() + { + return isSet(getMixed(), getType(), INTERNAL_LOW); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public double getVolume() + { + return ((Double)get(getMixed(), getType(), INTERNAL_VOLUME)).doubleValue(); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setVolume(double newVolume) + { + set(getMixed(), getType(), INTERNAL_VOLUME, new Double(newVolume)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetVolume() + { + unset(getMixed(), getType(), INTERNAL_VOLUME); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetVolume() + { + return isSet(getMixed(), getType(), INTERNAL_VOLUME); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public double getChange1() + { + return ((Double)get(getMixed(), getType(), INTERNAL_CHANGE1)).doubleValue(); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setChange1(double newChange1) + { + set(getMixed(), getType(), INTERNAL_CHANGE1, new Double(newChange1)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetChange1() + { + unset(getMixed(), getType(), INTERNAL_CHANGE1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetChange1() + { + return isSet(getMixed(), getType(), INTERNAL_CHANGE1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getQuotes() + { + return getList(getMixed(), getType(), INTERNAL_QUOTES); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case MIXED: + return removeFromSequence(getMixed(), otherEnd, changeContext); + case QUOTES: + return removeFromList(getQuotes(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case MIXED: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getMixed(); + case SYMBOL: + return getSymbol(); + case COMPANY_NAME: + return getCompanyName(); + case PRICE: + return getPrice(); + case OPEN1: + return getOpen1(); + case HIGH: + return getHigh(); + case LOW: + return getLow(); + case VOLUME: + return new Double(getVolume()); + case CHANGE1: + return new Double(getChange1()); + case QUOTES: + return getQuotes(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case MIXED: + setSequence(getMixed(), newValue); + return; + case SYMBOL: + setSymbol((String)newValue); + return; + case COMPANY_NAME: + setCompanyName((String)newValue); + return; + case PRICE: + setPrice((BigDecimal)newValue); + return; + case OPEN1: + setOpen1((BigDecimal)newValue); + return; + case HIGH: + setHigh((BigDecimal)newValue); + return; + case LOW: + setLow((BigDecimal)newValue); + return; + case VOLUME: + setVolume(((Double)newValue).doubleValue()); + return; + case CHANGE1: + setChange1(((Double)newValue).doubleValue()); + return; + case QUOTES: + getQuotes().clear(); + getQuotes().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + unsetSequence(getMixed()); + return; + case SYMBOL: + unsetSymbol(); + return; + case COMPANY_NAME: + unsetCompanyName(); + return; + case PRICE: + unsetPrice(); + return; + case OPEN1: + unsetOpen1(); + return; + case HIGH: + unsetHigh(); + return; + case LOW: + unsetLow(); + return; + case VOLUME: + unsetVolume(); + return; + case CHANGE1: + unsetChange1(); + return; + case QUOTES: + getQuotes().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + return mixed != null && !isSequenceEmpty(getMixed()); + case SYMBOL: + return isSetSymbol(); + case COMPANY_NAME: + return isSetCompanyName(); + case PRICE: + return isSetPrice(); + case OPEN1: + return isSetOpen1(); + case HIGH: + return isSetHigh(); + case LOW: + return isSetLow(); + case VOLUME: + return isSetVolume(); + case CHANGE1: + return isSetChange1(); + case QUOTES: + return !getQuotes().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (mixed: "); + result.append(mixed); + result.append(')'); + return result.toString(); + } + +} //MixedQuoteImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java new file mode 100644 index 0000000000..2fb4c5ec45 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java @@ -0,0 +1,325 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences.impl; + +import com.example.sequences.MixedRepeatingChoice; +import com.example.sequences.SequencesFactory; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Mixed Repeating Choice</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.sequences.impl.MixedRepeatingChoiceImpl#getMixed <em>Mixed</em>}</li> + * <li>{@link com.example.sequences.impl.MixedRepeatingChoiceImpl#getGroup <em>Group</em>}</li> + * <li>{@link com.example.sequences.impl.MixedRepeatingChoiceImpl#getA <em>A</em>}</li> + * <li>{@link com.example.sequences.impl.MixedRepeatingChoiceImpl#getB <em>B</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class MixedRepeatingChoiceImpl extends DataObjectBase implements MixedRepeatingChoice +{ + + public final static int MIXED = -1; + + public final static int GROUP = -2; + + public final static int A = 0; + + public final static int B = 1; + + public final static int SDO_PROPERTY_COUNT = 2; + + public final static int EXTENDED_PROPERTY_COUNT = -2; + + + /** + * The internal feature id for the '<em><b>Mixed</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_MIXED = 0; + + /** + * The internal feature id for the '<em><b>Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP = 1; + + /** + * The internal feature id for the '<em><b>A</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_A = 2; + + /** + * The internal feature id for the '<em><b>B</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_B = 3; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 4; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_MIXED: return MIXED; + case INTERNAL_GROUP: return GROUP; + case INTERNAL_A: return A; + case INTERNAL_B: return B; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMixed() + * @generated + * @ordered + */ + + protected Sequence mixed = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MixedRepeatingChoiceImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((SequencesFactoryImpl)SequencesFactory.INSTANCE).getMixedRepeatingChoice(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getMixed() + { + if (mixed == null) + { + mixed = createSequence(INTERNAL_MIXED); + } + return mixed; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getGroup() + { + return createSequence(getMixed(), getType(), INTERNAL_GROUP); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getA() + { + return getList(getGroup(), getType(), INTERNAL_A); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getB() + { + return getList(getGroup(), getType(), INTERNAL_B); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case MIXED: + return removeFromSequence(getMixed(), otherEnd, changeContext); + case GROUP: + return removeFromSequence(getGroup(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case MIXED: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getMixed(); + case GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup(); + case A: + return getA(); + case B: + return getB(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case MIXED: + setSequence(getMixed(), newValue); + return; + case GROUP: + setSequence(getGroup(), newValue); + return; + case A: + getA().clear(); + getA().addAll((Collection)newValue); + return; + case B: + getB().clear(); + getB().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + unsetSequence(getMixed()); + return; + case GROUP: + unsetSequence(getGroup()); + return; + case A: + getA().clear(); + return; + case B: + getB().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + return mixed != null && !isSequenceEmpty(getMixed()); + case GROUP: + return !isSequenceEmpty(getGroup()); + case A: + return !getA().isEmpty(); + case B: + return !getB().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (mixed: "); + result.append(mixed); + result.append(')'); + return result.toString(); + } + +} //MixedRepeatingChoiceImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java new file mode 100644 index 0000000000..dc6fcf6323 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java @@ -0,0 +1,289 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences.impl; + +import com.example.sequences.RepeatingChoice; +import com.example.sequences.SequencesFactory; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Repeating Choice</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.sequences.impl.RepeatingChoiceImpl#getGroup <em>Group</em>}</li> + * <li>{@link com.example.sequences.impl.RepeatingChoiceImpl#getA <em>A</em>}</li> + * <li>{@link com.example.sequences.impl.RepeatingChoiceImpl#getB <em>B</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class RepeatingChoiceImpl extends DataObjectBase implements RepeatingChoice +{ + + public final static int GROUP = -1; + + public final static int A = 0; + + public final static int B = 1; + + public final static int SDO_PROPERTY_COUNT = 2; + + public final static int EXTENDED_PROPERTY_COUNT = -1; + + + /** + * The internal feature id for the '<em><b>Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP = 0; + + /** + * The internal feature id for the '<em><b>A</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_A = 1; + + /** + * The internal feature id for the '<em><b>B</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_B = 2; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 3; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_GROUP: return GROUP; + case INTERNAL_A: return A; + case INTERNAL_B: return B; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGroup() + * @generated + * @ordered + */ + + protected Sequence group = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RepeatingChoiceImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((SequencesFactoryImpl)SequencesFactory.INSTANCE).getRepeatingChoice(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getGroup() + { + if (group == null) + { + group = createSequence(INTERNAL_GROUP); + } + return group; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getA() + { + return getList(getGroup(), getType(), INTERNAL_A); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getB() + { + return getList(getGroup(), getType(), INTERNAL_B); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case GROUP: + return removeFromSequence(getGroup(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup(); + case A: + return getA(); + case B: + return getB(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case GROUP: + setSequence(getGroup(), newValue); + return; + case A: + getA().clear(); + getA().addAll((Collection)newValue); + return; + case B: + getB().clear(); + getB().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + unsetSequence(getGroup()); + return; + case A: + getA().clear(); + return; + case B: + getB().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + return group != null && !isSequenceEmpty(getGroup()); + case A: + return !getA().isEmpty(); + case B: + return !getB().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (group: "); + result.append(group); + result.append(')'); + return result.toString(); + } + +} //RepeatingChoiceImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/SequencesFactoryImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/SequencesFactoryImpl.java new file mode 100644 index 0000000000..84631cb06d --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/SequencesFactoryImpl.java @@ -0,0 +1,770 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences.impl; + +import commonj.sdo.helper.HelperContext; +import org.apache.tuscany.sdo.helper.TypeHelperImpl; + +import com.example.sequences.*; + +import commonj.sdo.DataObject; +import commonj.sdo.Property; +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.FactoryBase; + +import org.apache.tuscany.sdo.model.ModelFactory; + +import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * Generator information: + * patternVersion=1.2; -prefix Sequences + * <!-- end-user-doc --> + * @generated + */ +public class SequencesFactoryImpl extends FactoryBase implements SequencesFactory +{ + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_URI = "http://www.example.com/sequences"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_PREFIX = "seq"; + + /** + * The version of the generator pattern used to generate this class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String PATTERN_VERSION = "1.2"; + + public static final int MIXED_QUOTE = 1; + public static final int MIXED_REPEATING_CHOICE = 2; + public static final int REPEATING_CHOICE = 3; + public static final int TWO_RCS = 4; + public static final int TWO_RCS_MIXED = 5; + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SequencesFactoryImpl() + { + super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.sequences"); + } + + /** + * Registers the Factory instance so that it is available within the supplied scope. + * @argument scope a HelperContext instance that will make the types supported by this Factory available. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void register(HelperContext scope) + { + if(scope == null) { + throw new IllegalArgumentException("Scope can not be null"); + } + + //Register dependent packages with provided scope + ModelFactory.INSTANCE.register(scope); + + // Initialize this package + TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper(); + th.getExtendedMetaData().putPackage(NAMESPACE_URI, this); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DataObject create(int typeNumber) + { + switch (typeNumber) + { + case MIXED_QUOTE: return (DataObject)createMixedQuote(); + case MIXED_REPEATING_CHOICE: return (DataObject)createMixedRepeatingChoice(); + case REPEATING_CHOICE: return (DataObject)createRepeatingChoice(); + case TWO_RCS: return (DataObject)createTwoRCs(); + case TWO_RCS_MIXED: return (DataObject)createTwoRCsMixed(); + default: + return super.create(typeNumber); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MixedQuote createMixedQuote() + { + MixedQuoteImpl mixedQuote = new MixedQuoteImpl(); + return mixedQuote; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MixedRepeatingChoice createMixedRepeatingChoice() + { + MixedRepeatingChoiceImpl mixedRepeatingChoice = new MixedRepeatingChoiceImpl(); + return mixedRepeatingChoice; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RepeatingChoice createRepeatingChoice() + { + RepeatingChoiceImpl repeatingChoice = new RepeatingChoiceImpl(); + return repeatingChoice; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TwoRCs createTwoRCs() + { + TwoRCsImpl twoRCs = new TwoRCsImpl(); + return twoRCs; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TwoRCsMixed createTwoRCsMixed() + { + TwoRCsMixedImpl twoRCsMixed = new TwoRCsMixedImpl(); + return twoRCsMixed; + } + + // Following creates and initializes SDO metadata for the supported types. + protected Type mixedQuoteType = null; + + public Type getMixedQuote() + { + return mixedQuoteType; + } + + protected Type mixedRepeatingChoiceType = null; + + public Type getMixedRepeatingChoice() + { + return mixedRepeatingChoiceType; + } + + protected Type repeatingChoiceType = null; + + public Type getRepeatingChoice() + { + return repeatingChoiceType; + } + + protected Type twoRCsType = null; + + public Type getTwoRCs() + { + return twoRCsType; + } + + protected Type twoRCsMixedType = null; + + public Type getTwoRCsMixed() + { + return twoRCsMixedType; + } + + + private static SequencesFactoryImpl instance = null; + public static SequencesFactoryImpl init() + { + if (instance != null ) return instance; + instance = new SequencesFactoryImpl(); + + // Initialize dependent packages + ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE; + + // Create package meta-data objects + instance.createMetaData(); + + // Initialize created meta-data + instance.initializeMetaData(); + + // Mark meta-data to indicate it can't be changed + //theSequencesFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ???? + + return instance; + } + + private boolean isCreated = false; + + public void createMetaData() + { + if (isCreated) return; + isCreated = true; + + // Create types and their properties + mixedQuoteType = createType(false, MIXED_QUOTE); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_MIXED); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_SYMBOL); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_COMPANY_NAME); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_PRICE); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_OPEN1); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_HIGH); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_LOW); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_VOLUME); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_CHANGE1); + createProperty(false, mixedQuoteType,MixedQuoteImpl.INTERNAL_QUOTES); + mixedRepeatingChoiceType = createType(false, MIXED_REPEATING_CHOICE); + createProperty(true, mixedRepeatingChoiceType,MixedRepeatingChoiceImpl.INTERNAL_MIXED); + createProperty(true, mixedRepeatingChoiceType,MixedRepeatingChoiceImpl.INTERNAL_GROUP); + createProperty(true, mixedRepeatingChoiceType,MixedRepeatingChoiceImpl.INTERNAL_A); + createProperty(true, mixedRepeatingChoiceType,MixedRepeatingChoiceImpl.INTERNAL_B); + repeatingChoiceType = createType(false, REPEATING_CHOICE); + createProperty(true, repeatingChoiceType,RepeatingChoiceImpl.INTERNAL_GROUP); + createProperty(true, repeatingChoiceType,RepeatingChoiceImpl.INTERNAL_A); + createProperty(true, repeatingChoiceType,RepeatingChoiceImpl.INTERNAL_B); + twoRCsType = createType(false, TWO_RCS); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_GROUP); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_A); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_B); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_SPLIT); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_GROUP1); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_Y); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_Z); + twoRCsMixedType = createType(false, TWO_RCS_MIXED); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_MIXED); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_GROUP); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_A); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_B); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_SPLIT); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_GROUP1); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_Y); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_Z); + } + + private boolean isInitialized = false; + + public void initializeMetaData() + { + if (isInitialized) return; + isInitialized = true; + + // Obtain other dependent packages + ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE; + Property property = null; + + // Add supertypes to types + + // Initialize types and properties + initializeType(mixedQuoteType, MixedQuote.class, "MixedQuote", false); + property = getLocalProperty(mixedQuoteType, 0); + initializeProperty(property, getSequence(), "mixed", null, 0, -1, MixedQuote.class, false, false, false); + + property = getLocalProperty(mixedQuoteType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "symbol", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 2); + initializeProperty(property, theModelPackageImpl.getString(), "companyName", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 3); + initializeProperty(property, theModelPackageImpl.getDecimal(), "price", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 4); + initializeProperty(property, theModelPackageImpl.getDecimal(), "open1", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 5); + initializeProperty(property, theModelPackageImpl.getDecimal(), "high", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 6); + initializeProperty(property, theModelPackageImpl.getDecimal(), "low", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 7); + initializeProperty(property, theModelPackageImpl.getDouble(), "volume", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 8); + initializeProperty(property, theModelPackageImpl.getDouble(), "change1", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 9); + initializeProperty(property, this.getMixedQuote(), "quotes", null, 0, -1, MixedQuote.class, false, false, true, true , null); + + initializeType(mixedRepeatingChoiceType, MixedRepeatingChoice.class, "MixedRepeatingChoice", false); + property = getLocalProperty(mixedRepeatingChoiceType, 0); + initializeProperty(property, getSequence(), "mixed", null, 0, -1, MixedRepeatingChoice.class, false, false, false); + + property = getLocalProperty(mixedRepeatingChoiceType, 1); + initializeProperty(property, getSequence(), "group", null, 0, -1, MixedRepeatingChoice.class, false, false, true); + + property = getLocalProperty(mixedRepeatingChoiceType, 2); + initializeProperty(property, theModelPackageImpl.getString(), "a", null, 0, -1, MixedRepeatingChoice.class, false, false, true); + + property = getLocalProperty(mixedRepeatingChoiceType, 3); + initializeProperty(property, theModelPackageImpl.getInt(), "b", null, 0, -1, MixedRepeatingChoice.class, false, false, true); + + initializeType(repeatingChoiceType, RepeatingChoice.class, "RepeatingChoice", false); + property = getLocalProperty(repeatingChoiceType, 0); + initializeProperty(property, getSequence(), "group", null, 0, -1, RepeatingChoice.class, false, false, false); + + property = getLocalProperty(repeatingChoiceType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "a", null, 0, -1, RepeatingChoice.class, false, false, true); + + property = getLocalProperty(repeatingChoiceType, 2); + initializeProperty(property, theModelPackageImpl.getInt(), "b", null, 0, -1, RepeatingChoice.class, false, false, true); + + initializeType(twoRCsType, TwoRCs.class, "TwoRCs", false); + property = getLocalProperty(twoRCsType, 0); + initializeProperty(property, getSequence(), "group", null, 0, -1, TwoRCs.class, false, false, false); + + property = getLocalProperty(twoRCsType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "a", null, 0, -1, TwoRCs.class, false, false, true); + + property = getLocalProperty(twoRCsType, 2); + initializeProperty(property, theModelPackageImpl.getInt(), "b", null, 0, -1, TwoRCs.class, false, false, true); + + property = getLocalProperty(twoRCsType, 3); + initializeProperty(property, theModelPackageImpl.getString(), "split", null, 1, 1, TwoRCs.class, false, true, false); + + property = getLocalProperty(twoRCsType, 4); + initializeProperty(property, getSequence(), "group1", null, 0, -1, TwoRCs.class, false, false, false); + + property = getLocalProperty(twoRCsType, 5); + initializeProperty(property, theModelPackageImpl.getString(), "y", null, 0, -1, TwoRCs.class, false, false, true); + + property = getLocalProperty(twoRCsType, 6); + initializeProperty(property, theModelPackageImpl.getInt(), "z", null, 0, -1, TwoRCs.class, false, false, true); + + initializeType(twoRCsMixedType, TwoRCsMixed.class, "TwoRCsMixed", false); + property = getLocalProperty(twoRCsMixedType, 0); + initializeProperty(property, getSequence(), "mixed", null, 0, -1, TwoRCsMixed.class, false, false, false); + + property = getLocalProperty(twoRCsMixedType, 1); + initializeProperty(property, getSequence(), "group", null, 0, -1, TwoRCsMixed.class, false, false, true); + + property = getLocalProperty(twoRCsMixedType, 2); + initializeProperty(property, theModelPackageImpl.getString(), "a", null, 0, -1, TwoRCsMixed.class, false, false, true); + + property = getLocalProperty(twoRCsMixedType, 3); + initializeProperty(property, theModelPackageImpl.getInt(), "b", null, 0, -1, TwoRCsMixed.class, false, false, true); + + property = getLocalProperty(twoRCsMixedType, 4); + initializeProperty(property, theModelPackageImpl.getString(), "split", null, 1, 1, TwoRCsMixed.class, false, true, true); + + property = getLocalProperty(twoRCsMixedType, 5); + initializeProperty(property, getSequence(), "group1", null, 0, -1, TwoRCsMixed.class, false, false, true); + + property = getLocalProperty(twoRCsMixedType, 6); + initializeProperty(property, theModelPackageImpl.getString(), "y", null, 0, -1, TwoRCsMixed.class, false, false, true); + + property = getLocalProperty(twoRCsMixedType, 7); + initializeProperty(property, theModelPackageImpl.getInt(), "z", null, 0, -1, TwoRCsMixed.class, false, false, true); + + createXSDMetaData(theModelPackageImpl); + } + + protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl) + { + super.initXSD(); + + Property property = null; + + + property = createGlobalProperty + ("mixedStockQuote", + this.getMixedQuote(), + new String[] + { + "kind", "element", + "name", "mixedStockQuote", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("mrc", + this.getMixedRepeatingChoice(), + new String[] + { + "kind", "element", + "name", "mrc", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("mrc2", + this.getTwoRCsMixed(), + new String[] + { + "kind", "element", + "name", "mrc2", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("rc", + this.getRepeatingChoice(), + new String[] + { + "kind", "element", + "name", "rc", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("rc2", + this.getTwoRCs(), + new String[] + { + "kind", "element", + "name", "rc2", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (mixedQuoteType, + new String[] + { + "name", "MixedQuote", + "kind", "mixed" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_MIXED), + new String[] + { + "kind", "elementWildcard", + "name", ":mixed" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_SYMBOL), + new String[] + { + "kind", "element", + "name", "symbol" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_COMPANY_NAME), + new String[] + { + "kind", "element", + "name", "companyName" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_PRICE), + new String[] + { + "kind", "element", + "name", "price" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_OPEN1), + new String[] + { + "kind", "element", + "name", "open1" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_HIGH), + new String[] + { + "kind", "element", + "name", "high" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_LOW), + new String[] + { + "kind", "element", + "name", "low" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_VOLUME), + new String[] + { + "kind", "element", + "name", "volume" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_CHANGE1), + new String[] + { + "kind", "element", + "name", "change1" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_QUOTES), + new String[] + { + "kind", "element", + "name", "quotes" + }); + + addXSDMapping + (mixedRepeatingChoiceType, + new String[] + { + "name", "MixedRepeatingChoice", + "kind", "mixed" + }); + + addXSDMapping + (getProperty(mixedRepeatingChoiceType, MixedRepeatingChoiceImpl.INTERNAL_MIXED), + new String[] + { + "kind", "elementWildcard", + "name", ":mixed" + }); + + addXSDMapping + (getProperty(mixedRepeatingChoiceType, MixedRepeatingChoiceImpl.INTERNAL_GROUP), + new String[] + { + "kind", "group", + "name", "group:1" + }); + + addXSDMapping + (getProperty(mixedRepeatingChoiceType, MixedRepeatingChoiceImpl.INTERNAL_A), + new String[] + { + "kind", "element", + "name", "a", + "group", "#group:1" + }); + + addXSDMapping + (getProperty(mixedRepeatingChoiceType, MixedRepeatingChoiceImpl.INTERNAL_B), + new String[] + { + "kind", "element", + "name", "b", + "group", "#group:1" + }); + + addXSDMapping + (repeatingChoiceType, + new String[] + { + "name", "RepeatingChoice", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(repeatingChoiceType, RepeatingChoiceImpl.INTERNAL_GROUP), + new String[] + { + "kind", "group", + "name", "group:0" + }); + + addXSDMapping + (getProperty(repeatingChoiceType, RepeatingChoiceImpl.INTERNAL_A), + new String[] + { + "kind", "element", + "name", "a", + "group", "#group:0" + }); + + addXSDMapping + (getProperty(repeatingChoiceType, RepeatingChoiceImpl.INTERNAL_B), + new String[] + { + "kind", "element", + "name", "b", + "group", "#group:0" + }); + + addXSDMapping + (twoRCsType, + new String[] + { + "name", "TwoRCs", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_GROUP), + new String[] + { + "kind", "group", + "name", "group:0" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_A), + new String[] + { + "kind", "element", + "name", "a", + "group", "#group:0" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_B), + new String[] + { + "kind", "element", + "name", "b", + "group", "#group:0" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_SPLIT), + new String[] + { + "kind", "element", + "name", "split" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_GROUP1), + new String[] + { + "kind", "group", + "name", "group:4" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_Y), + new String[] + { + "kind", "element", + "name", "y", + "group", "#group:4" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_Z), + new String[] + { + "kind", "element", + "name", "z", + "group", "#group:4" + }); + + addXSDMapping + (twoRCsMixedType, + new String[] + { + "name", "TwoRCsMixed", + "kind", "mixed" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_MIXED), + new String[] + { + "kind", "elementWildcard", + "name", ":mixed" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_GROUP), + new String[] + { + "kind", "group", + "name", "group:1" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_A), + new String[] + { + "kind", "element", + "name", "a", + "group", "#group:1" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_B), + new String[] + { + "kind", "element", + "name", "b", + "group", "#group:1" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_SPLIT), + new String[] + { + "kind", "element", + "name", "split" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_GROUP1), + new String[] + { + "kind", "group", + "name", "group:5" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_Y), + new String[] + { + "kind", "element", + "name", "y", + "group", "#group:5" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_Z), + new String[] + { + "kind", "element", + "name", "z", + "group", "#group:5" + }); + + } + +} //SequencesFactoryImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java new file mode 100644 index 0000000000..b1ac177cb9 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java @@ -0,0 +1,511 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences.impl; + +import com.example.sequences.SequencesFactory; +import com.example.sequences.TwoRCs; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Two RCs</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.sequences.impl.TwoRCsImpl#getGroup <em>Group</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsImpl#getA <em>A</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsImpl#getB <em>B</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsImpl#getSplit <em>Split</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsImpl#getGroup1 <em>Group1</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsImpl#getY <em>Y</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsImpl#getZ <em>Z</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class TwoRCsImpl extends DataObjectBase implements TwoRCs +{ + + public final static int GROUP = -1; + + public final static int A = 0; + + public final static int B = 1; + + public final static int SPLIT = 2; + + public final static int GROUP1 = -2; + + public final static int Y = 3; + + public final static int Z = 4; + + public final static int SDO_PROPERTY_COUNT = 5; + + public final static int EXTENDED_PROPERTY_COUNT = -2; + + + /** + * The internal feature id for the '<em><b>Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP = 0; + + /** + * The internal feature id for the '<em><b>A</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_A = 1; + + /** + * The internal feature id for the '<em><b>B</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_B = 2; + + /** + * The internal feature id for the '<em><b>Split</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_SPLIT = 3; + + /** + * The internal feature id for the '<em><b>Group1</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP1 = 4; + + /** + * The internal feature id for the '<em><b>Y</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_Y = 5; + + /** + * The internal feature id for the '<em><b>Z</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_Z = 6; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 7; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_GROUP: return GROUP; + case INTERNAL_A: return A; + case INTERNAL_B: return B; + case INTERNAL_SPLIT: return SPLIT; + case INTERNAL_GROUP1: return GROUP1; + case INTERNAL_Y: return Y; + case INTERNAL_Z: return Z; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGroup() + * @generated + * @ordered + */ + + protected Sequence group = null; + + /** + * The default value of the '{@link #getSplit() <em>Split</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSplit() + * @generated + * @ordered + */ + protected static final String SPLIT_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getSplit() <em>Split</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSplit() + * @generated + * @ordered + */ + protected String split = SPLIT_DEFAULT_; + + /** + * This is true if the Split attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean split_set_ = false; + + /** + * The cached value of the '{@link #getGroup1() <em>Group1</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGroup1() + * @generated + * @ordered + */ + + protected Sequence group1 = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TwoRCsImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((SequencesFactoryImpl)SequencesFactory.INSTANCE).getTwoRCs(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getGroup() + { + if (group == null) + { + group = createSequence(INTERNAL_GROUP); + } + return group; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getA() + { + return getList(getGroup(), getType(), INTERNAL_A); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getB() + { + return getList(getGroup(), getType(), INTERNAL_B); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getSplit() + { + return split; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSplit(String newSplit) + { + String oldSplit = split; + split = newSplit; + boolean oldSplit_set_ = split_set_; + split_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_SPLIT, oldSplit, split, !oldSplit_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetSplit() + { + String oldSplit = split; + boolean oldSplit_set_ = split_set_; + split = SPLIT_DEFAULT_; + split_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_SPLIT, oldSplit, SPLIT_DEFAULT_, oldSplit_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetSplit() + { + return split_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getGroup1() + { + if (group1 == null) + { + group1 = createSequence(INTERNAL_GROUP1); + } + return group1; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getY() + { + return getList(getGroup1(), getType(), INTERNAL_Y); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getZ() + { + return getList(getGroup1(), getType(), INTERNAL_Z); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case GROUP: + return removeFromSequence(getGroup(), otherEnd, changeContext); + case GROUP1: + return removeFromSequence(getGroup1(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup(); + case A: + return getA(); + case B: + return getB(); + case SPLIT: + return getSplit(); + case GROUP1: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup1(); + case Y: + return getY(); + case Z: + return getZ(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case GROUP: + setSequence(getGroup(), newValue); + return; + case A: + getA().clear(); + getA().addAll((Collection)newValue); + return; + case B: + getB().clear(); + getB().addAll((Collection)newValue); + return; + case SPLIT: + setSplit((String)newValue); + return; + case GROUP1: + setSequence(getGroup1(), newValue); + return; + case Y: + getY().clear(); + getY().addAll((Collection)newValue); + return; + case Z: + getZ().clear(); + getZ().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + unsetSequence(getGroup()); + return; + case A: + getA().clear(); + return; + case B: + getB().clear(); + return; + case SPLIT: + unsetSplit(); + return; + case GROUP1: + unsetSequence(getGroup1()); + return; + case Y: + getY().clear(); + return; + case Z: + getZ().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + return group != null && !isSequenceEmpty(getGroup()); + case A: + return !getA().isEmpty(); + case B: + return !getB().isEmpty(); + case SPLIT: + return isSetSplit(); + case GROUP1: + return group1 != null && !isSequenceEmpty(getGroup1()); + case Y: + return !getY().isEmpty(); + case Z: + return !getZ().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (group: "); + result.append(group); + result.append(", split: "); + if (split_set_) result.append(split); else result.append("<unset>"); + result.append(", group1: "); + result.append(group1); + result.append(')'); + return result.toString(); + } + +} //TwoRCsImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java new file mode 100644 index 0000000000..df28d645e9 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java @@ -0,0 +1,489 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.sequences.impl; + +import com.example.sequences.SequencesFactory; +import com.example.sequences.TwoRCsMixed; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Two RCs Mixed</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.sequences.impl.TwoRCsMixedImpl#getMixed <em>Mixed</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsMixedImpl#getGroup <em>Group</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsMixedImpl#getA <em>A</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsMixedImpl#getB <em>B</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsMixedImpl#getSplit <em>Split</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsMixedImpl#getGroup1 <em>Group1</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsMixedImpl#getY <em>Y</em>}</li> + * <li>{@link com.example.sequences.impl.TwoRCsMixedImpl#getZ <em>Z</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class TwoRCsMixedImpl extends DataObjectBase implements TwoRCsMixed +{ + + public final static int MIXED = -1; + + public final static int GROUP = -2; + + public final static int A = 0; + + public final static int B = 1; + + public final static int SPLIT = 2; + + public final static int GROUP1 = -3; + + public final static int Y = 3; + + public final static int Z = 4; + + public final static int SDO_PROPERTY_COUNT = 5; + + public final static int EXTENDED_PROPERTY_COUNT = -3; + + + /** + * The internal feature id for the '<em><b>Mixed</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_MIXED = 0; + + /** + * The internal feature id for the '<em><b>Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP = 1; + + /** + * The internal feature id for the '<em><b>A</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_A = 2; + + /** + * The internal feature id for the '<em><b>B</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_B = 3; + + /** + * The internal feature id for the '<em><b>Split</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_SPLIT = 4; + + /** + * The internal feature id for the '<em><b>Group1</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP1 = 5; + + /** + * The internal feature id for the '<em><b>Y</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_Y = 6; + + /** + * The internal feature id for the '<em><b>Z</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_Z = 7; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 8; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_MIXED: return MIXED; + case INTERNAL_GROUP: return GROUP; + case INTERNAL_A: return A; + case INTERNAL_B: return B; + case INTERNAL_SPLIT: return SPLIT; + case INTERNAL_GROUP1: return GROUP1; + case INTERNAL_Y: return Y; + case INTERNAL_Z: return Z; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMixed() + * @generated + * @ordered + */ + + protected Sequence mixed = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TwoRCsMixedImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((SequencesFactoryImpl)SequencesFactory.INSTANCE).getTwoRCsMixed(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getMixed() + { + if (mixed == null) + { + mixed = createSequence(INTERNAL_MIXED); + } + return mixed; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getGroup() + { + return createSequence(getMixed(), getType(), INTERNAL_GROUP); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getA() + { + return getList(getGroup(), getType(), INTERNAL_A); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getB() + { + return getList(getGroup(), getType(), INTERNAL_B); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getSplit() + { + return (String)get(getMixed(), getType(), INTERNAL_SPLIT); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSplit(String newSplit) + { + set(getMixed(), getType(), INTERNAL_SPLIT, newSplit); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetSplit() + { + unset(getMixed(), getType(), INTERNAL_SPLIT); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetSplit() + { + return isSet(getMixed(), getType(), INTERNAL_SPLIT); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getGroup1() + { + return createSequence(getMixed(), getType(), INTERNAL_GROUP1); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getY() + { + return getList(getGroup1(), getType(), INTERNAL_Y); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getZ() + { + return getList(getGroup1(), getType(), INTERNAL_Z); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case MIXED: + return removeFromSequence(getMixed(), otherEnd, changeContext); + case GROUP: + return removeFromSequence(getGroup(), otherEnd, changeContext); + case GROUP1: + return removeFromSequence(getGroup1(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case MIXED: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getMixed(); + case GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup(); + case A: + return getA(); + case B: + return getB(); + case SPLIT: + return getSplit(); + case GROUP1: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup1(); + case Y: + return getY(); + case Z: + return getZ(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case MIXED: + setSequence(getMixed(), newValue); + return; + case GROUP: + setSequence(getGroup(), newValue); + return; + case A: + getA().clear(); + getA().addAll((Collection)newValue); + return; + case B: + getB().clear(); + getB().addAll((Collection)newValue); + return; + case SPLIT: + setSplit((String)newValue); + return; + case GROUP1: + setSequence(getGroup1(), newValue); + return; + case Y: + getY().clear(); + getY().addAll((Collection)newValue); + return; + case Z: + getZ().clear(); + getZ().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + unsetSequence(getMixed()); + return; + case GROUP: + unsetSequence(getGroup()); + return; + case A: + getA().clear(); + return; + case B: + getB().clear(); + return; + case SPLIT: + unsetSplit(); + return; + case GROUP1: + unsetSequence(getGroup1()); + return; + case Y: + getY().clear(); + return; + case Z: + getZ().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + return mixed != null && !isSequenceEmpty(getMixed()); + case GROUP: + return !isSequenceEmpty(getGroup()); + case A: + return !getA().isEmpty(); + case B: + return !getB().isEmpty(); + case SPLIT: + return isSetSplit(); + case GROUP1: + return !isSequenceEmpty(getGroup1()); + case Y: + return !getY().isEmpty(); + case Z: + return !getZ().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (mixed: "); + result.append(mixed); + result.append(')'); + return result.toString(); + } + +} //TwoRCsMixedImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/Quote.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/Quote.java new file mode 100644 index 0000000000..48dcf96d64 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/Quote.java @@ -0,0 +1,475 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.simple; + +import java.io.Serializable; + +import java.math.BigDecimal; + +import java.util.List; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Quote</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.simple.Quote#getSymbol <em>Symbol</em>}</li> + * <li>{@link com.example.simple.Quote#getCompanyName <em>Company Name</em>}</li> + * <li>{@link com.example.simple.Quote#getPrice <em>Price</em>}</li> + * <li>{@link com.example.simple.Quote#getOpen1 <em>Open1</em>}</li> + * <li>{@link com.example.simple.Quote#getHigh <em>High</em>}</li> + * <li>{@link com.example.simple.Quote#getLow <em>Low</em>}</li> + * <li>{@link com.example.simple.Quote#getVolume <em>Volume</em>}</li> + * <li>{@link com.example.simple.Quote#getChange1 <em>Change1</em>}</li> + * <li>{@link com.example.simple.Quote#getQuotes <em>Quotes</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface Quote extends Serializable +{ + /** + * Returns the value of the '<em><b>Symbol</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Symbol</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Symbol</em>' attribute. + * @see #isSetSymbol() + * @see #unsetSymbol() + * @see #setSymbol(String) + * @generated + */ + String getSymbol(); + + /** + * Sets the value of the '{@link com.example.simple.Quote#getSymbol <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Symbol</em>' attribute. + * @see #isSetSymbol() + * @see #unsetSymbol() + * @see #getSymbol() + * @generated + */ + void setSymbol(String value); + + /** + * Unsets the value of the '{@link com.example.simple.Quote#getSymbol <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSymbol() + * @see #getSymbol() + * @see #setSymbol(String) + * @generated + */ + void unsetSymbol(); + + /** + * Returns whether the value of the '{@link com.example.simple.Quote#getSymbol <em>Symbol</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Symbol</em>' attribute is set. + * @see #unsetSymbol() + * @see #getSymbol() + * @see #setSymbol(String) + * @generated + */ + boolean isSetSymbol(); + + /** + * Returns the value of the '<em><b>Company Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Company Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Company Name</em>' attribute. + * @see #isSetCompanyName() + * @see #unsetCompanyName() + * @see #setCompanyName(String) + * @generated + */ + String getCompanyName(); + + /** + * Sets the value of the '{@link com.example.simple.Quote#getCompanyName <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Company Name</em>' attribute. + * @see #isSetCompanyName() + * @see #unsetCompanyName() + * @see #getCompanyName() + * @generated + */ + void setCompanyName(String value); + + /** + * Unsets the value of the '{@link com.example.simple.Quote#getCompanyName <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetCompanyName() + * @see #getCompanyName() + * @see #setCompanyName(String) + * @generated + */ + void unsetCompanyName(); + + /** + * Returns whether the value of the '{@link com.example.simple.Quote#getCompanyName <em>Company Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Company Name</em>' attribute is set. + * @see #unsetCompanyName() + * @see #getCompanyName() + * @see #setCompanyName(String) + * @generated + */ + boolean isSetCompanyName(); + + /** + * Returns the value of the '<em><b>Price</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Price</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Price</em>' attribute. + * @see #isSetPrice() + * @see #unsetPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + BigDecimal getPrice(); + + /** + * Sets the value of the '{@link com.example.simple.Quote#getPrice <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Price</em>' attribute. + * @see #isSetPrice() + * @see #unsetPrice() + * @see #getPrice() + * @generated + */ + void setPrice(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.simple.Quote#getPrice <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPrice() + * @see #getPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + void unsetPrice(); + + /** + * Returns whether the value of the '{@link com.example.simple.Quote#getPrice <em>Price</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Price</em>' attribute is set. + * @see #unsetPrice() + * @see #getPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + boolean isSetPrice(); + + /** + * Returns the value of the '<em><b>Open1</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Open1</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Open1</em>' attribute. + * @see #isSetOpen1() + * @see #unsetOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + BigDecimal getOpen1(); + + /** + * Sets the value of the '{@link com.example.simple.Quote#getOpen1 <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Open1</em>' attribute. + * @see #isSetOpen1() + * @see #unsetOpen1() + * @see #getOpen1() + * @generated + */ + void setOpen1(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.simple.Quote#getOpen1 <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetOpen1() + * @see #getOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + void unsetOpen1(); + + /** + * Returns whether the value of the '{@link com.example.simple.Quote#getOpen1 <em>Open1</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Open1</em>' attribute is set. + * @see #unsetOpen1() + * @see #getOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + boolean isSetOpen1(); + + /** + * Returns the value of the '<em><b>High</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>High</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>High</em>' attribute. + * @see #isSetHigh() + * @see #unsetHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + BigDecimal getHigh(); + + /** + * Sets the value of the '{@link com.example.simple.Quote#getHigh <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>High</em>' attribute. + * @see #isSetHigh() + * @see #unsetHigh() + * @see #getHigh() + * @generated + */ + void setHigh(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.simple.Quote#getHigh <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetHigh() + * @see #getHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + void unsetHigh(); + + /** + * Returns whether the value of the '{@link com.example.simple.Quote#getHigh <em>High</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>High</em>' attribute is set. + * @see #unsetHigh() + * @see #getHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + boolean isSetHigh(); + + /** + * Returns the value of the '<em><b>Low</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Low</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Low</em>' attribute. + * @see #isSetLow() + * @see #unsetLow() + * @see #setLow(BigDecimal) + * @generated + */ + BigDecimal getLow(); + + /** + * Sets the value of the '{@link com.example.simple.Quote#getLow <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Low</em>' attribute. + * @see #isSetLow() + * @see #unsetLow() + * @see #getLow() + * @generated + */ + void setLow(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.simple.Quote#getLow <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetLow() + * @see #getLow() + * @see #setLow(BigDecimal) + * @generated + */ + void unsetLow(); + + /** + * Returns whether the value of the '{@link com.example.simple.Quote#getLow <em>Low</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Low</em>' attribute is set. + * @see #unsetLow() + * @see #getLow() + * @see #setLow(BigDecimal) + * @generated + */ + boolean isSetLow(); + + /** + * Returns the value of the '<em><b>Volume</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Volume</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Volume</em>' attribute. + * @see #isSetVolume() + * @see #unsetVolume() + * @see #setVolume(double) + * @generated + */ + double getVolume(); + + /** + * Sets the value of the '{@link com.example.simple.Quote#getVolume <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Volume</em>' attribute. + * @see #isSetVolume() + * @see #unsetVolume() + * @see #getVolume() + * @generated + */ + void setVolume(double value); + + /** + * Unsets the value of the '{@link com.example.simple.Quote#getVolume <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetVolume() + * @see #getVolume() + * @see #setVolume(double) + * @generated + */ + void unsetVolume(); + + /** + * Returns whether the value of the '{@link com.example.simple.Quote#getVolume <em>Volume</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Volume</em>' attribute is set. + * @see #unsetVolume() + * @see #getVolume() + * @see #setVolume(double) + * @generated + */ + boolean isSetVolume(); + + /** + * Returns the value of the '<em><b>Change1</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Change1</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Change1</em>' attribute. + * @see #isSetChange1() + * @see #unsetChange1() + * @see #setChange1(double) + * @generated + */ + double getChange1(); + + /** + * Sets the value of the '{@link com.example.simple.Quote#getChange1 <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Change1</em>' attribute. + * @see #isSetChange1() + * @see #unsetChange1() + * @see #getChange1() + * @generated + */ + void setChange1(double value); + + /** + * Unsets the value of the '{@link com.example.simple.Quote#getChange1 <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetChange1() + * @see #getChange1() + * @see #setChange1(double) + * @generated + */ + void unsetChange1(); + + /** + * Returns whether the value of the '{@link com.example.simple.Quote#getChange1 <em>Change1</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Change1</em>' attribute is set. + * @see #unsetChange1() + * @see #getChange1() + * @see #setChange1(double) + * @generated + */ + boolean isSetChange1(); + + /** + * Returns the value of the '<em><b>Quotes</b></em>' containment reference list. + * The list contents are of type {@link com.example.simple.Quote}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Quotes</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Quotes</em>' containment reference list. + * @generated + */ + List getQuotes(); + +} // Quote diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/SimpleFactory.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/SimpleFactory.java new file mode 100644 index 0000000000..98dc01d69a --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/SimpleFactory.java @@ -0,0 +1,61 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.simple; + +import commonj.sdo.helper.HelperContext; + + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @generated + */ +public interface SimpleFactory +{ + + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + SimpleFactory INSTANCE = com.example.simple.impl.SimpleFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Quote</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Quote</em>'. + * @generated + */ + Quote createQuote(); + + /** + * Registers the types supported by this Factory within the supplied scope.argument + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param scope an instance of HelperContext used to manage the scoping of types. + * @generated + */ + public void register(HelperContext scope); + +} //SimpleFactory diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/CSFactory.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/CSFactory.java new file mode 100644 index 0000000000..6a742b2cdf --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/CSFactory.java @@ -0,0 +1,70 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.simple.cs; + +import commonj.sdo.helper.HelperContext; + + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @generated + */ +public interface CSFactory +{ + + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + CSFactory INSTANCE = com.example.simple.cs.impl.CSFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Quote</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Quote</em>'. + * @generated + */ + Quote createQuote(); + + /** + * Returns a new object of class '<em>Quote Base</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Quote Base</em>'. + * @generated + */ + QuoteBase createQuoteBase(); + + /** + * Registers the types supported by this Factory within the supplied scope.argument + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param scope an instance of HelperContext used to manage the scoping of types. + * @generated + */ + public void register(HelperContext scope); + +} //CSFactory diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/Quote.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/Quote.java new file mode 100644 index 0000000000..f18f8117c4 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/Quote.java @@ -0,0 +1,475 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.simple.cs; + +import java.io.Serializable; + +import java.math.BigDecimal; + +import java.util.List; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Quote</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.simple.cs.Quote#getSymbol <em>Symbol</em>}</li> + * <li>{@link com.example.simple.cs.Quote#getCompanyName <em>Company Name</em>}</li> + * <li>{@link com.example.simple.cs.Quote#getPrice <em>Price</em>}</li> + * <li>{@link com.example.simple.cs.Quote#getOpen1 <em>Open1</em>}</li> + * <li>{@link com.example.simple.cs.Quote#getHigh <em>High</em>}</li> + * <li>{@link com.example.simple.cs.Quote#getLow <em>Low</em>}</li> + * <li>{@link com.example.simple.cs.Quote#getVolume <em>Volume</em>}</li> + * <li>{@link com.example.simple.cs.Quote#getChange1 <em>Change1</em>}</li> + * <li>{@link com.example.simple.cs.Quote#getQuotes <em>Quotes</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface Quote extends Serializable +{ + /** + * Returns the value of the '<em><b>Symbol</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Symbol</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Symbol</em>' attribute. + * @see #isSetSymbol() + * @see #unsetSymbol() + * @see #setSymbol(String) + * @generated + */ + String getSymbol(); + + /** + * Sets the value of the '{@link com.example.simple.cs.Quote#getSymbol <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Symbol</em>' attribute. + * @see #isSetSymbol() + * @see #unsetSymbol() + * @see #getSymbol() + * @generated + */ + void setSymbol(String value); + + /** + * Unsets the value of the '{@link com.example.simple.cs.Quote#getSymbol <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSymbol() + * @see #getSymbol() + * @see #setSymbol(String) + * @generated + */ + void unsetSymbol(); + + /** + * Returns whether the value of the '{@link com.example.simple.cs.Quote#getSymbol <em>Symbol</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Symbol</em>' attribute is set. + * @see #unsetSymbol() + * @see #getSymbol() + * @see #setSymbol(String) + * @generated + */ + boolean isSetSymbol(); + + /** + * Returns the value of the '<em><b>Company Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Company Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Company Name</em>' attribute. + * @see #isSetCompanyName() + * @see #unsetCompanyName() + * @see #setCompanyName(String) + * @generated + */ + String getCompanyName(); + + /** + * Sets the value of the '{@link com.example.simple.cs.Quote#getCompanyName <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Company Name</em>' attribute. + * @see #isSetCompanyName() + * @see #unsetCompanyName() + * @see #getCompanyName() + * @generated + */ + void setCompanyName(String value); + + /** + * Unsets the value of the '{@link com.example.simple.cs.Quote#getCompanyName <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetCompanyName() + * @see #getCompanyName() + * @see #setCompanyName(String) + * @generated + */ + void unsetCompanyName(); + + /** + * Returns whether the value of the '{@link com.example.simple.cs.Quote#getCompanyName <em>Company Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Company Name</em>' attribute is set. + * @see #unsetCompanyName() + * @see #getCompanyName() + * @see #setCompanyName(String) + * @generated + */ + boolean isSetCompanyName(); + + /** + * Returns the value of the '<em><b>Price</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Price</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Price</em>' attribute. + * @see #isSetPrice() + * @see #unsetPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + BigDecimal getPrice(); + + /** + * Sets the value of the '{@link com.example.simple.cs.Quote#getPrice <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Price</em>' attribute. + * @see #isSetPrice() + * @see #unsetPrice() + * @see #getPrice() + * @generated + */ + void setPrice(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.simple.cs.Quote#getPrice <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPrice() + * @see #getPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + void unsetPrice(); + + /** + * Returns whether the value of the '{@link com.example.simple.cs.Quote#getPrice <em>Price</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Price</em>' attribute is set. + * @see #unsetPrice() + * @see #getPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + boolean isSetPrice(); + + /** + * Returns the value of the '<em><b>Open1</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Open1</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Open1</em>' attribute. + * @see #isSetOpen1() + * @see #unsetOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + BigDecimal getOpen1(); + + /** + * Sets the value of the '{@link com.example.simple.cs.Quote#getOpen1 <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Open1</em>' attribute. + * @see #isSetOpen1() + * @see #unsetOpen1() + * @see #getOpen1() + * @generated + */ + void setOpen1(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.simple.cs.Quote#getOpen1 <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetOpen1() + * @see #getOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + void unsetOpen1(); + + /** + * Returns whether the value of the '{@link com.example.simple.cs.Quote#getOpen1 <em>Open1</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Open1</em>' attribute is set. + * @see #unsetOpen1() + * @see #getOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + boolean isSetOpen1(); + + /** + * Returns the value of the '<em><b>High</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>High</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>High</em>' attribute. + * @see #isSetHigh() + * @see #unsetHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + BigDecimal getHigh(); + + /** + * Sets the value of the '{@link com.example.simple.cs.Quote#getHigh <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>High</em>' attribute. + * @see #isSetHigh() + * @see #unsetHigh() + * @see #getHigh() + * @generated + */ + void setHigh(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.simple.cs.Quote#getHigh <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetHigh() + * @see #getHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + void unsetHigh(); + + /** + * Returns whether the value of the '{@link com.example.simple.cs.Quote#getHigh <em>High</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>High</em>' attribute is set. + * @see #unsetHigh() + * @see #getHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + boolean isSetHigh(); + + /** + * Returns the value of the '<em><b>Low</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Low</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Low</em>' attribute. + * @see #isSetLow() + * @see #unsetLow() + * @see #setLow(BigDecimal) + * @generated + */ + BigDecimal getLow(); + + /** + * Sets the value of the '{@link com.example.simple.cs.Quote#getLow <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Low</em>' attribute. + * @see #isSetLow() + * @see #unsetLow() + * @see #getLow() + * @generated + */ + void setLow(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.simple.cs.Quote#getLow <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetLow() + * @see #getLow() + * @see #setLow(BigDecimal) + * @generated + */ + void unsetLow(); + + /** + * Returns whether the value of the '{@link com.example.simple.cs.Quote#getLow <em>Low</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Low</em>' attribute is set. + * @see #unsetLow() + * @see #getLow() + * @see #setLow(BigDecimal) + * @generated + */ + boolean isSetLow(); + + /** + * Returns the value of the '<em><b>Volume</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Volume</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Volume</em>' attribute. + * @see #isSetVolume() + * @see #unsetVolume() + * @see #setVolume(double) + * @generated + */ + double getVolume(); + + /** + * Sets the value of the '{@link com.example.simple.cs.Quote#getVolume <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Volume</em>' attribute. + * @see #isSetVolume() + * @see #unsetVolume() + * @see #getVolume() + * @generated + */ + void setVolume(double value); + + /** + * Unsets the value of the '{@link com.example.simple.cs.Quote#getVolume <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetVolume() + * @see #getVolume() + * @see #setVolume(double) + * @generated + */ + void unsetVolume(); + + /** + * Returns whether the value of the '{@link com.example.simple.cs.Quote#getVolume <em>Volume</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Volume</em>' attribute is set. + * @see #unsetVolume() + * @see #getVolume() + * @see #setVolume(double) + * @generated + */ + boolean isSetVolume(); + + /** + * Returns the value of the '<em><b>Change1</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Change1</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Change1</em>' attribute. + * @see #isSetChange1() + * @see #unsetChange1() + * @see #setChange1(double) + * @generated + */ + double getChange1(); + + /** + * Sets the value of the '{@link com.example.simple.cs.Quote#getChange1 <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Change1</em>' attribute. + * @see #isSetChange1() + * @see #unsetChange1() + * @see #getChange1() + * @generated + */ + void setChange1(double value); + + /** + * Unsets the value of the '{@link com.example.simple.cs.Quote#getChange1 <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetChange1() + * @see #getChange1() + * @see #setChange1(double) + * @generated + */ + void unsetChange1(); + + /** + * Returns whether the value of the '{@link com.example.simple.cs.Quote#getChange1 <em>Change1</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Change1</em>' attribute is set. + * @see #unsetChange1() + * @see #getChange1() + * @see #setChange1(double) + * @generated + */ + boolean isSetChange1(); + + /** + * Returns the value of the '<em><b>Quotes</b></em>' containment reference list. + * The list contents are of type {@link com.example.simple.cs.Quote}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Quotes</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Quotes</em>' containment reference list. + * @generated + */ + List getQuotes(); + +} // Quote diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/QuoteBase.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/QuoteBase.java new file mode 100644 index 0000000000..c086be2c71 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/QuoteBase.java @@ -0,0 +1,91 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.simple.cs; + +import commonj.sdo.ChangeSummary; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Quote Base</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.simple.cs.QuoteBase#getChanges <em>Changes</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public interface QuoteBase extends Quote +{ + /** + * Returns the value of the '<em><b>Changes</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Changes</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Changes</em>' attribute. + * @see #isSetChanges() + * @see #unsetChanges() + * @see #setChanges(ChangeSummary) + * @generated + */ + ChangeSummary getChanges(); + + /** + * Sets the value of the '{@link com.example.simple.cs.QuoteBase#getChanges <em>Changes</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Changes</em>' attribute. + * @see #isSetChanges() + * @see #unsetChanges() + * @see #getChanges() + * @generated + */ + void setChanges(ChangeSummary value); + + /** + * Unsets the value of the '{@link com.example.simple.cs.QuoteBase#getChanges <em>Changes</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetChanges() + * @see #getChanges() + * @see #setChanges(ChangeSummary) + * @generated + */ + void unsetChanges(); + + /** + * Returns whether the value of the '{@link com.example.simple.cs.QuoteBase#getChanges <em>Changes</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Changes</em>' attribute is set. + * @see #unsetChanges() + * @see #getChanges() + * @see #setChanges(ChangeSummary) + * @generated + */ + boolean isSetChanges(); + +} // QuoteBase diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/impl/CSFactoryImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/impl/CSFactoryImpl.java new file mode 100644 index 0000000000..ce63e6bfae --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/impl/CSFactoryImpl.java @@ -0,0 +1,368 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.simple.cs.impl; + +import commonj.sdo.helper.HelperContext; +import org.apache.tuscany.sdo.helper.TypeHelperImpl; + +import com.example.simple.cs.*; + +import commonj.sdo.DataObject; +import commonj.sdo.Property; +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.FactoryBase; + +import org.apache.tuscany.sdo.model.ModelFactory; + +import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * Generator information: + * patternVersion=1.2; -prefix CS + * <!-- end-user-doc --> + * @generated + */ +public class CSFactoryImpl extends FactoryBase implements CSFactory +{ + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_URI = "http://www.example.com/simpleCS"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_PREFIX = "simpleCS"; + + /** + * The version of the generator pattern used to generate this class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String PATTERN_VERSION = "1.2"; + + public static final int QUOTE = 1; + public static final int QUOTE_BASE = 2; + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CSFactoryImpl() + { + super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.simple.cs"); + } + + /** + * Registers the Factory instance so that it is available within the supplied scope. + * @argument scope a HelperContext instance that will make the types supported by this Factory available. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void register(HelperContext scope) + { + if(scope == null) { + throw new IllegalArgumentException("Scope can not be null"); + } + + //Register dependent packages with provided scope + ModelFactory.INSTANCE.register(scope); + + // Initialize this package + TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper(); + th.getExtendedMetaData().putPackage(NAMESPACE_URI, this); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DataObject create(int typeNumber) + { + switch (typeNumber) + { + case QUOTE: return (DataObject)createQuote(); + case QUOTE_BASE: return (DataObject)createQuoteBase(); + default: + return super.create(typeNumber); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Quote createQuote() + { + QuoteImpl quote = new QuoteImpl(); + return quote; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public QuoteBase createQuoteBase() + { + QuoteBaseImpl quoteBase = new QuoteBaseImpl(); + return quoteBase; + } + + // Following creates and initializes SDO metadata for the supported types. + protected Type quoteType = null; + + public Type getQuote() + { + return quoteType; + } + + protected Type quoteBaseType = null; + + public Type getQuoteBase() + { + return quoteBaseType; + } + + + private static CSFactoryImpl instance = null; + public static CSFactoryImpl init() + { + if (instance != null ) return instance; + instance = new CSFactoryImpl(); + + // Initialize dependent packages + ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE; + + // Create package meta-data objects + instance.createMetaData(); + + // Initialize created meta-data + instance.initializeMetaData(); + + // Mark meta-data to indicate it can't be changed + //theCSFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ???? + + return instance; + } + + private boolean isCreated = false; + + public void createMetaData() + { + if (isCreated) return; + isCreated = true; + + // Create types and their properties + quoteType = createType(false, QUOTE); + createProperty(true, quoteType,QuoteImpl.INTERNAL_SYMBOL); + createProperty(true, quoteType,QuoteImpl.INTERNAL_COMPANY_NAME); + createProperty(true, quoteType,QuoteImpl.INTERNAL_PRICE); + createProperty(true, quoteType,QuoteImpl.INTERNAL_OPEN1); + createProperty(true, quoteType,QuoteImpl.INTERNAL_HIGH); + createProperty(true, quoteType,QuoteImpl.INTERNAL_LOW); + createProperty(true, quoteType,QuoteImpl.INTERNAL_VOLUME); + createProperty(true, quoteType,QuoteImpl.INTERNAL_CHANGE1); + createProperty(false, quoteType,QuoteImpl.INTERNAL_QUOTES); + quoteBaseType = createType(false, QUOTE_BASE); + createProperty(true, quoteBaseType,QuoteBaseImpl.INTERNAL_CHANGES); + } + + private boolean isInitialized = false; + + public void initializeMetaData() + { + if (isInitialized) return; + isInitialized = true; + + // Obtain other dependent packages + ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE; + Property property = null; + + // Add supertypes to types + addSuperType(quoteBaseType, this.getQuote()); + + // Initialize types and properties + initializeType(quoteType, Quote.class, "Quote", false); + property = getLocalProperty(quoteType, 0); + initializeProperty(property, theModelPackageImpl.getString(), "symbol", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "companyName", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 2); + initializeProperty(property, theModelPackageImpl.getDecimal(), "price", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 3); + initializeProperty(property, theModelPackageImpl.getDecimal(), "open1", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 4); + initializeProperty(property, theModelPackageImpl.getDecimal(), "high", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 5); + initializeProperty(property, theModelPackageImpl.getDecimal(), "low", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 6); + initializeProperty(property, theModelPackageImpl.getDouble(), "volume", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 7); + initializeProperty(property, theModelPackageImpl.getDouble(), "change1", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 8); + initializeProperty(property, this.getQuote(), "quotes", null, 0, -1, Quote.class, false, false, false, true , null); + + initializeType(quoteBaseType, QuoteBase.class, "QuoteBase", false); + property = getLocalProperty(quoteBaseType, 0); + initializeProperty(property, theModelPackageImpl.getChangeSummaryType(), "changes", null, 1, 1, QuoteBase.class, false, true, false); + + createXSDMetaData(theModelPackageImpl); + } + + protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl) + { + super.initXSD(); + + Property property = null; + + + property = createGlobalProperty + ("stockQuote", + this.getQuoteBase(), + new String[] + { + "kind", "element", + "name", "stockQuote", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (quoteType, + new String[] + { + "name", "Quote", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_SYMBOL), + new String[] + { + "kind", "element", + "name", "symbol" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_COMPANY_NAME), + new String[] + { + "kind", "element", + "name", "companyName" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_PRICE), + new String[] + { + "kind", "element", + "name", "price" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_OPEN1), + new String[] + { + "kind", "element", + "name", "open1" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_HIGH), + new String[] + { + "kind", "element", + "name", "high" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_LOW), + new String[] + { + "kind", "element", + "name", "low" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_VOLUME), + new String[] + { + "kind", "element", + "name", "volume" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_CHANGE1), + new String[] + { + "kind", "element", + "name", "change1" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_QUOTES), + new String[] + { + "kind", "element", + "name", "quotes" + }); + + addXSDMapping + (quoteBaseType, + new String[] + { + "name", "QuoteBase", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(quoteBaseType, QuoteBaseImpl.INTERNAL_CHANGES), + new String[] + { + "kind", "element", + "name", "changes" + }); + + } + +} //CSFactoryImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/impl/QuoteBaseImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/impl/QuoteBaseImpl.java new file mode 100644 index 0000000000..77a25ca7d3 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/impl/QuoteBaseImpl.java @@ -0,0 +1,346 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.simple.cs.impl; + +import com.example.simple.cs.CSFactory; +import com.example.simple.cs.QuoteBase; + +import commonj.sdo.ChangeSummary; +import commonj.sdo.Type; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Quote Base</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.simple.cs.impl.QuoteBaseImpl#getChanges <em>Changes</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class QuoteBaseImpl extends QuoteImpl implements QuoteBase +{ + + public final static int CHANGES = QuoteImpl.SDO_PROPERTY_COUNT + 0; + + public final static int SDO_PROPERTY_COUNT = QuoteImpl.SDO_PROPERTY_COUNT + 1; + + public final static int EXTENDED_PROPERTY_COUNT = QuoteImpl.EXTENDED_PROPERTY_COUNT - 0; + + + /** + * The internal feature id for the '<em><b>Symbol</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_SYMBOL = QuoteImpl.INTERNAL_SYMBOL; + + /** + * The internal feature id for the '<em><b>Company Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_COMPANY_NAME = QuoteImpl.INTERNAL_COMPANY_NAME; + + /** + * The internal feature id for the '<em><b>Price</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PRICE = QuoteImpl.INTERNAL_PRICE; + + /** + * The internal feature id for the '<em><b>Open1</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_OPEN1 = QuoteImpl.INTERNAL_OPEN1; + + /** + * The internal feature id for the '<em><b>High</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_HIGH = QuoteImpl.INTERNAL_HIGH; + + /** + * The internal feature id for the '<em><b>Low</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_LOW = QuoteImpl.INTERNAL_LOW; + + /** + * The internal feature id for the '<em><b>Volume</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_VOLUME = QuoteImpl.INTERNAL_VOLUME; + + /** + * The internal feature id for the '<em><b>Change1</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_CHANGE1 = QuoteImpl.INTERNAL_CHANGE1; + + /** + * The internal feature id for the '<em><b>Quotes</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_QUOTES = QuoteImpl.INTERNAL_QUOTES; + + /** + * The internal feature id for the '<em><b>Changes</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_CHANGES = QuoteImpl.INTERNAL_PROPERTY_COUNT + 0; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = QuoteImpl.INTERNAL_PROPERTY_COUNT + 1; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_SYMBOL: return SYMBOL; + case INTERNAL_COMPANY_NAME: return COMPANY_NAME; + case INTERNAL_PRICE: return PRICE; + case INTERNAL_OPEN1: return OPEN1; + case INTERNAL_HIGH: return HIGH; + case INTERNAL_LOW: return LOW; + case INTERNAL_VOLUME: return VOLUME; + case INTERNAL_CHANGE1: return CHANGE1; + case INTERNAL_QUOTES: return QUOTES; + case INTERNAL_CHANGES: return CHANGES; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The default value of the '{@link #getChanges() <em>Changes</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getChanges() + * @generated + * @ordered + */ + protected static final ChangeSummary CHANGES_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getChanges() <em>Changes</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getChanges() + * @generated + * @ordered + */ + protected ChangeSummary changes = CHANGES_DEFAULT_; + + /** + * This is true if the Changes attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean changes_set_ = false; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public QuoteBaseImpl() + { + super(); + createChangeSummary(CHANGES); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((CSFactoryImpl)CSFactory.INSTANCE).getQuoteBase(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeSummary getChanges() + { + return changes; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setChanges(ChangeSummary newChanges) + { + ChangeSummary oldChanges = changes; + changes = newChanges; + boolean oldChanges_set_ = changes_set_; + changes_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_CHANGES, oldChanges, changes, !oldChanges_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetChanges() + { + ChangeSummary oldChanges = changes; + boolean oldChanges_set_ = changes_set_; + changes = CHANGES_DEFAULT_; + changes_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_CHANGES, oldChanges, CHANGES_DEFAULT_, oldChanges_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetChanges() + { + return changes_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case CHANGES: + return getChanges(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case CHANGES: + setChanges((ChangeSummary)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case CHANGES: + unsetChanges(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case CHANGES: + return isSetChanges(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (changes: "); + if (changes_set_) result.append(changes); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + +} //QuoteBaseImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/impl/QuoteImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/impl/QuoteImpl.java new file mode 100644 index 0000000000..d26af102d3 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/cs/impl/QuoteImpl.java @@ -0,0 +1,1045 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.simple.cs.impl; + +import com.example.simple.cs.CSFactory; +import com.example.simple.cs.Quote; + +import commonj.sdo.Type; + +import java.math.BigDecimal; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Quote</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.simple.cs.impl.QuoteImpl#getSymbol <em>Symbol</em>}</li> + * <li>{@link com.example.simple.cs.impl.QuoteImpl#getCompanyName <em>Company Name</em>}</li> + * <li>{@link com.example.simple.cs.impl.QuoteImpl#getPrice <em>Price</em>}</li> + * <li>{@link com.example.simple.cs.impl.QuoteImpl#getOpen1 <em>Open1</em>}</li> + * <li>{@link com.example.simple.cs.impl.QuoteImpl#getHigh <em>High</em>}</li> + * <li>{@link com.example.simple.cs.impl.QuoteImpl#getLow <em>Low</em>}</li> + * <li>{@link com.example.simple.cs.impl.QuoteImpl#getVolume <em>Volume</em>}</li> + * <li>{@link com.example.simple.cs.impl.QuoteImpl#getChange1 <em>Change1</em>}</li> + * <li>{@link com.example.simple.cs.impl.QuoteImpl#getQuotes <em>Quotes</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class QuoteImpl extends DataObjectBase implements Quote +{ + + public final static int SYMBOL = 0; + + public final static int COMPANY_NAME = 1; + + public final static int PRICE = 2; + + public final static int OPEN1 = 3; + + public final static int HIGH = 4; + + public final static int LOW = 5; + + public final static int VOLUME = 6; + + public final static int CHANGE1 = 7; + + public final static int QUOTES = 8; + + public final static int SDO_PROPERTY_COUNT = 9; + + public final static int EXTENDED_PROPERTY_COUNT = 0; + + + /** + * The internal feature id for the '<em><b>Symbol</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_SYMBOL = 0; + + /** + * The internal feature id for the '<em><b>Company Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_COMPANY_NAME = 1; + + /** + * The internal feature id for the '<em><b>Price</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PRICE = 2; + + /** + * The internal feature id for the '<em><b>Open1</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_OPEN1 = 3; + + /** + * The internal feature id for the '<em><b>High</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_HIGH = 4; + + /** + * The internal feature id for the '<em><b>Low</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_LOW = 5; + + /** + * The internal feature id for the '<em><b>Volume</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_VOLUME = 6; + + /** + * The internal feature id for the '<em><b>Change1</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_CHANGE1 = 7; + + /** + * The internal feature id for the '<em><b>Quotes</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_QUOTES = 8; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 9; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_SYMBOL: return SYMBOL; + case INTERNAL_COMPANY_NAME: return COMPANY_NAME; + case INTERNAL_PRICE: return PRICE; + case INTERNAL_OPEN1: return OPEN1; + case INTERNAL_HIGH: return HIGH; + case INTERNAL_LOW: return LOW; + case INTERNAL_VOLUME: return VOLUME; + case INTERNAL_CHANGE1: return CHANGE1; + case INTERNAL_QUOTES: return QUOTES; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The default value of the '{@link #getSymbol() <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSymbol() + * @generated + * @ordered + */ + protected static final String SYMBOL_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSymbol() + * @generated + * @ordered + */ + protected String symbol = SYMBOL_DEFAULT_; + + /** + * This is true if the Symbol attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean symbol_set_ = false; + + /** + * The default value of the '{@link #getCompanyName() <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCompanyName() + * @generated + * @ordered + */ + protected static final String COMPANY_NAME_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getCompanyName() <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCompanyName() + * @generated + * @ordered + */ + protected String companyName = COMPANY_NAME_DEFAULT_; + + /** + * This is true if the Company Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean companyName_set_ = false; + + /** + * The default value of the '{@link #getPrice() <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrice() + * @generated + * @ordered + */ + protected static final BigDecimal PRICE_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getPrice() <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrice() + * @generated + * @ordered + */ + protected BigDecimal price = PRICE_DEFAULT_; + + /** + * This is true if the Price attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean price_set_ = false; + + /** + * The default value of the '{@link #getOpen1() <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOpen1() + * @generated + * @ordered + */ + protected static final BigDecimal OPEN1_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getOpen1() <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOpen1() + * @generated + * @ordered + */ + protected BigDecimal open1 = OPEN1_DEFAULT_; + + /** + * This is true if the Open1 attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean open1_set_ = false; + + /** + * The default value of the '{@link #getHigh() <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHigh() + * @generated + * @ordered + */ + protected static final BigDecimal HIGH_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getHigh() <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHigh() + * @generated + * @ordered + */ + protected BigDecimal high = HIGH_DEFAULT_; + + /** + * This is true if the High attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean high_set_ = false; + + /** + * The default value of the '{@link #getLow() <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLow() + * @generated + * @ordered + */ + protected static final BigDecimal LOW_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getLow() <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLow() + * @generated + * @ordered + */ + protected BigDecimal low = LOW_DEFAULT_; + + /** + * This is true if the Low attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean low_set_ = false; + + /** + * The default value of the '{@link #getVolume() <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVolume() + * @generated + * @ordered + */ + protected static final double VOLUME_DEFAULT_ = 0.0; + + /** + * The cached value of the '{@link #getVolume() <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVolume() + * @generated + * @ordered + */ + protected double volume = VOLUME_DEFAULT_; + + /** + * This is true if the Volume attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean volume_set_ = false; + + /** + * The default value of the '{@link #getChange1() <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getChange1() + * @generated + * @ordered + */ + protected static final double CHANGE1_DEFAULT_ = 0.0; + + /** + * The cached value of the '{@link #getChange1() <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getChange1() + * @generated + * @ordered + */ + protected double change1 = CHANGE1_DEFAULT_; + + /** + * This is true if the Change1 attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean change1_set_ = false; + + /** + * The cached value of the '{@link #getQuotes() <em>Quotes</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQuotes() + * @generated + * @ordered + */ + + protected List quotes = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public QuoteImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((CSFactoryImpl)CSFactory.INSTANCE).getQuote(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getSymbol() + { + return symbol; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSymbol(String newSymbol) + { + String oldSymbol = symbol; + symbol = newSymbol; + boolean oldSymbol_set_ = symbol_set_; + symbol_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_SYMBOL, oldSymbol, symbol, !oldSymbol_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetSymbol() + { + String oldSymbol = symbol; + boolean oldSymbol_set_ = symbol_set_; + symbol = SYMBOL_DEFAULT_; + symbol_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_SYMBOL, oldSymbol, SYMBOL_DEFAULT_, oldSymbol_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetSymbol() + { + return symbol_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCompanyName() + { + return companyName; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCompanyName(String newCompanyName) + { + String oldCompanyName = companyName; + companyName = newCompanyName; + boolean oldCompanyName_set_ = companyName_set_; + companyName_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_COMPANY_NAME, oldCompanyName, companyName, !oldCompanyName_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetCompanyName() + { + String oldCompanyName = companyName; + boolean oldCompanyName_set_ = companyName_set_; + companyName = COMPANY_NAME_DEFAULT_; + companyName_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_COMPANY_NAME, oldCompanyName, COMPANY_NAME_DEFAULT_, oldCompanyName_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetCompanyName() + { + return companyName_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getPrice() + { + return price; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setPrice(BigDecimal newPrice) + { + BigDecimal oldPrice = price; + price = newPrice; + boolean oldPrice_set_ = price_set_; + price_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_PRICE, oldPrice, price, !oldPrice_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetPrice() + { + BigDecimal oldPrice = price; + boolean oldPrice_set_ = price_set_; + price = PRICE_DEFAULT_; + price_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_PRICE, oldPrice, PRICE_DEFAULT_, oldPrice_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetPrice() + { + return price_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getOpen1() + { + return open1; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOpen1(BigDecimal newOpen1) + { + BigDecimal oldOpen1 = open1; + open1 = newOpen1; + boolean oldOpen1_set_ = open1_set_; + open1_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_OPEN1, oldOpen1, open1, !oldOpen1_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetOpen1() + { + BigDecimal oldOpen1 = open1; + boolean oldOpen1_set_ = open1_set_; + open1 = OPEN1_DEFAULT_; + open1_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_OPEN1, oldOpen1, OPEN1_DEFAULT_, oldOpen1_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetOpen1() + { + return open1_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getHigh() + { + return high; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHigh(BigDecimal newHigh) + { + BigDecimal oldHigh = high; + high = newHigh; + boolean oldHigh_set_ = high_set_; + high_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_HIGH, oldHigh, high, !oldHigh_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetHigh() + { + BigDecimal oldHigh = high; + boolean oldHigh_set_ = high_set_; + high = HIGH_DEFAULT_; + high_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_HIGH, oldHigh, HIGH_DEFAULT_, oldHigh_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetHigh() + { + return high_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getLow() + { + return low; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLow(BigDecimal newLow) + { + BigDecimal oldLow = low; + low = newLow; + boolean oldLow_set_ = low_set_; + low_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_LOW, oldLow, low, !oldLow_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetLow() + { + BigDecimal oldLow = low; + boolean oldLow_set_ = low_set_; + low = LOW_DEFAULT_; + low_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_LOW, oldLow, LOW_DEFAULT_, oldLow_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetLow() + { + return low_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public double getVolume() + { + return volume; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setVolume(double newVolume) + { + double oldVolume = volume; + volume = newVolume; + boolean oldVolume_set_ = volume_set_; + volume_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_VOLUME, oldVolume, volume, !oldVolume_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetVolume() + { + double oldVolume = volume; + boolean oldVolume_set_ = volume_set_; + volume = VOLUME_DEFAULT_; + volume_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_VOLUME, oldVolume, VOLUME_DEFAULT_, oldVolume_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetVolume() + { + return volume_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public double getChange1() + { + return change1; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setChange1(double newChange1) + { + double oldChange1 = change1; + change1 = newChange1; + boolean oldChange1_set_ = change1_set_; + change1_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_CHANGE1, oldChange1, change1, !oldChange1_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetChange1() + { + double oldChange1 = change1; + boolean oldChange1_set_ = change1_set_; + change1 = CHANGE1_DEFAULT_; + change1_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_CHANGE1, oldChange1, CHANGE1_DEFAULT_, oldChange1_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetChange1() + { + return change1_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getQuotes() + { + if (quotes == null) + { + quotes = createPropertyList(ListKind.CONTAINMENT, Quote.class, QUOTES, 0); + } + return quotes; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case QUOTES: + return removeFromList(getQuotes(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case SYMBOL: + return getSymbol(); + case COMPANY_NAME: + return getCompanyName(); + case PRICE: + return getPrice(); + case OPEN1: + return getOpen1(); + case HIGH: + return getHigh(); + case LOW: + return getLow(); + case VOLUME: + return new Double(getVolume()); + case CHANGE1: + return new Double(getChange1()); + case QUOTES: + return getQuotes(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case SYMBOL: + setSymbol((String)newValue); + return; + case COMPANY_NAME: + setCompanyName((String)newValue); + return; + case PRICE: + setPrice((BigDecimal)newValue); + return; + case OPEN1: + setOpen1((BigDecimal)newValue); + return; + case HIGH: + setHigh((BigDecimal)newValue); + return; + case LOW: + setLow((BigDecimal)newValue); + return; + case VOLUME: + setVolume(((Double)newValue).doubleValue()); + return; + case CHANGE1: + setChange1(((Double)newValue).doubleValue()); + return; + case QUOTES: + getQuotes().clear(); + getQuotes().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case SYMBOL: + unsetSymbol(); + return; + case COMPANY_NAME: + unsetCompanyName(); + return; + case PRICE: + unsetPrice(); + return; + case OPEN1: + unsetOpen1(); + return; + case HIGH: + unsetHigh(); + return; + case LOW: + unsetLow(); + return; + case VOLUME: + unsetVolume(); + return; + case CHANGE1: + unsetChange1(); + return; + case QUOTES: + getQuotes().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case SYMBOL: + return isSetSymbol(); + case COMPANY_NAME: + return isSetCompanyName(); + case PRICE: + return isSetPrice(); + case OPEN1: + return isSetOpen1(); + case HIGH: + return isSetHigh(); + case LOW: + return isSetLow(); + case VOLUME: + return isSetVolume(); + case CHANGE1: + return isSetChange1(); + case QUOTES: + return quotes != null && !quotes.isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (symbol: "); + if (symbol_set_) result.append(symbol); else result.append("<unset>"); + result.append(", companyName: "); + if (companyName_set_) result.append(companyName); else result.append("<unset>"); + result.append(", price: "); + if (price_set_) result.append(price); else result.append("<unset>"); + result.append(", open1: "); + if (open1_set_) result.append(open1); else result.append("<unset>"); + result.append(", high: "); + if (high_set_) result.append(high); else result.append("<unset>"); + result.append(", low: "); + if (low_set_) result.append(low); else result.append("<unset>"); + result.append(", volume: "); + if (volume_set_) result.append(volume); else result.append("<unset>"); + result.append(", change1: "); + if (change1_set_) result.append(change1); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + +} //QuoteImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/impl/QuoteImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/impl/QuoteImpl.java new file mode 100644 index 0000000000..dce5259550 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/impl/QuoteImpl.java @@ -0,0 +1,1045 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.simple.impl; + +import com.example.simple.Quote; +import com.example.simple.SimpleFactory; + +import commonj.sdo.Type; + +import java.math.BigDecimal; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Quote</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.simple.impl.QuoteImpl#getSymbol <em>Symbol</em>}</li> + * <li>{@link com.example.simple.impl.QuoteImpl#getCompanyName <em>Company Name</em>}</li> + * <li>{@link com.example.simple.impl.QuoteImpl#getPrice <em>Price</em>}</li> + * <li>{@link com.example.simple.impl.QuoteImpl#getOpen1 <em>Open1</em>}</li> + * <li>{@link com.example.simple.impl.QuoteImpl#getHigh <em>High</em>}</li> + * <li>{@link com.example.simple.impl.QuoteImpl#getLow <em>Low</em>}</li> + * <li>{@link com.example.simple.impl.QuoteImpl#getVolume <em>Volume</em>}</li> + * <li>{@link com.example.simple.impl.QuoteImpl#getChange1 <em>Change1</em>}</li> + * <li>{@link com.example.simple.impl.QuoteImpl#getQuotes <em>Quotes</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class QuoteImpl extends DataObjectBase implements Quote +{ + + public final static int SYMBOL = 0; + + public final static int COMPANY_NAME = 1; + + public final static int PRICE = 2; + + public final static int OPEN1 = 3; + + public final static int HIGH = 4; + + public final static int LOW = 5; + + public final static int VOLUME = 6; + + public final static int CHANGE1 = 7; + + public final static int QUOTES = 8; + + public final static int SDO_PROPERTY_COUNT = 9; + + public final static int EXTENDED_PROPERTY_COUNT = 0; + + + /** + * The internal feature id for the '<em><b>Symbol</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_SYMBOL = 0; + + /** + * The internal feature id for the '<em><b>Company Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_COMPANY_NAME = 1; + + /** + * The internal feature id for the '<em><b>Price</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PRICE = 2; + + /** + * The internal feature id for the '<em><b>Open1</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_OPEN1 = 3; + + /** + * The internal feature id for the '<em><b>High</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_HIGH = 4; + + /** + * The internal feature id for the '<em><b>Low</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_LOW = 5; + + /** + * The internal feature id for the '<em><b>Volume</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_VOLUME = 6; + + /** + * The internal feature id for the '<em><b>Change1</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_CHANGE1 = 7; + + /** + * The internal feature id for the '<em><b>Quotes</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_QUOTES = 8; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 9; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_SYMBOL: return SYMBOL; + case INTERNAL_COMPANY_NAME: return COMPANY_NAME; + case INTERNAL_PRICE: return PRICE; + case INTERNAL_OPEN1: return OPEN1; + case INTERNAL_HIGH: return HIGH; + case INTERNAL_LOW: return LOW; + case INTERNAL_VOLUME: return VOLUME; + case INTERNAL_CHANGE1: return CHANGE1; + case INTERNAL_QUOTES: return QUOTES; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The default value of the '{@link #getSymbol() <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSymbol() + * @generated + * @ordered + */ + protected static final String SYMBOL_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSymbol() + * @generated + * @ordered + */ + protected String symbol = SYMBOL_DEFAULT_; + + /** + * This is true if the Symbol attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean symbol_set_ = false; + + /** + * The default value of the '{@link #getCompanyName() <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCompanyName() + * @generated + * @ordered + */ + protected static final String COMPANY_NAME_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getCompanyName() <em>Company Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCompanyName() + * @generated + * @ordered + */ + protected String companyName = COMPANY_NAME_DEFAULT_; + + /** + * This is true if the Company Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean companyName_set_ = false; + + /** + * The default value of the '{@link #getPrice() <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrice() + * @generated + * @ordered + */ + protected static final BigDecimal PRICE_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getPrice() <em>Price</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPrice() + * @generated + * @ordered + */ + protected BigDecimal price = PRICE_DEFAULT_; + + /** + * This is true if the Price attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean price_set_ = false; + + /** + * The default value of the '{@link #getOpen1() <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOpen1() + * @generated + * @ordered + */ + protected static final BigDecimal OPEN1_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getOpen1() <em>Open1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOpen1() + * @generated + * @ordered + */ + protected BigDecimal open1 = OPEN1_DEFAULT_; + + /** + * This is true if the Open1 attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean open1_set_ = false; + + /** + * The default value of the '{@link #getHigh() <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHigh() + * @generated + * @ordered + */ + protected static final BigDecimal HIGH_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getHigh() <em>High</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHigh() + * @generated + * @ordered + */ + protected BigDecimal high = HIGH_DEFAULT_; + + /** + * This is true if the High attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean high_set_ = false; + + /** + * The default value of the '{@link #getLow() <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLow() + * @generated + * @ordered + */ + protected static final BigDecimal LOW_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getLow() <em>Low</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLow() + * @generated + * @ordered + */ + protected BigDecimal low = LOW_DEFAULT_; + + /** + * This is true if the Low attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean low_set_ = false; + + /** + * The default value of the '{@link #getVolume() <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVolume() + * @generated + * @ordered + */ + protected static final double VOLUME_DEFAULT_ = 0.0; + + /** + * The cached value of the '{@link #getVolume() <em>Volume</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVolume() + * @generated + * @ordered + */ + protected double volume = VOLUME_DEFAULT_; + + /** + * This is true if the Volume attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean volume_set_ = false; + + /** + * The default value of the '{@link #getChange1() <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getChange1() + * @generated + * @ordered + */ + protected static final double CHANGE1_DEFAULT_ = 0.0; + + /** + * The cached value of the '{@link #getChange1() <em>Change1</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getChange1() + * @generated + * @ordered + */ + protected double change1 = CHANGE1_DEFAULT_; + + /** + * This is true if the Change1 attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean change1_set_ = false; + + /** + * The cached value of the '{@link #getQuotes() <em>Quotes</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQuotes() + * @generated + * @ordered + */ + + protected List quotes = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public QuoteImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((SimpleFactoryImpl)SimpleFactory.INSTANCE).getQuote(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getSymbol() + { + return symbol; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSymbol(String newSymbol) + { + String oldSymbol = symbol; + symbol = newSymbol; + boolean oldSymbol_set_ = symbol_set_; + symbol_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_SYMBOL, oldSymbol, symbol, !oldSymbol_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetSymbol() + { + String oldSymbol = symbol; + boolean oldSymbol_set_ = symbol_set_; + symbol = SYMBOL_DEFAULT_; + symbol_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_SYMBOL, oldSymbol, SYMBOL_DEFAULT_, oldSymbol_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetSymbol() + { + return symbol_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCompanyName() + { + return companyName; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCompanyName(String newCompanyName) + { + String oldCompanyName = companyName; + companyName = newCompanyName; + boolean oldCompanyName_set_ = companyName_set_; + companyName_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_COMPANY_NAME, oldCompanyName, companyName, !oldCompanyName_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetCompanyName() + { + String oldCompanyName = companyName; + boolean oldCompanyName_set_ = companyName_set_; + companyName = COMPANY_NAME_DEFAULT_; + companyName_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_COMPANY_NAME, oldCompanyName, COMPANY_NAME_DEFAULT_, oldCompanyName_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetCompanyName() + { + return companyName_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getPrice() + { + return price; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setPrice(BigDecimal newPrice) + { + BigDecimal oldPrice = price; + price = newPrice; + boolean oldPrice_set_ = price_set_; + price_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_PRICE, oldPrice, price, !oldPrice_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetPrice() + { + BigDecimal oldPrice = price; + boolean oldPrice_set_ = price_set_; + price = PRICE_DEFAULT_; + price_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_PRICE, oldPrice, PRICE_DEFAULT_, oldPrice_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetPrice() + { + return price_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getOpen1() + { + return open1; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOpen1(BigDecimal newOpen1) + { + BigDecimal oldOpen1 = open1; + open1 = newOpen1; + boolean oldOpen1_set_ = open1_set_; + open1_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_OPEN1, oldOpen1, open1, !oldOpen1_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetOpen1() + { + BigDecimal oldOpen1 = open1; + boolean oldOpen1_set_ = open1_set_; + open1 = OPEN1_DEFAULT_; + open1_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_OPEN1, oldOpen1, OPEN1_DEFAULT_, oldOpen1_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetOpen1() + { + return open1_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getHigh() + { + return high; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHigh(BigDecimal newHigh) + { + BigDecimal oldHigh = high; + high = newHigh; + boolean oldHigh_set_ = high_set_; + high_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_HIGH, oldHigh, high, !oldHigh_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetHigh() + { + BigDecimal oldHigh = high; + boolean oldHigh_set_ = high_set_; + high = HIGH_DEFAULT_; + high_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_HIGH, oldHigh, HIGH_DEFAULT_, oldHigh_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetHigh() + { + return high_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getLow() + { + return low; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLow(BigDecimal newLow) + { + BigDecimal oldLow = low; + low = newLow; + boolean oldLow_set_ = low_set_; + low_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_LOW, oldLow, low, !oldLow_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetLow() + { + BigDecimal oldLow = low; + boolean oldLow_set_ = low_set_; + low = LOW_DEFAULT_; + low_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_LOW, oldLow, LOW_DEFAULT_, oldLow_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetLow() + { + return low_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public double getVolume() + { + return volume; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setVolume(double newVolume) + { + double oldVolume = volume; + volume = newVolume; + boolean oldVolume_set_ = volume_set_; + volume_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_VOLUME, oldVolume, volume, !oldVolume_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetVolume() + { + double oldVolume = volume; + boolean oldVolume_set_ = volume_set_; + volume = VOLUME_DEFAULT_; + volume_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_VOLUME, oldVolume, VOLUME_DEFAULT_, oldVolume_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetVolume() + { + return volume_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public double getChange1() + { + return change1; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setChange1(double newChange1) + { + double oldChange1 = change1; + change1 = newChange1; + boolean oldChange1_set_ = change1_set_; + change1_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_CHANGE1, oldChange1, change1, !oldChange1_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetChange1() + { + double oldChange1 = change1; + boolean oldChange1_set_ = change1_set_; + change1 = CHANGE1_DEFAULT_; + change1_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_CHANGE1, oldChange1, CHANGE1_DEFAULT_, oldChange1_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetChange1() + { + return change1_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public List getQuotes() + { + if (quotes == null) + { + quotes = createPropertyList(ListKind.CONTAINMENT, Quote.class, QUOTES, 0); + } + return quotes; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case QUOTES: + return removeFromList(getQuotes(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case SYMBOL: + return getSymbol(); + case COMPANY_NAME: + return getCompanyName(); + case PRICE: + return getPrice(); + case OPEN1: + return getOpen1(); + case HIGH: + return getHigh(); + case LOW: + return getLow(); + case VOLUME: + return new Double(getVolume()); + case CHANGE1: + return new Double(getChange1()); + case QUOTES: + return getQuotes(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case SYMBOL: + setSymbol((String)newValue); + return; + case COMPANY_NAME: + setCompanyName((String)newValue); + return; + case PRICE: + setPrice((BigDecimal)newValue); + return; + case OPEN1: + setOpen1((BigDecimal)newValue); + return; + case HIGH: + setHigh((BigDecimal)newValue); + return; + case LOW: + setLow((BigDecimal)newValue); + return; + case VOLUME: + setVolume(((Double)newValue).doubleValue()); + return; + case CHANGE1: + setChange1(((Double)newValue).doubleValue()); + return; + case QUOTES: + getQuotes().clear(); + getQuotes().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case SYMBOL: + unsetSymbol(); + return; + case COMPANY_NAME: + unsetCompanyName(); + return; + case PRICE: + unsetPrice(); + return; + case OPEN1: + unsetOpen1(); + return; + case HIGH: + unsetHigh(); + return; + case LOW: + unsetLow(); + return; + case VOLUME: + unsetVolume(); + return; + case CHANGE1: + unsetChange1(); + return; + case QUOTES: + getQuotes().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case SYMBOL: + return isSetSymbol(); + case COMPANY_NAME: + return isSetCompanyName(); + case PRICE: + return isSetPrice(); + case OPEN1: + return isSetOpen1(); + case HIGH: + return isSetHigh(); + case LOW: + return isSetLow(); + case VOLUME: + return isSetVolume(); + case CHANGE1: + return isSetChange1(); + case QUOTES: + return quotes != null && !quotes.isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (symbol: "); + if (symbol_set_) result.append(symbol); else result.append("<unset>"); + result.append(", companyName: "); + if (companyName_set_) result.append(companyName); else result.append("<unset>"); + result.append(", price: "); + if (price_set_) result.append(price); else result.append("<unset>"); + result.append(", open1: "); + if (open1_set_) result.append(open1); else result.append("<unset>"); + result.append(", high: "); + if (high_set_) result.append(high); else result.append("<unset>"); + result.append(", low: "); + if (low_set_) result.append(low); else result.append("<unset>"); + result.append(", volume: "); + if (volume_set_) result.append(volume); else result.append("<unset>"); + result.append(", change1: "); + if (change1_set_) result.append(change1); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + +} //QuoteImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/impl/SimpleFactoryImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/impl/SimpleFactoryImpl.java new file mode 100644 index 0000000000..9eedba57dd --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/simple/impl/SimpleFactoryImpl.java @@ -0,0 +1,326 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.simple.impl; + +import commonj.sdo.helper.HelperContext; +import org.apache.tuscany.sdo.helper.TypeHelperImpl; + +import com.example.simple.*; + +import commonj.sdo.DataObject; +import commonj.sdo.Property; +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.FactoryBase; + +import org.apache.tuscany.sdo.model.ModelFactory; + +import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * Generator information: + * patternVersion=1.2; + * <!-- end-user-doc --> + * @generated + */ +public class SimpleFactoryImpl extends FactoryBase implements SimpleFactory +{ + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_URI = "http://www.example.com/simple"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_PREFIX = "simple"; + + /** + * The version of the generator pattern used to generate this class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String PATTERN_VERSION = "1.2"; + + public static final int QUOTE = 1; + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SimpleFactoryImpl() + { + super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.simple"); + } + + /** + * Registers the Factory instance so that it is available within the supplied scope. + * @argument scope a HelperContext instance that will make the types supported by this Factory available. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void register(HelperContext scope) + { + if(scope == null) { + throw new IllegalArgumentException("Scope can not be null"); + } + + //Register dependent packages with provided scope + ModelFactory.INSTANCE.register(scope); + + // Initialize this package + TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper(); + th.getExtendedMetaData().putPackage(NAMESPACE_URI, this); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DataObject create(int typeNumber) + { + switch (typeNumber) + { + case QUOTE: return (DataObject)createQuote(); + default: + return super.create(typeNumber); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Quote createQuote() + { + QuoteImpl quote = new QuoteImpl(); + return quote; + } + + // Following creates and initializes SDO metadata for the supported types. + protected Type quoteType = null; + + public Type getQuote() + { + return quoteType; + } + + + private static SimpleFactoryImpl instance = null; + public static SimpleFactoryImpl init() + { + if (instance != null ) return instance; + instance = new SimpleFactoryImpl(); + + // Initialize dependent packages + ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE; + + // Create package meta-data objects + instance.createMetaData(); + + // Initialize created meta-data + instance.initializeMetaData(); + + // Mark meta-data to indicate it can't be changed + //theSimpleFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ???? + + return instance; + } + + private boolean isCreated = false; + + public void createMetaData() + { + if (isCreated) return; + isCreated = true; + + // Create types and their properties + quoteType = createType(false, QUOTE); + createProperty(true, quoteType,QuoteImpl.INTERNAL_SYMBOL); + createProperty(true, quoteType,QuoteImpl.INTERNAL_COMPANY_NAME); + createProperty(true, quoteType,QuoteImpl.INTERNAL_PRICE); + createProperty(true, quoteType,QuoteImpl.INTERNAL_OPEN1); + createProperty(true, quoteType,QuoteImpl.INTERNAL_HIGH); + createProperty(true, quoteType,QuoteImpl.INTERNAL_LOW); + createProperty(true, quoteType,QuoteImpl.INTERNAL_VOLUME); + createProperty(true, quoteType,QuoteImpl.INTERNAL_CHANGE1); + createProperty(false, quoteType,QuoteImpl.INTERNAL_QUOTES); + } + + private boolean isInitialized = false; + + public void initializeMetaData() + { + if (isInitialized) return; + isInitialized = true; + + // Obtain other dependent packages + ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE; + Property property = null; + + // Add supertypes to types + + // Initialize types and properties + initializeType(quoteType, Quote.class, "Quote", false); + property = getLocalProperty(quoteType, 0); + initializeProperty(property, theModelPackageImpl.getString(), "symbol", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "companyName", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 2); + initializeProperty(property, theModelPackageImpl.getDecimal(), "price", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 3); + initializeProperty(property, theModelPackageImpl.getDecimal(), "open1", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 4); + initializeProperty(property, theModelPackageImpl.getDecimal(), "high", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 5); + initializeProperty(property, theModelPackageImpl.getDecimal(), "low", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 6); + initializeProperty(property, theModelPackageImpl.getDouble(), "volume", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 7); + initializeProperty(property, theModelPackageImpl.getDouble(), "change1", null, 1, 1, Quote.class, false, true, false); + + property = getLocalProperty(quoteType, 8); + initializeProperty(property, this.getQuote(), "quotes", null, 0, -1, Quote.class, false, false, false, true , null); + + createXSDMetaData(theModelPackageImpl); + } + + protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl) + { + super.initXSD(); + + Property property = null; + + + property = createGlobalProperty + ("stockQuote", + this.getQuote(), + new String[] + { + "kind", "element", + "name", "stockQuote", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (quoteType, + new String[] + { + "name", "Quote", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_SYMBOL), + new String[] + { + "kind", "element", + "name", "symbol" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_COMPANY_NAME), + new String[] + { + "kind", "element", + "name", "companyName" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_PRICE), + new String[] + { + "kind", "element", + "name", "price" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_OPEN1), + new String[] + { + "kind", "element", + "name", "open1" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_HIGH), + new String[] + { + "kind", "element", + "name", "high" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_LOW), + new String[] + { + "kind", "element", + "name", "low" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_VOLUME), + new String[] + { + "kind", "element", + "name", "volume" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_CHANGE1), + new String[] + { + "kind", "element", + "name", "change1" + }); + + addXSDMapping + (getProperty(quoteType, QuoteImpl.INTERNAL_QUOTES), + new String[] + { + "kind", "element", + "name", "quotes" + }); + + } + +} //SimpleFactoryImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/A.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/A.java new file mode 100644 index 0000000000..2e5f28e00e --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/A.java @@ -0,0 +1,108 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.subgroup; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>A</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.subgroup.A#getGe1Group <em>Ge1 Group</em>}</li> + * <li>{@link com.example.subgroup.A#getGe1 <em>Ge1</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface A extends Serializable +{ + /** + * Returns the value of the '<em><b>Ge1 Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Ge1 Group</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Ge1 Group</em>' attribute list. + * @generated + */ + Sequence getGe1Group(); + + /** + * Returns the value of the '<em><b>Ge1</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Ge1</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Ge1</em>' containment reference. + * @see #isSetGe1() + * @see #unsetGe1() + * @see #setGe1(B) + * @generated + */ + B getGe1(); + + /** + * Sets the value of the '{@link com.example.subgroup.A#getGe1 <em>Ge1</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Ge1</em>' containment reference. + * @see #isSetGe1() + * @see #unsetGe1() + * @see #getGe1() + * @generated + */ + void setGe1(B value); + + /** + * Unsets the value of the '{@link com.example.subgroup.A#getGe1 <em>Ge1</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetGe1() + * @see #getGe1() + * @see #setGe1(B) + * @generated + */ + void unsetGe1(); + + /** + * Returns whether the value of the '{@link com.example.subgroup.A#getGe1 <em>Ge1</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Ge1</em>' containment reference is set. + * @see #unsetGe1() + * @see #getGe1() + * @see #setGe1(B) + * @generated + */ + boolean isSetGe1(); + +} // A diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/B.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/B.java new file mode 100644 index 0000000000..e306049ecb --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/B.java @@ -0,0 +1,92 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.subgroup; + +import java.io.Serializable; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>B</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.subgroup.B#getImInTypeB <em>Im In Type B</em>}</li> + * </ul> + * </p> + * + * @extends Serializable + * @generated + */ +public interface B extends Serializable +{ + /** + * Returns the value of the '<em><b>Im In Type B</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Im In Type B</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Im In Type B</em>' attribute. + * @see #isSetImInTypeB() + * @see #unsetImInTypeB() + * @see #setImInTypeB(String) + * @generated + */ + String getImInTypeB(); + + /** + * Sets the value of the '{@link com.example.subgroup.B#getImInTypeB <em>Im In Type B</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Im In Type B</em>' attribute. + * @see #isSetImInTypeB() + * @see #unsetImInTypeB() + * @see #getImInTypeB() + * @generated + */ + void setImInTypeB(String value); + + /** + * Unsets the value of the '{@link com.example.subgroup.B#getImInTypeB <em>Im In Type B</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetImInTypeB() + * @see #getImInTypeB() + * @see #setImInTypeB(String) + * @generated + */ + void unsetImInTypeB(); + + /** + * Returns whether the value of the '{@link com.example.subgroup.B#getImInTypeB <em>Im In Type B</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Im In Type B</em>' attribute is set. + * @see #unsetImInTypeB() + * @see #getImInTypeB() + * @see #setImInTypeB(String) + * @generated + */ + boolean isSetImInTypeB(); + +} // B diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/Bprime.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/Bprime.java new file mode 100644 index 0000000000..ef7bac01c8 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/Bprime.java @@ -0,0 +1,90 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.subgroup; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Bprime</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link com.example.subgroup.Bprime#getImInTypeBprime <em>Im In Type Bprime</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public interface Bprime extends B +{ + /** + * Returns the value of the '<em><b>Im In Type Bprime</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Im In Type Bprime</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Im In Type Bprime</em>' attribute. + * @see #isSetImInTypeBprime() + * @see #unsetImInTypeBprime() + * @see #setImInTypeBprime(String) + * @generated + */ + String getImInTypeBprime(); + + /** + * Sets the value of the '{@link com.example.subgroup.Bprime#getImInTypeBprime <em>Im In Type Bprime</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Im In Type Bprime</em>' attribute. + * @see #isSetImInTypeBprime() + * @see #unsetImInTypeBprime() + * @see #getImInTypeBprime() + * @generated + */ + void setImInTypeBprime(String value); + + /** + * Unsets the value of the '{@link com.example.subgroup.Bprime#getImInTypeBprime <em>Im In Type Bprime</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetImInTypeBprime() + * @see #getImInTypeBprime() + * @see #setImInTypeBprime(String) + * @generated + */ + void unsetImInTypeBprime(); + + /** + * Returns whether the value of the '{@link com.example.subgroup.Bprime#getImInTypeBprime <em>Im In Type Bprime</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Im In Type Bprime</em>' attribute is set. + * @see #unsetImInTypeBprime() + * @see #getImInTypeBprime() + * @see #setImInTypeBprime(String) + * @generated + */ + boolean isSetImInTypeBprime(); + +} // Bprime diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/SubgroupFactory.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/SubgroupFactory.java new file mode 100644 index 0000000000..cee8ec1a78 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/SubgroupFactory.java @@ -0,0 +1,79 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.subgroup; + +import commonj.sdo.helper.HelperContext; + + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @generated + */ +public interface SubgroupFactory +{ + + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + SubgroupFactory INSTANCE = com.example.subgroup.impl.SubgroupFactoryImpl.init(); + + /** + * Returns a new object of class '<em>A</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>A</em>'. + * @generated + */ + A createA(); + + /** + * Returns a new object of class '<em>B</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>B</em>'. + * @generated + */ + B createB(); + + /** + * Returns a new object of class '<em>Bprime</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Bprime</em>'. + * @generated + */ + Bprime createBprime(); + + /** + * Registers the types supported by this Factory within the supplied scope.argument + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param scope an instance of HelperContext used to manage the scoping of types. + * @generated + */ + public void register(HelperContext scope); + +} //SubgroupFactory diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/AImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/AImpl.java new file mode 100644 index 0000000000..604708f0fd --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/AImpl.java @@ -0,0 +1,310 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.subgroup.impl; + +import com.example.subgroup.A; +import com.example.subgroup.B; +import com.example.subgroup.SubgroupFactory; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>A</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.subgroup.impl.AImpl#getGe1Group <em>Ge1 Group</em>}</li> + * <li>{@link com.example.subgroup.impl.AImpl#getGe1 <em>Ge1</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class AImpl extends DataObjectBase implements A +{ + + public final static int GE1_GROUP = -1; + + public final static int GE1 = 0; + + public final static int SDO_PROPERTY_COUNT = 1; + + public final static int EXTENDED_PROPERTY_COUNT = -1; + + + /** + * The internal feature id for the '<em><b>Ge1 Group</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_GE1_GROUP = 0; + + /** + * The internal feature id for the '<em><b>Ge1</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_GE1 = 1; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 2; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_GE1_GROUP: return GE1_GROUP; + case INTERNAL_GE1: return GE1; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getGe1Group() <em>Ge1 Group</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGe1Group() + * @generated + * @ordered + */ + + protected Sequence ge1Group = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((SubgroupFactoryImpl)SubgroupFactory.INSTANCE).getA(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Sequence getGe1Group() + { + if (ge1Group == null) + { + ge1Group = createSequence(INTERNAL_GE1_GROUP); + } + return ge1Group; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public B getGe1() + { + return (B)get(getGe1Group(), getType(), INTERNAL_GE1); + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext basicSetGe1(B newGe1, ChangeContext changeContext) + { + return basicAdd(getGe1Group(), getType(), INTERNAL_GE1, newGe1, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setGe1(B newGe1) + { + set(getGe1Group(), getType(), INTERNAL_GE1, newGe1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext basicUnsetGe1(ChangeContext changeContext) + { + // TODO: implement this method to unset the contained 'Ge1' containment reference + // -> this method is automatically invoked to keep the containment relationship in synch + // -> do not modify other features + // -> return changeContext, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first) + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetGe1() + { + unset(getGe1Group(), getType(), INTERNAL_GE1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetGe1() + { + return isSet(getGe1Group(), getType(), INTERNAL_GE1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case GE1_GROUP: + return removeFromSequence(getGe1Group(), otherEnd, changeContext); + case GE1: + return basicUnsetGe1(changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case GE1_GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGe1Group(); + case GE1: + return getGe1(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case GE1_GROUP: + setSequence(getGe1Group(), newValue); + return; + case GE1: + setGe1((B)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case GE1_GROUP: + unsetSequence(getGe1Group()); + return; + case GE1: + unsetGe1(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case GE1_GROUP: + return ge1Group != null && !isSequenceEmpty(getGe1Group()); + case GE1: + return isSetGe1(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (ge1Group: "); + result.append(ge1Group); + result.append(')'); + return result.toString(); + } + +} //AImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/BImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/BImpl.java new file mode 100644 index 0000000000..ccbbfb27a0 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/BImpl.java @@ -0,0 +1,256 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.subgroup.impl; + +import com.example.subgroup.B; +import com.example.subgroup.SubgroupFactory; + +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>B</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.subgroup.impl.BImpl#getImInTypeB <em>Im In Type B</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class BImpl extends DataObjectBase implements B +{ + + public final static int IM_IN_TYPE_B = 0; + + public final static int SDO_PROPERTY_COUNT = 1; + + public final static int EXTENDED_PROPERTY_COUNT = 0; + + + /** + * The internal feature id for the '<em><b>Im In Type B</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_IM_IN_TYPE_B = 0; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 1; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_IM_IN_TYPE_B: return IM_IN_TYPE_B; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The default value of the '{@link #getImInTypeB() <em>Im In Type B</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getImInTypeB() + * @generated + * @ordered + */ + protected static final String IM_IN_TYPE_B_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getImInTypeB() <em>Im In Type B</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getImInTypeB() + * @generated + * @ordered + */ + protected String imInTypeB = IM_IN_TYPE_B_DEFAULT_; + + /** + * This is true if the Im In Type B attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean imInTypeB_set_ = false; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((SubgroupFactoryImpl)SubgroupFactory.INSTANCE).getB(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getImInTypeB() + { + return imInTypeB; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setImInTypeB(String newImInTypeB) + { + String oldImInTypeB = imInTypeB; + imInTypeB = newImInTypeB; + boolean oldImInTypeB_set_ = imInTypeB_set_; + imInTypeB_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_IM_IN_TYPE_B, oldImInTypeB, imInTypeB, !oldImInTypeB_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetImInTypeB() + { + String oldImInTypeB = imInTypeB; + boolean oldImInTypeB_set_ = imInTypeB_set_; + imInTypeB = IM_IN_TYPE_B_DEFAULT_; + imInTypeB_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_IM_IN_TYPE_B, oldImInTypeB, IM_IN_TYPE_B_DEFAULT_, oldImInTypeB_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetImInTypeB() + { + return imInTypeB_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case IM_IN_TYPE_B: + return getImInTypeB(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case IM_IN_TYPE_B: + setImInTypeB((String)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case IM_IN_TYPE_B: + unsetImInTypeB(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case IM_IN_TYPE_B: + return isSetImInTypeB(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (imInTypeB: "); + if (imInTypeB_set_) result.append(imInTypeB); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + +} //BImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/BprimeImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/BprimeImpl.java new file mode 100644 index 0000000000..04bf5758e7 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/BprimeImpl.java @@ -0,0 +1,264 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.subgroup.impl; + +import com.example.subgroup.Bprime; +import com.example.subgroup.SubgroupFactory; + +import commonj.sdo.Type; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Bprime</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link com.example.subgroup.impl.BprimeImpl#getImInTypeBprime <em>Im In Type Bprime</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class BprimeImpl extends BImpl implements Bprime +{ + + public final static int IM_IN_TYPE_BPRIME = BImpl.SDO_PROPERTY_COUNT + 0; + + public final static int SDO_PROPERTY_COUNT = BImpl.SDO_PROPERTY_COUNT + 1; + + public final static int EXTENDED_PROPERTY_COUNT = BImpl.EXTENDED_PROPERTY_COUNT - 0; + + + /** + * The internal feature id for the '<em><b>Im In Type B</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_IM_IN_TYPE_B = BImpl.INTERNAL_IM_IN_TYPE_B; + + /** + * The internal feature id for the '<em><b>Im In Type Bprime</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_IM_IN_TYPE_BPRIME = BImpl.INTERNAL_PROPERTY_COUNT + 0; + + /** + * The number of properties for this type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = BImpl.INTERNAL_PROPERTY_COUNT + 1; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_IM_IN_TYPE_B: return IM_IN_TYPE_B; + case INTERNAL_IM_IN_TYPE_BPRIME: return IM_IN_TYPE_BPRIME; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The default value of the '{@link #getImInTypeBprime() <em>Im In Type Bprime</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getImInTypeBprime() + * @generated + * @ordered + */ + protected static final String IM_IN_TYPE_BPRIME_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getImInTypeBprime() <em>Im In Type Bprime</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getImInTypeBprime() + * @generated + * @ordered + */ + protected String imInTypeBprime = IM_IN_TYPE_BPRIME_DEFAULT_; + + /** + * This is true if the Im In Type Bprime attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean imInTypeBprime_set_ = false; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BprimeImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getStaticType() + { + return ((SubgroupFactoryImpl)SubgroupFactory.INSTANCE).getBprime(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getImInTypeBprime() + { + return imInTypeBprime; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setImInTypeBprime(String newImInTypeBprime) + { + String oldImInTypeBprime = imInTypeBprime; + imInTypeBprime = newImInTypeBprime; + boolean oldImInTypeBprime_set_ = imInTypeBprime_set_; + imInTypeBprime_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_IM_IN_TYPE_BPRIME, oldImInTypeBprime, imInTypeBprime, !oldImInTypeBprime_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetImInTypeBprime() + { + String oldImInTypeBprime = imInTypeBprime; + boolean oldImInTypeBprime_set_ = imInTypeBprime_set_; + imInTypeBprime = IM_IN_TYPE_BPRIME_DEFAULT_; + imInTypeBprime_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_IM_IN_TYPE_BPRIME, oldImInTypeBprime, IM_IN_TYPE_BPRIME_DEFAULT_, oldImInTypeBprime_set_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetImInTypeBprime() + { + return imInTypeBprime_set_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case IM_IN_TYPE_BPRIME: + return getImInTypeBprime(); + } + return super.get(propertyIndex, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case IM_IN_TYPE_BPRIME: + setImInTypeBprime((String)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case IM_IN_TYPE_BPRIME: + unsetImInTypeBprime(); + return; + } + super.unset(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case IM_IN_TYPE_BPRIME: + return isSetImInTypeBprime(); + } + return super.isSet(propertyIndex); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (imInTypeBprime: "); + if (imInTypeBprime_set_) result.append(imInTypeBprime); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + +} //BprimeImpl diff --git a/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/SubgroupFactoryImpl.java b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/SubgroupFactoryImpl.java new file mode 100644 index 0000000000..49d0e6e905 --- /dev/null +++ b/sdo-java/branches/sdo-1.0-incubating/tools/src/test/java/com/example/subgroup/impl/SubgroupFactoryImpl.java @@ -0,0 +1,351 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.example.subgroup.impl; + +import commonj.sdo.helper.HelperContext; +import org.apache.tuscany.sdo.helper.TypeHelperImpl; + +import com.example.subgroup.*; + +import commonj.sdo.DataObject; +import commonj.sdo.Property; +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.FactoryBase; + +import org.apache.tuscany.sdo.model.ModelFactory; + +import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * Generator information: + * patternVersion=1.2; -prefix Subgroup + * <!-- end-user-doc --> + * @generated + */ +public class SubgroupFactoryImpl extends FactoryBase implements SubgroupFactory +{ + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_URI = "http://example.com/subgroup"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String NAMESPACE_PREFIX = "sg"; + + /** + * The version of the generator pattern used to generate this class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String PATTERN_VERSION = "1.2"; + + public static final int A = 1; + public static final int B = 2; + public static final int BPRIME = 3; + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SubgroupFactoryImpl() + { + super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.subgroup"); + } + + /** + * Registers the Factory instance so that it is available within the supplied scope. + * @argument scope a HelperContext instance that will make the types supported by this Factory available. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void register(HelperContext scope) + { + if(scope == null) { + throw new IllegalArgumentException("Scope can not be null"); + } + + //Register dependent packages with provided scope + ModelFactory.INSTANCE.register(scope); + + // Initialize this package + TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper(); + th.getExtendedMetaData().putPackage(NAMESPACE_URI, this); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DataObject create(int typeNumber) + { + switch (typeNumber) + { + case A: return (DataObject)createA(); + case B: return (DataObject)createB(); + case BPRIME: return (DataObject)createBprime(); + default: + return super.create(typeNumber); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public A createA() + { + AImpl a = new AImpl(); + return a; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public B createB() + { + BImpl b = new BImpl(); + return b; + } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Bprime createBprime() + { + BprimeImpl bprime = new BprimeImpl(); + return bprime; + } + + // Following creates and initializes SDO metadata for the supported types. + protected Type aType = null; + + public Type getA() + { + return aType; + } + + protected Type bType = null; + + public Type getB() + { + return bType; + } + + protected Type bprimeType = null; + + public Type getBprime() + { + return bprimeType; + } + + + private static SubgroupFactoryImpl instance = null; + public static SubgroupFactoryImpl init() + { + if (instance != null ) return instance; + instance = new SubgroupFactoryImpl(); + + // Initialize dependent packages + ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE; + + // Create package meta-data objects + instance.createMetaData(); + + // Initialize created meta-data + instance.initializeMetaData(); + + // Mark meta-data to indicate it can't be changed + //theSubgroupFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ???? + + return instance; + } + + private boolean isCreated = false; + + public void createMetaData() + { + if (isCreated) return; + isCreated = true; + + // Create types and their properties + aType = createType(false, A); + createProperty(true, aType,AImpl.INTERNAL_GE1_GROUP); + createProperty(false, aType,AImpl.INTERNAL_GE1); + bType = createType(false, B); + createProperty(true, bType,BImpl.INTERNAL_IM_IN_TYPE_B); + bprimeType = createType(false, BPRIME); + createProperty(true, bprimeType,BprimeImpl.INTERNAL_IM_IN_TYPE_BPRIME); + } + + private boolean isInitialized = false; + + public void initializeMetaData() + { + if (isInitialized) return; + isInitialized = true; + + // Obtain other dependent packages + ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE; + Property property = null; + + // Add supertypes to types + addSuperType(bprimeType, this.getB()); + + // Initialize types and properties + initializeType(aType, A.class, "A", false); + property = getLocalProperty(aType, 0); + initializeProperty(property, getSequence(), "ge1Group", null, 1, 1, A.class, false, false, false); + + property = getLocalProperty(aType, 1); + initializeProperty(property, this.getB(), "ge1", null, 1, 1, A.class, false, true, true, true , null); + + initializeType(bType, B.class, "B", false); + property = getLocalProperty(bType, 0); + initializeProperty(property, theModelPackageImpl.getString(), "imInTypeB", null, 1, 1, B.class, false, true, false); + + initializeType(bprimeType, Bprime.class, "Bprime", false); + property = getLocalProperty(bprimeType, 0); + initializeProperty(property, theModelPackageImpl.getString(), "imInTypeBprime", null, 1, 1, Bprime.class, false, true, false); + + createXSDMetaData(theModelPackageImpl); + } + + protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl) + { + super.initXSD(); + + Property property = null; + + + addXSDMapping + (aType, + new String[] + { + "name", "A", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(aType, AImpl.INTERNAL_GE1_GROUP), + new String[] + { + "kind", "group", + "name", "ge1:group", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (getProperty(aType, AImpl.INTERNAL_GE1), + new String[] + { + "kind", "element", + "name", "ge1", + "namespace", "##targetNamespace", + "group", "ge1:group" + }); + + addXSDMapping + (bType, + new String[] + { + "name", "B", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(bType, BImpl.INTERNAL_IM_IN_TYPE_B), + new String[] + { + "kind", "element", + "name", "imInTypeB", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (bprimeType, + new String[] + { + "name", "Bprime", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(bprimeType, BprimeImpl.INTERNAL_IM_IN_TYPE_BPRIME), + new String[] + { + "kind", "element", + "name", "imInTypeBprime", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("a", + this.getA(), + new String[] + { + "kind", "element", + "name", "a", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("ge1", + this.getB(), + new String[] + { + "kind", "element", + "name", "ge1", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("se1", + this.getBprime(), + new String[] + { + "kind", "element", + "name", "se1", + "namespace", "##targetNamespace", + "affiliation", "ge1" + }); + + } + +} //SubgroupFactoryImpl |