Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2010-09-27 12:17:26 -0400
committerEike Stepper2010-09-27 12:17:26 -0400
commit5f9ef5ea15498d5c9dad2658c9de00cd3be2af8d (patch)
tree472cf34ca4848685b37a0a4c607fce7ec0a6a065
parent3e259dede2ee86ce11c5de06046b0bd398fc0841 (diff)
downloadcdo-committers/estepper/streaming.tar.gz
cdo-committers/estepper/streaming.tar.xz
cdo-committers/estepper/streaming.zip
[284307] Add support for streaming of large byte arrays / BLOBcommitters/estepper/streaming
https://bugs.eclipse.org/bugs/show_bug.cgi?id=284307
-rw-r--r--plugins/org.eclipse.emf.cdo.common/META-INF/MANIFEST.MF1
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java63
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOType.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOBlob.java54
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOClob.java54
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLob.java88
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLobStore.java60
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLobUtil.java57
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java11
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOTypeImpl.java55
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/CDOLobStoreImpl.java206
-rw-r--r--plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CDOClientProtocol.java15
-rw-r--r--plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitDelegationRequest.java6
-rw-r--r--plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java41
-rw-r--r--plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitXATransactionRequest.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/QueryLobsRequest.java57
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/CDODBSchema.java26
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java94
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/TypeMapping.java62
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db4o/src/org/eclipse/emf/cdo/server/internal/db4o/DB4OStoreAccessor.java19
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java19
-rw-r--r--plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CDOServerProtocol.java6
-rw-r--r--plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java1
-rw-r--r--plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/LoadLobIndication.java41
-rw-r--r--plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/QueryLobsIndication.java53
-rw-r--r--plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/ObjectivityStoreAccessor.java18
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java6
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContext.java13
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/embedded/EmbeddedClientSessionProtocol.java11
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/mem/MEMStoreAccessor.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/SynchronizableRepository.java5
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreAccessor.java32
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalCommitContext.java6
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalRepository.java5
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/StoreAccessor.java42
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBConfigs.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/model/model3-legacy.genmodel67
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore9
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/model/model3.genmodel41
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/model/model3.legacy-genmodel26
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Factory.java18
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Package.java573
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Class1Impl.java19
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/FileImpl.java241
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/ImageImpl.java297
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/MetaRefImpl.java17
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3FactoryImpl.java28
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3PackageImpl.java163
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeAImpl.java32
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeBImpl.java32
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeCImpl.java46
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeDImpl.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/PolygonImpl.java16
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/PolygonWithDuplicatesImpl.java16
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/SubpackageFactory.java13
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/SubpackagePackage.java50
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/Class2Impl.java17
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/SubpackageFactoryImpl.java9
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/SubpackagePackageImpl.java30
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/util/SubpackageAdapterFactory.java33
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/util/SubpackageSwitch.java26
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3AdapterFactory.java42
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3Switch.java68
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Class1.java19
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/File.java88
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Image.java115
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Factory.java59
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Package.java537
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeA.java25
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeB.java35
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeC.java55
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeD.java61
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Polygon.java11
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/PolygonWithDuplicates.java11
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Class1Impl.java10
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/FileImpl.java109
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/ImageImpl.java130
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/MetaRefImpl.java5
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3FactoryImpl.java50
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3PackageImpl.java175
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeAImpl.java15
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeBImpl.java16
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeCImpl.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeDImpl.java23
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/PolygonImpl.java8
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/PolygonWithDuplicatesImpl.java8
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/Class2.java13
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/SubpackageFactory.java13
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/SubpackagePackage.java50
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/Class2Impl.java8
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/SubpackageFactoryImpl.java13
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/SubpackagePackageImpl.java30
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/util/SubpackageAdapterFactory.java33
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/util/SubpackageSwitch.java26
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3AdapterFactory.java80
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3Switch.java118
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LobTest.java55
-rw-r--r--plugins/org.eclipse.emf.cdo/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--plugins/org.eclipse.emf.cdo/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.emf.cdo/model/eresource.genmodel10
-rw-r--r--plugins/org.eclipse.emf.cdo/model/etypes.ecore8
-rw-r--r--plugins/org.eclipse.emf.cdo/model/etypes.ecorediag19
-rw-r--r--plugins/org.eclipse.emf.cdo/model/etypes.genmodel15
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/EtypesFactory.java36
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/EtypesPackage.java138
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/impl/EtypesFactoryImpl.java177
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/impl/EtypesPackageImpl.java194
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOCommitContext.java7
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java27
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOSingleTransactionStrategyImpl.java6
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java49
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOXACommitContextImpl.java7
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java12
-rw-r--r--plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/DigestWriter.java135
-rw-r--r--plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/IOUtil.java78
115 files changed, 5000 insertions, 1185 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.common/META-INF/MANIFEST.MF
index 92e0e9d06b..fb25de5545 100644
--- a/plugins/org.eclipse.emf.cdo.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.common/META-INF/MANIFEST.MF
@@ -20,6 +20,7 @@ Export-Package: org.eclipse.emf.cdo.common;version="4.0.0",
org.eclipse.emf.cdo.common.commit;version="4.0.0",
org.eclipse.emf.cdo.common.id;version="4.0.0",
org.eclipse.emf.cdo.common.model;version="4.0.0",
+ org.eclipse.emf.cdo.common.model.lob;version="4.0.0",
org.eclipse.emf.cdo.common.protocol;version="4.0.0",
org.eclipse.emf.cdo.common.revision;version="4.0.0",
org.eclipse.emf.cdo.common.revision.cache;version="4.0.0",
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java
index 7022e2ac84..2be7589304 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java
@@ -58,6 +58,11 @@ public final class CDOModelUtil
/**
* @since 2.0
*/
+ public static final String ROOT_CLASS_NAME = "EObject"; //$NON-NLS-1$
+
+ /**
+ * @since 2.0
+ */
public static final String RESOURCE_PACKAGE_URI = "http://www.eclipse.org/emf/CDO/Eresource/2.0.0"; //$NON-NLS-1$
/**
@@ -76,9 +81,19 @@ public final class CDOModelUtil
public static final String RESOURCE_CLASS_NAME = "CDOResource"; //$NON-NLS-1$
/**
- * @since 2.0
+ * @since 4.0
*/
- public static final String ROOT_CLASS_NAME = "EObject"; //$NON-NLS-1$
+ public static final String TYPES_PACKAGE_URI = "http://www.eclipse.org/emf/CDO/Etypes/4.0.0"; //$NON-NLS-1$
+
+ /**
+ * @since 4.0
+ */
+ public static final String BLOB_CLASS_NAME = "Blob"; //$NON-NLS-1$
+
+ /**
+ * @since 4.0
+ */
+ public static final String CLOB_CLASS_NAME = "Clob"; //$NON-NLS-1$
private static CDOType[] coreTypes;
@@ -137,6 +152,14 @@ public final class CDOModelUtil
/**
* @since 2.0
*/
+ public static boolean isRoot(EClass eClass)
+ {
+ return isCorePackage(eClass.getEPackage()) && ROOT_CLASS_NAME.equals(eClass.getName());
+ }
+
+ /**
+ * @since 2.0
+ */
public static boolean isResourcePackage(EPackage ePackage)
{
return RESOURCE_PACKAGE_URI.equals(ePackage.getNsURI());
@@ -177,11 +200,20 @@ public final class CDOModelUtil
}
/**
- * @since 2.0
+ * @since 4.0
*/
- public static boolean isRoot(EClass eClass)
+ public static boolean isTypesPackage(EPackage ePackage)
{
- return isCorePackage(eClass.getEPackage()) && ROOT_CLASS_NAME.equals(eClass.getName());
+ return TYPES_PACKAGE_URI.equals(ePackage.getNsURI());
+ }
+
+ /**
+ * @since 4.0
+ */
+ public static boolean isLob(EClassifier eClassifier)
+ {
+ return isTypesPackage(eClassifier.getEPackage())
+ && (BLOB_CLASS_NAME.equals(eClassifier.getName()) || CLOB_CLASS_NAME.equals(eClassifier.getName()));
}
/**
@@ -217,15 +249,32 @@ public final class CDOModelUtil
return CDOType.ENUM_ORDINAL;
}
- if (isCorePackage(classifier.getEPackage()))
+ EDataType eDataType = (EDataType)classifier;
+ EPackage ePackage = eDataType.getEPackage();
+
+ if (isCorePackage(ePackage))
{
- EDataType eDataType = (EDataType)classifier;
CDOType type = getCoreType(eDataType);
if (type != null)
{
return type;
}
}
+ else if (isTypesPackage(ePackage))
+ {
+ String name = eDataType.getName();
+ if (BLOB_CLASS_NAME.equals(name))
+ {
+ return CDOType.BLOB;
+ }
+
+ if (CLOB_CLASS_NAME.equals(name))
+ {
+ return CDOType.CLOB;
+ }
+
+ throw new IllegalArgumentException("Illegal data type: " + eDataType);
+ }
return CDOType.CUSTOM;
}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOType.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOType.java
index 286067bc54..fc31cb5bc5 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOType.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOType.java
@@ -90,6 +90,10 @@ public interface CDOType
*/
public static final CDOType ENUM_LITERAL = org.eclipse.emf.cdo.internal.common.model.CDOTypeImpl.ENUM_LITERAL;
+ public static final CDOType BLOB = org.eclipse.emf.cdo.internal.common.model.CDOTypeImpl.BLOB;
+
+ public static final CDOType CLOB = org.eclipse.emf.cdo.internal.common.model.CDOTypeImpl.CLOB;
+
public static final CDOType CUSTOM = org.eclipse.emf.cdo.internal.common.model.CDOTypeImpl.CUSTOM;
/**
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOBlob.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOBlob.java
new file mode 100644
index 0000000000..1a5fb21011
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOBlob.java
@@ -0,0 +1,54 @@
+package org.eclipse.emf.cdo.common.model.lob;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOLobStore.Info;
+import org.eclipse.emf.cdo.spi.common.model.CDOLobStoreImpl;
+
+import org.eclipse.net4j.util.io.ExtendedDataInput;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * @author Eike Stepper
+ * @since 4.0
+ */
+public final class CDOBlob extends CDOLob<byte[], InputStream>
+{
+ public CDOBlob(InputStream contents) throws IOException
+ {
+ super(contents, CDOLobStoreImpl.INSTANCE);
+ }
+
+ public CDOBlob(InputStream contents, CDOLobStore store) throws IOException
+ {
+ super(contents, store);
+ }
+
+ CDOBlob(byte[] id, long size)
+ {
+ super(id, size);
+ }
+
+ CDOBlob(ExtendedDataInput in) throws IOException
+ {
+ super(in);
+ }
+
+ @Override
+ public byte[] toArray() throws IOException
+ {
+ return getStore().getBinaryArray(getID());
+ }
+
+ @Override
+ protected Info put(InputStream contents) throws IOException
+ {
+ return getStore().putBinary(contents);
+ }
+
+ @Override
+ protected InputStream get(byte[] id) throws IOException
+ {
+ return getStore().getBinary(id);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOClob.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOClob.java
new file mode 100644
index 0000000000..aff5b76374
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOClob.java
@@ -0,0 +1,54 @@
+package org.eclipse.emf.cdo.common.model.lob;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOLobStore.Info;
+import org.eclipse.emf.cdo.spi.common.model.CDOLobStoreImpl;
+
+import org.eclipse.net4j.util.io.ExtendedDataInput;
+
+import java.io.IOException;
+import java.io.Reader;
+
+/**
+ * @author Eike Stepper
+ * @since 4.0
+ */
+public final class CDOClob extends CDOLob<char[], Reader>
+{
+ public CDOClob(Reader contents) throws IOException
+ {
+ super(contents, CDOLobStoreImpl.INSTANCE);
+ }
+
+ public CDOClob(Reader contents, CDOLobStore store) throws IOException
+ {
+ super(contents, store);
+ }
+
+ CDOClob(byte[] id, long size)
+ {
+ super(id, size);
+ }
+
+ CDOClob(ExtendedDataInput in) throws IOException
+ {
+ super(in);
+ }
+
+ @Override
+ public char[] toArray() throws IOException
+ {
+ return getStore().getCharacterArray(getID());
+ }
+
+ @Override
+ protected Info put(Reader contents) throws IOException
+ {
+ return getStore().putCharacter(contents);
+ }
+
+ @Override
+ protected Reader get(byte[] id) throws IOException
+ {
+ return getStore().getCharacter(id);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLob.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLob.java
new file mode 100644
index 0000000000..a0394cc2ce
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLob.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.common.model.lob;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOLobStore.Info;
+
+import org.eclipse.net4j.util.io.ExtendedDataInput;
+import org.eclipse.net4j.util.io.ExtendedDataOutput;
+
+import java.io.IOException;
+
+/**
+ * @author Eike Stepper
+ * @since 4.0
+ */
+public abstract class CDOLob<ARRAY, IO>
+{
+ private CDOLobStore store;
+
+ private byte[] id;
+
+ private long size;
+
+ CDOLob(byte[] id, long size)
+ {
+ this.id = id;
+ this.size = size;
+ }
+
+ CDOLob(IO contents, CDOLobStore store) throws IOException
+ {
+ this.store = store;
+ Info info = put(contents);
+ id = info.getID();
+ size = info.getSize();
+ }
+
+ CDOLob(ExtendedDataInput in) throws IOException
+ {
+ id = in.readByteArray();
+ size = in.readLong();
+ }
+
+ final void write(ExtendedDataOutput out) throws IOException
+ {
+ out.writeByteArray(id);
+ out.writeLong(size);
+ }
+
+ final void setStore(CDOLobStore store)
+ {
+ this.store = store;
+ }
+
+ public final CDOLobStore getStore()
+ {
+ return store;
+ }
+
+ public final byte[] getID()
+ {
+ return id;
+ }
+
+ public final long getSize()
+ {
+ return size;
+ }
+
+ public final IO getContents() throws IOException
+ {
+ return get(id);
+ }
+
+ public abstract ARRAY toArray() throws IOException;
+
+ protected abstract Info put(IO contents) throws IOException;
+
+ protected abstract IO get(byte[] id) throws IOException;
+}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLobStore.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLobStore.java
new file mode 100644
index 0000000000..dbf3bf771c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLobStore.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.common.model.lob;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+
+/**
+ * @author Eike Stepper
+ * @since 4.0
+ */
+public interface CDOLobStore
+{
+ public Info putBinary(InputStream contents) throws IOException;
+
+ public InputStream getBinary(byte[] id) throws IOException;
+
+ public byte[] getBinaryArray(byte[] id) throws IOException;
+
+ public Info putCharacter(Reader contents) throws IOException;
+
+ public Reader getCharacter(byte[] id) throws IOException;
+
+ public char[] getCharacterArray(byte[] id) throws IOException;
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class Info
+ {
+ private byte[] id;
+
+ private long size;
+
+ public Info(byte[] id, long size)
+ {
+ this.id = id;
+ this.size = size;
+ }
+
+ public byte[] getID()
+ {
+ return id;
+ }
+
+ public long getSize()
+ {
+ return size;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLobUtil.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLobUtil.java
new file mode 100644
index 0000000000..774534e471
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/lob/CDOLobUtil.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.common.model.lob;
+
+import org.eclipse.net4j.util.io.ExtendedDataInput;
+import org.eclipse.net4j.util.io.ExtendedDataOutput;
+
+import java.io.IOException;
+
+/**
+ * @author Eike Stepper
+ * @since 4.0
+ */
+public final class CDOLobUtil
+{
+ private CDOLobUtil()
+ {
+ }
+
+ public static CDOBlob readBlob(ExtendedDataInput in) throws IOException
+ {
+ return new CDOBlob(in);
+ }
+
+ public static CDOClob readClob(ExtendedDataInput in) throws IOException
+ {
+ return new CDOClob(in);
+ }
+
+ public static void write(ExtendedDataOutput out, CDOLob<?, ?> lob) throws IOException
+ {
+ lob.write(out);
+ }
+
+ public static CDOBlob createBlob(byte[] id, long size)
+ {
+ return new CDOBlob(id, size);
+ }
+
+ public static CDOClob createClob(byte[] id, long size)
+ {
+ return new CDOClob(id, size);
+ }
+
+ public static void setStore(CDOLobStore store, CDOLob<?, ?> lob) throws IOException
+ {
+ lob.setStore(store);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java
index bf2ce437b9..89abb5bd13 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java
@@ -194,8 +194,19 @@ public interface CDOProtocolConstants
*/
public static final short SIGNAL_LOAD_MERGE_DATA = 44;
+ /**
+ * @since 4.0
+ */
+ public static final short SIGNAL_QUERY_LOBS = 45;
+
+ /**
+ * @since 4.0
+ */
+ public static final short SIGNAL_LOAD_LOB = 46;
+
// //////////////////////////////////////////////////////////////////////
// Session Refresh
+
/**
* @since 3.0
*/
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOTypeImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOTypeImpl.java
index 80fe047874..4b252a743a 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOTypeImpl.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOTypeImpl.java
@@ -14,6 +14,9 @@ package org.eclipse.emf.cdo.internal.common.model;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.model.CDOModelUtil;
import org.eclipse.emf.cdo.common.model.CDOType;
+import org.eclipse.emf.cdo.common.model.lob.CDOBlob;
+import org.eclipse.emf.cdo.common.model.lob.CDOClob;
+import org.eclipse.emf.cdo.common.model.lob.CDOLobUtil;
import org.eclipse.emf.cdo.common.protocol.CDODataInput;
import org.eclipse.emf.cdo.common.protocol.CDODataOutput;
import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster;
@@ -568,6 +571,58 @@ public abstract class CDOTypeImpl implements CDOType
}
};
+ public static final CDOType BLOB = new CDOTypeImpl("BLOB", 2004, true) //$NON-NLS-1$
+ {
+ public CDOBlob readValue(CDODataInput in) throws IOException
+ {
+ if (in.readBoolean())
+ {
+ return CDOLobUtil.readBlob(in);
+ }
+
+ return null;
+ }
+
+ public void writeValue(CDODataOutput out, Object value) throws IOException
+ {
+ if (value != null)
+ {
+ out.writeBoolean(true);
+ CDOLobUtil.write(out, (CDOBlob)value);
+ }
+ else
+ {
+ out.writeBoolean(false);
+ }
+ }
+ };
+
+ public static final CDOType CLOB = new CDOTypeImpl("CLOB", 2005, true) //$NON-NLS-1$
+ {
+ public CDOClob readValue(CDODataInput in) throws IOException
+ {
+ if (in.readBoolean())
+ {
+ return CDOLobUtil.readClob(in);
+ }
+
+ return null;
+ }
+
+ public void writeValue(CDODataOutput out, Object value) throws IOException
+ {
+ if (value != null)
+ {
+ out.writeBoolean(true);
+ CDOLobUtil.write(out, (CDOClob)value);
+ }
+ else
+ {
+ out.writeBoolean(false);
+ }
+ }
+ };
+
public static final CDOType CUSTOM = new CDOTypeImpl("CUSTOM", 999, true) //$NON-NLS-1$
{
@Override
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/CDOLobStoreImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/CDOLobStoreImpl.java
new file mode 100644
index 0000000000..c12333d576
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/CDOLobStoreImpl.java
@@ -0,0 +1,206 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.spi.common.model;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOLobStore;
+
+import org.eclipse.net4j.util.HexUtil;
+import org.eclipse.net4j.util.WrappedException;
+import org.eclipse.net4j.util.io.DigestWriter;
+import org.eclipse.net4j.util.io.IORuntimeException;
+import org.eclipse.net4j.util.io.IOUtil;
+import org.eclipse.net4j.util.om.OMPlatform;
+
+import java.io.ByteArrayOutputStream;
+import java.io.CharArrayWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.security.DigestOutputStream;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+/**
+ * @author Eike Stepper
+ * @since 4.0
+ */
+public class CDOLobStoreImpl implements CDOLobStore
+{
+ public static final CDOLobStore INSTANCE = new CDOLobStoreImpl();
+
+ private File folder;
+
+ private int tempID;
+
+ public CDOLobStoreImpl(File folder)
+ {
+ this.folder = folder;
+ if (!folder.exists())
+ {
+ folder.mkdirs();
+ if (!folder.exists())
+ {
+ throw new IORuntimeException("Folder could not be created: " + folder);
+ }
+
+ if (!folder.isDirectory())
+ {
+ throw new IORuntimeException("Not a folder: " + folder);
+ }
+ }
+ }
+
+ public CDOLobStoreImpl()
+ {
+ this(getDefaultFolder());
+ }
+
+ public File getFolder()
+ {
+ return folder;
+ }
+
+ public Info putBinary(InputStream contents) throws IOException
+ {
+ File tempFile = getTempFile();
+ MessageDigest digest = createDigest();
+ digest.update("BINARY".getBytes());
+
+ FileOutputStream fos = null;
+ long size;
+
+ try
+ {
+ fos = new FileOutputStream(tempFile);
+ DigestOutputStream dos = new DigestOutputStream(fos, digest);
+ size = IOUtil.copyBinary(contents, dos);
+ }
+ finally
+ {
+ IOUtil.close(fos);
+ }
+
+ byte[] id = digest.digest();
+ makePermanent(tempFile, getBinaryFile(id));
+ return new Info(id, size);
+ }
+
+ public InputStream getBinary(byte[] id) throws IOException
+ {
+ File file = getBinaryFile(id);
+ return new FileInputStream(file);
+ }
+
+ public byte[] getBinaryArray(byte[] id) throws IOException
+ {
+ InputStream inputStream = getBinary(id);
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ IOUtil.copyBinary(inputStream, baos);
+ return baos.toByteArray();
+ }
+
+ public Info putCharacter(Reader contents) throws IOException
+ {
+ File tempFile = getTempFile();
+ MessageDigest digest = createDigest();
+ digest.update("CHARACTER".getBytes());
+
+ FileWriter fw = null;
+ long size;
+
+ try
+ {
+ fw = new FileWriter(tempFile);
+ DigestWriter dw = new DigestWriter(fw, digest);
+ size = IOUtil.copyCharacter(contents, dw);
+ }
+ finally
+ {
+ IOUtil.close(fw);
+ }
+
+ byte[] id = digest.digest();
+ makePermanent(tempFile, getCharacterFile(id));
+ return new Info(id, size);
+ }
+
+ public Reader getCharacter(byte[] id) throws IOException
+ {
+ File file = getCharacterFile(id);
+ return new FileReader(file);
+ }
+
+ public char[] getCharacterArray(byte[] id) throws IOException
+ {
+ Reader reader = getCharacter(id);
+ CharArrayWriter caw = new CharArrayWriter();
+ IOUtil.copyCharacter(reader, caw);
+ return caw.toCharArray();
+ }
+
+ protected MessageDigest createDigest()
+ {
+ try
+ {
+ return MessageDigest.getInstance("SHA-1");
+ }
+ catch (NoSuchAlgorithmException ex)
+ {
+ throw WrappedException.wrap(ex);
+ }
+ }
+
+ protected synchronized File getTempFile()
+ {
+ for (;;)
+ {
+ ++tempID;
+ File file = new File(folder, "contents" + tempID + ".tmp");
+ if (!file.exists())
+ {
+ return file;
+ }
+ }
+ }
+
+ private File getBinaryFile(byte[] id)
+ {
+ return new File(folder, HexUtil.bytesToHex(id) + ".blob");
+ }
+
+ private File getCharacterFile(byte[] id)
+ {
+ return new File(folder, HexUtil.bytesToHex(id) + ".clob");
+ }
+
+ private void makePermanent(File tempFile, File file)
+ {
+ if (file.exists())
+ {
+ tempFile.delete();
+ }
+ else
+ {
+ tempFile.renameTo(file);
+ }
+ }
+
+ private static File getDefaultFolder()
+ {
+ String path = OMPlatform.INSTANCE.getProperty("java.io.tmpdir");
+ return new File(new File(path), "cdolobs");
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CDOClientProtocol.java b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CDOClientProtocol.java
index 08ff5d5ca5..e34aa80cd4 100644
--- a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CDOClientProtocol.java
+++ b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CDOClientProtocol.java
@@ -23,6 +23,7 @@ import org.eclipse.emf.cdo.common.commit.CDOCommitInfoHandler;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDProvider;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants;
import org.eclipse.emf.cdo.common.util.TransportException;
import org.eclipse.emf.cdo.internal.net4j.bundle.OM;
@@ -253,17 +254,23 @@ public class CDOClientProtocol extends SignalProtocol<CDOSession> implements CDO
return send(new ObjectLockedRequest(this, view, object, lockType, byOthers));
}
+ public List<byte[]> queryLobs(Set<byte[]> ids)
+ {
+ return send(new QueryLobsRequest(this, ids));
+ }
+
public CommitTransactionResult commitTransaction(int transactionID, String comment, boolean releaseLocks,
- CDOIDProvider idProvider, CDOCommitData commitData, OMMonitor monitor)
+ CDOIDProvider idProvider, CDOCommitData commitData, Collection<CDOLob<?, ?>> lobs, OMMonitor monitor)
{
- return send(new CommitTransactionRequest(this, transactionID, comment, releaseLocks, idProvider, commitData),
+ return send(new CommitTransactionRequest(this, transactionID, comment, releaseLocks, idProvider, commitData, lobs),
monitor);
}
public CommitTransactionResult commitDelegation(CDOBranch branch, String userID, String comment,
- CDOCommitData commitData, Map<CDOID, EClass> detachedObjectTypes, OMMonitor monitor)
+ CDOCommitData commitData, Map<CDOID, EClass> detachedObjectTypes, Collection<CDOLob<?, ?>> lobs, OMMonitor monitor)
{
- return send(new CommitDelegationRequest(this, branch, userID, comment, commitData, detachedObjectTypes), monitor);
+ return send(new CommitDelegationRequest(this, branch, userID, comment, commitData, detachedObjectTypes, lobs),
+ monitor);
}
public CommitTransactionResult commitXATransactionPhase1(InternalCDOXACommitContext xaContext, OMMonitor monitor)
diff --git a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitDelegationRequest.java b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitDelegationRequest.java
index 37d2687cc9..84ac4d4419 100644
--- a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitDelegationRequest.java
+++ b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitDelegationRequest.java
@@ -15,6 +15,7 @@ import org.eclipse.emf.cdo.common.commit.CDOCommitData;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDProvider;
import org.eclipse.emf.cdo.common.id.CDOIDTemp;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.protocol.CDODataOutput;
import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants;
import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageRegistry.MetaInstanceMapper;
@@ -22,6 +23,7 @@ import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageRegistry.MetaInsta
import org.eclipse.emf.ecore.EClass;
import java.io.IOException;
+import java.util.Collection;
import java.util.Map;
/**
@@ -38,10 +40,10 @@ public class CommitDelegationRequest extends CommitTransactionRequest
private Map<CDOID, EClass> detachedObjectTypes;
public CommitDelegationRequest(CDOClientProtocol protocol, CDOBranch branch, String userID, String comment,
- CDOCommitData commitData, Map<CDOID, EClass> detachedObjectTypes)
+ CDOCommitData commitData, Map<CDOID, EClass> detachedObjectTypes, Collection<CDOLob<?, ?>> lobs)
{
super(protocol, CDOProtocolConstants.SIGNAL_COMMIT_DELEGATION, UNKNOWN_TRANSACTION_ID, comment, false,
- CDOIDProvider.NOOP, commitData);
+ CDOIDProvider.NOOP, commitData, lobs);
this.branch = branch;
this.userID = userID;
diff --git a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java
index 48110849dc..e7b36bb216 100644
--- a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java
+++ b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java
@@ -28,6 +28,9 @@ import org.eclipse.emf.cdo.common.id.CDOIDUtil;
import org.eclipse.emf.cdo.common.model.CDOPackageInfo;
import org.eclipse.emf.cdo.common.model.CDOPackageRegistry;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
+import org.eclipse.emf.cdo.common.model.lob.CDOBlob;
+import org.eclipse.emf.cdo.common.model.lob.CDOClob;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.protocol.CDODataInput;
import org.eclipse.emf.cdo.common.protocol.CDODataOutput;
import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants;
@@ -48,6 +51,7 @@ import org.eclipse.emf.internal.cdo.revision.CDOListWithElementProxiesImpl;
import org.eclipse.net4j.signal.RequestWithMonitoring;
import org.eclipse.net4j.util.io.ExtendedDataInputStream;
import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
+import org.eclipse.net4j.util.io.IOUtil;
import org.eclipse.net4j.util.io.StringIO;
import org.eclipse.net4j.util.om.monitor.OMMonitor;
import org.eclipse.net4j.util.om.trace.ContextTracer;
@@ -57,6 +61,8 @@ import org.eclipse.emf.spi.cdo.CDOSessionProtocol.CommitTransactionResult;
import org.eclipse.emf.spi.cdo.InternalCDOSession;
import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.util.Collection;
import java.util.List;
/**
@@ -76,15 +82,19 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa
private CDOCommitData commitData;
+ private Collection<CDOLob<?, ?>> lobs;
+
+ private ExtendedDataOutputStream stream;
+
public CommitTransactionRequest(CDOClientProtocol protocol, int transactionID, String comment, boolean releaseLocks,
- CDOIDProvider idProvider, CDOCommitData commitData)
+ CDOIDProvider idProvider, CDOCommitData commitData, Collection<CDOLob<?, ?>> lobs)
{
this(protocol, CDOProtocolConstants.SIGNAL_COMMIT_TRANSACTION, transactionID, comment, releaseLocks, idProvider,
- commitData);
+ commitData, lobs);
}
public CommitTransactionRequest(CDOClientProtocol protocol, short signalID, int transactionID, String comment,
- boolean releaseLocks, CDOIDProvider idProvider, CDOCommitData commitData)
+ boolean releaseLocks, CDOIDProvider idProvider, CDOCommitData commitData, Collection<CDOLob<?, ?>> lobs)
{
super(protocol, signalID);
this.transactionID = transactionID;
@@ -92,6 +102,7 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa
this.releaseLocks = releaseLocks;
this.idProvider = idProvider;
this.commitData = commitData;
+ this.lobs = lobs;
}
@Override
@@ -113,6 +124,7 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa
@Override
protected final void requesting(ExtendedDataOutputStream out, OMMonitor monitor) throws Exception
{
+ stream = out;
requesting(new CDODataOutputImpl(out)
{
@Override
@@ -206,6 +218,29 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa
out.writeCDOClassifierRef(eClass);
}
}
+
+ requestingLobs(out);
+ }
+
+ protected void requestingLobs(CDODataOutput out) throws IOException
+ {
+ out.writeInt(lobs.size());
+ for (CDOLob<?, ?> lob : lobs)
+ {
+ out.writeByteArray(lob.getID());
+ if (lob instanceof CDOBlob)
+ {
+ CDOBlob blob = (CDOBlob)lob;
+ out.writeLong(blob.getSize());
+ IOUtil.copyBinary(blob.getContents(), stream);
+ }
+ else
+ {
+ CDOClob clob = (CDOClob)lob;
+ out.writeLong(-clob.getSize());
+ IOUtil.copyCharacter(clob.getContents(), new OutputStreamWriter(stream));
+ }
+ }
}
protected EClass getObjectType(CDOID id)
diff --git a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitXATransactionRequest.java b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitXATransactionRequest.java
index e55d079e42..b007a011ea 100644
--- a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitXATransactionRequest.java
+++ b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitXATransactionRequest.java
@@ -23,7 +23,7 @@ public class CommitXATransactionRequest extends CommitTransactionRequest
{
super(protocol, signalID, xaContext.getTransaction().getViewID(), xaContext.getTransaction().getCommitComment(),
xaContext.getTransaction().options().isAutoReleaseLocksEnabled(), xaContext.getTransaction(), xaContext
- .getCommitData());
+ .getCommitData(), xaContext.getLobs());
this.xaContext = xaContext;
}
diff --git a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/QueryLobsRequest.java b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/QueryLobsRequest.java
new file mode 100644
index 0000000000..eabcbcfe65
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/QueryLobsRequest.java
@@ -0,0 +1,57 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.cdo.internal.net4j.protocol;
+
+import org.eclipse.emf.cdo.common.protocol.CDODataInput;
+import org.eclipse.emf.cdo.common.protocol.CDODataOutput;
+import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @author Eike Stepper
+ */
+public class QueryLobsRequest extends CDOClientRequest<List<byte[]>>
+{
+ private Collection<byte[]> ids;
+
+ public QueryLobsRequest(CDOClientProtocol protocol, Collection<byte[]> ids)
+ {
+ super(protocol, CDOProtocolConstants.SIGNAL_QUERY_LOBS);
+ this.ids = ids;
+ }
+
+ @Override
+ protected void requesting(CDODataOutput out) throws IOException
+ {
+ out.writeInt(ids.size());
+ for (byte[] id : ids)
+ {
+ out.writeByteArray(id);
+ }
+ }
+
+ @Override
+ protected List<byte[]> confirming(CDODataInput in) throws IOException
+ {
+ int size = in.readInt();
+ List<byte[]> result = new ArrayList<byte[]>(size);
+ for (int i = 0; i < size; i++)
+ {
+ result.add(in.readByteArray());
+ }
+
+ return result;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/CDODBSchema.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/CDODBSchema.java
index fd359f484f..722b280385 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/CDODBSchema.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/CDODBSchema.java
@@ -182,6 +182,32 @@ public class CDODBSchema extends DBSchema
EXTERNAL_REFS.addIndex(IDBIndex.Type.NON_UNIQUE, EXTERNAL_URI);
/**
+ * DBTable cdo_lobs
+ */
+ public static final IDBTable LOBS = INSTANCE.addTable("cdo_lobs"); //$NON-NLS-1$
+
+ public static final IDBField LOBS_ID = //
+ LOBS.addField("id", DBType.CHAR, 40); //$NON-NLS-1$
+
+ public static final IDBField LOBS_SIZE = //
+ LOBS.addField("size", DBType.BIGINT); //$NON-NLS-1$
+
+ public static final IDBField LOBS_BDATA = //
+ LOBS.addField("bdata", DBType.BLOB); //$NON-NLS-1$
+
+ public static final IDBField LOBS_CDATA = //
+ LOBS.addField("cdata", DBType.CLOB); //$NON-NLS-1$
+
+ public static final IDBIndex INDEX_LOBS_ID = //
+ LOBS.addIndex(IDBIndex.Type.PRIMARY_KEY, LOBS_ID);
+
+ public static final String SQL_QUERY_LOBS = "SELECT 1 FROM " + CDODBSchema.LOBS + " WHERE " + CDODBSchema.LOBS_ID + "=?"; //$NON-NLS-1$
+
+ public static final String SQL_WRITE_BLOB = "INSERT INTO " + CDODBSchema.LOBS + "(" + CDODBSchema.LOBS_ID + ", " + CDODBSchema.LOBS_SIZE + ", " + CDODBSchema.LOBS_BDATA + " VALUES(?, ?, ?)"; //$NON-NLS-1$
+
+ public static final String SQL_WRITE_CLOB = "INSERT INTO " + CDODBSchema.LOBS + "(" + CDODBSchema.LOBS_ID + ", " + CDODBSchema.LOBS_SIZE + ", " + CDODBSchema.LOBS_CDATA + " VALUES(?, ?, ?)"; //$NON-NLS-1$
+
+ /**
* Name of object table
*/
public static final String CDO_OBJECTS = "cdo_objects"; //$NON-NLS-1$
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java
index 84c34bb11c..10a805500c 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java
@@ -63,6 +63,7 @@ import org.eclipse.emf.cdo.spi.server.LongIDStoreAccessor;
import org.eclipse.net4j.db.DBException;
import org.eclipse.net4j.db.DBUtil;
+import org.eclipse.net4j.util.HexUtil;
import org.eclipse.net4j.util.ObjectUtil;
import org.eclipse.net4j.util.StringUtil;
import org.eclipse.net4j.util.collection.CloseableIterator;
@@ -76,6 +77,8 @@ import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EStructuralFeature;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -84,6 +87,7 @@ import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TimerTask;
@@ -134,7 +138,7 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce
/**
* Returns an iterator that iterates over all objects in the store and makes their CDOIDs available for processing.
* This method is supposed to be called very infrequently, for example during the recovery from a crash.
- *
+ *
* @since 2.0
* @deprecated Not used by the framework anymore.
*/
@@ -295,6 +299,44 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce
return null;
}
+ public void queryLobs(List<byte[]> ids)
+ {
+ PreparedStatement pstmt = null;
+ ResultSet resultSet = null;
+
+ try
+ {
+ pstmt = statementCache.getPreparedStatement(CDODBSchema.SQL_QUERY_LOBS, ReuseProbability.MEDIUM);
+
+ for (Iterator<byte[]> it = ids.iterator(); it.hasNext();)
+ {
+ byte[] id = it.next();
+ pstmt.setString(1, HexUtil.bytesToHex(id));
+
+ try
+ {
+ resultSet = pstmt.executeQuery();
+ if (!resultSet.next())
+ {
+ it.remove();
+ }
+ }
+ finally
+ {
+ DBUtil.close(resultSet);
+ }
+ }
+ }
+ catch (SQLException ex)
+ {
+ throw new DBException(ex);
+ }
+ finally
+ {
+ statementCache.releasePreparedStatement(pstmt);
+ }
+ }
+
@Override
protected void applyIDMappings(InternalCommitContext context, OMMonitor monitor)
{
@@ -454,6 +496,54 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce
}
@Override
+ protected void writeBlob(byte[] id, long size, InputStream inputStream) throws IOException
+ {
+ PreparedStatement pstmt = null;
+
+ try
+ {
+ pstmt = statementCache.getPreparedStatement(CDODBSchema.SQL_WRITE_BLOB, ReuseProbability.HIGH);
+ pstmt.setString(1, HexUtil.bytesToHex(id));
+ pstmt.setLong(2, size);
+ pstmt.setBinaryStream(3, inputStream, (int)size);
+
+ CDODBUtil.sqlUpdate(pstmt, true);
+ }
+ catch (SQLException ex)
+ {
+ throw new DBException(ex);
+ }
+ finally
+ {
+ statementCache.releasePreparedStatement(pstmt);
+ }
+ }
+
+ @Override
+ protected void writeClob(byte[] id, long size, Reader reader) throws IOException
+ {
+ PreparedStatement pstmt = null;
+
+ try
+ {
+ pstmt = statementCache.getPreparedStatement(CDODBSchema.SQL_WRITE_CLOB, ReuseProbability.HIGH);
+ pstmt.setString(1, HexUtil.bytesToHex(id));
+ pstmt.setLong(2, size);
+ pstmt.setCharacterStream(3, reader, (int)size);
+
+ CDODBUtil.sqlUpdate(pstmt, true);
+ }
+ catch (SQLException ex)
+ {
+ throw new DBException(ex);
+ }
+ finally
+ {
+ statementCache.releasePreparedStatement(pstmt);
+ }
+ }
+
+ @Override
protected final void doCommit(OMMonitor monitor)
{
if (TRACER.isEnabled())
@@ -845,7 +935,7 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce
* <li>The <code>timeStamp</code> parameter is {@link CDOBranchPoint#UNSPECIFIED_DATE} or equal to
* <code>revision.getTimeStamp()</code>.
* </ul>
- *
+ *
* @since 3.0
*/
public void handleRevisions(EClass eClass, CDOBranch branch, long timeStamp, CDORevisionHandler handler)
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/TypeMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/TypeMapping.java
index cbcfbc65c0..2e3903535f 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/TypeMapping.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/TypeMapping.java
@@ -17,6 +17,9 @@
package org.eclipse.emf.cdo.server.internal.db.mapping;
import org.eclipse.emf.cdo.common.id.CDOID;
+import org.eclipse.emf.cdo.common.model.lob.CDOBlob;
+import org.eclipse.emf.cdo.common.model.lob.CDOClob;
+import org.eclipse.emf.cdo.common.model.lob.CDOLobUtil;
import org.eclipse.emf.cdo.common.revision.CDORevisionData;
import org.eclipse.emf.cdo.server.IStoreAccessor;
import org.eclipse.emf.cdo.server.IStoreAccessor.CommitContext;
@@ -36,6 +39,7 @@ import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision;
import org.eclipse.net4j.db.DBType;
import org.eclipse.net4j.db.ddl.IDBField;
import org.eclipse.net4j.db.ddl.IDBTable;
+import org.eclipse.net4j.util.HexUtil;
import org.eclipse.net4j.util.om.trace.ContextTracer;
import org.eclipse.emf.common.util.Enumerator;
@@ -333,6 +337,64 @@ public abstract class TypeMapping implements ITypeMapping
/**
* @author Eike Stepper
*/
+ public static class TMBlob extends TypeMapping
+ {
+ public TMBlob(IMappingStrategy strategy, EStructuralFeature feature, DBType type)
+ {
+ super(strategy, feature, type);
+ }
+
+ @Override
+ protected void doSetValue(PreparedStatement stmt, int index, Object value) throws SQLException
+ {
+ CDOBlob blob = (CDOBlob)value;
+ stmt.setString(index, HexUtil.bytesToHex(blob.getID()) + "-" + blob.getSize());
+ }
+
+ @Override
+ public Object getResultSetValue(ResultSet resultSet) throws SQLException
+ {
+ String str = resultSet.getString(getField().getName());
+ int pos = str.indexOf('-');
+
+ byte[] id = HexUtil.hexToBytes(str.substring(0, pos));
+ long size = Long.parseLong(str.substring(pos + 1));
+ return CDOLobUtil.createBlob(id, size);
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static class TMClob extends TypeMapping
+ {
+ public TMClob(IMappingStrategy strategy, EStructuralFeature feature, DBType type)
+ {
+ super(strategy, feature, type);
+ }
+
+ @Override
+ protected void doSetValue(PreparedStatement stmt, int index, Object value) throws SQLException
+ {
+ CDOClob clob = (CDOClob)value;
+ stmt.setString(index, HexUtil.bytesToHex(clob.getID()) + "-" + clob.getSize());
+ }
+
+ @Override
+ public Object getResultSetValue(ResultSet resultSet) throws SQLException
+ {
+ String str = resultSet.getString(getField().getName());
+ int pos = str.indexOf('-');
+
+ byte[] id = HexUtil.hexToBytes(str.substring(0, pos));
+ long size = Long.parseLong(str.substring(pos + 1));
+ return CDOLobUtil.createClob(id, size);
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
public static class TMShort extends TypeMapping
{
public TMShort(IMappingStrategy strategy, EStructuralFeature feature, DBType type)
diff --git a/plugins/org.eclipse.emf.cdo.server.db4o/src/org/eclipse/emf/cdo/server/internal/db4o/DB4OStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.db4o/src/org/eclipse/emf/cdo/server/internal/db4o/DB4OStoreAccessor.java
index 89739c9d44..882e425dcf 100644
--- a/plugins/org.eclipse.emf.cdo.server.db4o/src/org/eclipse/emf/cdo/server/internal/db4o/DB4OStoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server.db4o/src/org/eclipse/emf/cdo/server/internal/db4o/DB4OStoreAccessor.java
@@ -55,6 +55,8 @@ import com.db4o.ObjectSet;
import com.db4o.query.Predicate;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -371,6 +373,23 @@ public class DB4OStoreAccessor extends LongIDStoreAccessor
throw new UnsupportedOperationException();
}
+ public void queryLobs(List<byte[]> ids)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void writeBlob(byte[] id, long size, InputStream inputStream) throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void writeClob(byte[] id, long size, Reader reader) throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
+
public int createBranch(int branchID, BranchInfo branchInfo)
{
throw new UnsupportedOperationException();
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java
index 5b3160b2ff..9834b805d7 100644
--- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java
@@ -61,6 +61,8 @@ import org.hibernate.Session;
import org.hibernate.SessionFactory;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -719,6 +721,23 @@ public class HibernateStoreAccessor extends StoreAccessor implements IHibernateS
throw new UnsupportedOperationException();
}
+ public void queryLobs(List<byte[]> ids)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void writeBlob(byte[] id, long size, InputStream inputStream) throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void writeClob(byte[] id, long size, Reader reader) throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
+
@Override
protected void doDeactivate() throws Exception
{
diff --git a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CDOServerProtocol.java b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CDOServerProtocol.java
index 7669b0131b..8e6713829f 100644
--- a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CDOServerProtocol.java
+++ b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CDOServerProtocol.java
@@ -200,6 +200,12 @@ public class CDOServerProtocol extends SignalProtocol<InternalSession> implement
case CDOProtocolConstants.SIGNAL_LOAD_CHUNK:
return new LoadChunkIndication(this);
+ case CDOProtocolConstants.SIGNAL_QUERY_LOBS:
+ return new QueryLobsIndication(this);
+
+ case CDOProtocolConstants.SIGNAL_LOAD_LOB:
+ return new LoadLobIndication(this);
+
case CDOProtocolConstants.SIGNAL_COMMIT_TRANSACTION:
return new CommitTransactionIndication(this);
diff --git a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java
index b0d3c8325a..c6a694ce58 100644
--- a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java
+++ b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java
@@ -294,6 +294,7 @@ public class CommitTransactionIndication extends IndicationWithMonitoring
commitContext.setDetachedObjects(detachedObjects);
commitContext.setDetachedObjectTypes(detachedObjectTypes);
commitContext.setCommitComment(commitComment);
+ commitContext.setLobs(in);
}
finally
{
diff --git a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/LoadLobIndication.java b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/LoadLobIndication.java
new file mode 100644
index 0000000000..77bfc9d623
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/LoadLobIndication.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server.internal.net4j.protocol;
+
+import org.eclipse.emf.cdo.common.protocol.CDODataInput;
+import org.eclipse.emf.cdo.common.protocol.CDODataOutput;
+import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants;
+
+import java.io.IOException;
+
+/**
+ * @author Eike Stepper
+ */
+public class LoadLobIndication extends CDOReadIndication
+{
+ private byte[] id;
+
+ public LoadLobIndication(CDOServerProtocol protocol)
+ {
+ super(protocol, CDOProtocolConstants.SIGNAL_LOAD_LOB);
+ }
+
+ @Override
+ protected void indicating(CDODataInput in) throws IOException
+ {
+ id = in.readByteArray();
+ }
+
+ @Override
+ protected void responding(CDODataOutput out) throws IOException
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/QueryLobsIndication.java b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/QueryLobsIndication.java
new file mode 100644
index 0000000000..484528b664
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/QueryLobsIndication.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server.internal.net4j.protocol;
+
+import org.eclipse.emf.cdo.common.protocol.CDODataInput;
+import org.eclipse.emf.cdo.common.protocol.CDODataOutput;
+import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eike Stepper
+ */
+public class QueryLobsIndication extends CDOReadIndication
+{
+ private List<byte[]> ids = new ArrayList<byte[]>();
+
+ public QueryLobsIndication(CDOServerProtocol protocol)
+ {
+ super(protocol, CDOProtocolConstants.SIGNAL_QUERY_LOBS);
+ }
+
+ @Override
+ protected void indicating(CDODataInput in) throws IOException
+ {
+ int size = in.readInt();
+ for (int i = 0; i < size; i++)
+ {
+ ids.add(in.readByteArray());
+ }
+ }
+
+ @Override
+ protected void responding(CDODataOutput out) throws IOException
+ {
+ getRepository().queryLobs(ids);
+ out.writeInt(ids.size());
+ for (byte[] id : ids)
+ {
+ out.writeByteArray(id);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/ObjectivityStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/ObjectivityStoreAccessor.java
index ab61ce12dd..cb7e40f29f 100644
--- a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/ObjectivityStoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/ObjectivityStoreAccessor.java
@@ -77,6 +77,8 @@ import com.objy.db.app.ooId;
import com.objy.db.app.ooObj;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
@@ -1240,4 +1242,20 @@ public class ObjectivityStoreAccessor extends StoreAccessor implements IObjectiv
throw new UnsupportedOperationException();
}
+ public void queryLobs(List<byte[]> ids)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void writeBlob(byte[] id, long size, InputStream inputStream) throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void writeClob(byte[] id, long size, Reader reader) throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java
index 97fc58b404..40230b0dc9 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java
@@ -1238,6 +1238,12 @@ public class Repository extends Container<Object> implements InternalRepository
return revision;
}
+ public void queryLobs(List<byte[]> ids)
+ {
+ IStoreAccessor accessor = StoreThreadLocal.getAccessor();
+ accessor.queryLobs(ids);
+ }
+
@Override
public String toString()
{
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContext.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContext.java
index b00dac90bc..da23556986 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContext.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContext.java
@@ -24,6 +24,7 @@ import org.eclipse.emf.cdo.common.id.CDOIDTemp;
import org.eclipse.emf.cdo.common.id.CDOIDUtil;
import org.eclipse.emf.cdo.common.model.CDOModelUtil;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
+import org.eclipse.emf.cdo.common.protocol.CDODataInput;
import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster;
import org.eclipse.emf.cdo.common.revision.CDORevision;
import org.eclipse.emf.cdo.common.revision.CDORevisionKey;
@@ -138,6 +139,8 @@ public class TransactionCommitContext implements InternalCommitContext
private boolean autoReleaseLocksEnabled;
+ private CDODataInput lobs;
+
public TransactionCommitContext(InternalTransaction transaction)
{
this.transaction = transaction;
@@ -362,6 +365,16 @@ public class TransactionCommitContext implements InternalCommitContext
this.commitComment = commitComment;
}
+ public CDODataInput getLobs()
+ {
+ return lobs;
+ }
+
+ public void setLobs(CDODataInput in)
+ {
+ lobs = in;
+ }
+
/**
* @since 2.0
*/
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/embedded/EmbeddedClientSessionProtocol.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/embedded/EmbeddedClientSessionProtocol.java
index 3d27598638..56c70f1e1c 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/embedded/EmbeddedClientSessionProtocol.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/embedded/EmbeddedClientSessionProtocol.java
@@ -24,6 +24,7 @@ import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDAndVersion;
import org.eclipse.emf.cdo.common.id.CDOIDProvider;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.protocol.CDOAuthenticationResult;
import org.eclipse.emf.cdo.common.protocol.CDOAuthenticator;
import org.eclipse.emf.cdo.common.revision.CDORevisionKey;
@@ -312,8 +313,14 @@ public class EmbeddedClientSessionProtocol extends Lifecycle implements CDOSessi
throw new UnsupportedOperationException();
}
+ public List<byte[]> queryLobs(Set<byte[]> ids)
+ {
+ // TODO: implement EmbeddedClientSessionProtocol.queryLobs(ids)
+ throw new UnsupportedOperationException();
+ }
+
public CommitTransactionResult commitTransaction(int transactionID, String comment, boolean releaseLocks,
- CDOIDProvider idProvider, CDOCommitData commitData, OMMonitor monitor)
+ CDOIDProvider idProvider, CDOCommitData commitData, Collection<CDOLob<?, ?>> lobs, OMMonitor monitor)
{
monitor.begin(2);
boolean success = false;
@@ -380,7 +387,7 @@ public class EmbeddedClientSessionProtocol extends Lifecycle implements CDOSessi
}
public CommitTransactionResult commitDelegation(CDOBranch branch, String userID, String comment,
- CDOCommitData commitData, Map<CDOID, EClass> detachedObjectTypes, OMMonitor monitor)
+ CDOCommitData commitData, Map<CDOID, EClass> detachedObjectTypes, Collection<CDOLob<?, ?>> lobs, OMMonitor monitor)
{
throw new UnsupportedOperationException();
}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/mem/MEMStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/mem/MEMStoreAccessor.java
index 72ae79a532..da5542b440 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/mem/MEMStoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/mem/MEMStoreAccessor.java
@@ -42,6 +42,8 @@ import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EStructuralFeature;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -353,6 +355,26 @@ public class MEMStoreAccessor extends LongIDStoreAccessor
throw new UnsupportedOperationException();
}
+ public void queryLobs(List<byte[]> ids)
+ {
+ // TODO: implement MEMStoreAccessor.queryLobs(ids)
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void writeBlob(byte[] id, long size, InputStream inputStream) throws IOException
+ {
+ // TODO: implement MEMStoreAccessor.writeBlob(id, size, in)
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void writeClob(byte[] id, long size, Reader reader) throws IOException
+ {
+ // TODO: implement MEMStoreAccessor.writeClob(id, size, reader)
+ throw new UnsupportedOperationException();
+ }
+
@Override
protected void doActivate() throws Exception
{
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/SynchronizableRepository.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/SynchronizableRepository.java
index c3bb10ede7..48bfa706a8 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/SynchronizableRepository.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/SynchronizableRepository.java
@@ -21,6 +21,7 @@ import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDAndVersion;
import org.eclipse.emf.cdo.common.model.CDOPackageInfo;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.protocol.CDODataInput;
import org.eclipse.emf.cdo.common.revision.CDORevision;
import org.eclipse.emf.cdo.common.revision.CDORevisionKey;
@@ -52,6 +53,7 @@ import org.eclipse.emf.spi.cdo.CDOSessionProtocol.CommitTransactionResult;
import java.io.IOException;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -501,11 +503,12 @@ public abstract class SynchronizableRepository extends Repository.Default implem
String userID = getUserID();
String comment = getCommitComment();
CDOCommitData commitData = new CommitContextData(this);
+ Collection<CDOLob<?, ?>> lobs = Collections.emptySet();
// Delegate commit to the master
CDOSessionProtocol sessionProtocol = getSynchronizer().getRemoteSession().getSessionProtocol();
CommitTransactionResult result = sessionProtocol.commitDelegation(branch, userID, comment, commitData,
- getDetachedObjectTypes(), monitor);
+ getDetachedObjectTypes(), lobs, monitor);
// Stop if commit to master failed
String rollbackMessage = result.getRollbackMessage();
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreAccessor.java
index 7e1678d7c3..75ddbf29e8 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreAccessor.java
@@ -15,6 +15,9 @@ import org.eclipse.emf.cdo.common.branch.CDOBranchPoint;
import org.eclipse.emf.cdo.common.branch.CDOBranchVersion;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDMetaRange;
+import org.eclipse.emf.cdo.common.model.lob.CDOBlob;
+import org.eclipse.emf.cdo.common.model.lob.CDOClob;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.protocol.CDODataInput;
import org.eclipse.emf.cdo.common.protocol.CDODataOutput;
import org.eclipse.emf.cdo.common.revision.CDORevisionHandler;
@@ -31,6 +34,7 @@ import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionDelta;
import org.eclipse.emf.cdo.spi.server.InternalCommitContext;
import org.eclipse.emf.cdo.spi.server.InternalSession;
+import org.eclipse.net4j.util.io.IOUtil;
import org.eclipse.net4j.util.om.monitor.OMMonitor;
import org.eclipse.emf.ecore.EClass;
@@ -153,6 +157,11 @@ public interface IStoreAccessor extends IQueryHandlerProvider, BranchLoader, Com
public void queryXRefs(QueryXRefsContext context);
/**
+ * @since 4.0
+ */
+ public void queryLobs(List<byte[]> ids);
+
+ /**
* @since 2.0
*/
public void writePackageUnits(InternalCDOPackageUnit[] packageUnits, OMMonitor monitor);
@@ -299,6 +308,29 @@ public interface IStoreAccessor extends IQueryHandlerProvider, BranchLoader, Com
public Map<CDOID, EClass> getDetachedObjectTypes();
/**
+ * Returns a stream that all {@link CDOLob lobs} can be read from. The format of the data delivered through the
+ * stream is:
+ * <p>
+ * <ol>
+ * <li> {@link CDODataInput#readInt() int}: the number of lobs to be read from the stream.
+ * <li>The following data can be read from the stream in a loop with one iteration per lob in the stream:
+ * <ol>
+ * <li> {@link CDODataInput#readByteArray() int + byte[]}: the id of the lob (prepended by the size of the id).
+ * <li> {@link CDODataInput#readLong() long}: the size of the lob. The foollowing interpretation applies:
+ * <ul>
+ * <li>A positive size indicates a {@link CDOBlob blob} and means the number of bytes that can be
+ * {@link IOUtil#copyBinary(java.io.InputStream, java.io.OutputStream) read}.
+ * <li>A negative size indicates a {@link CDOClob clob} and means the number of characters that can be
+ * {@link IOUtil#copyCharacter(java.io.InputStream, java.io.Writer) read}.
+ * </ul>
+ * </ol>
+ * </ol>
+ *
+ * @since 4.0
+ */
+ public CDODataInput getLobs();
+
+ /**
* Returns an unmodifiable map from all temporary IDs (meta or not) to their persistent counter parts. It is
* initially populated with the mappings of all new <b>meta</b> objects.
*/
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalCommitContext.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalCommitContext.java
index 03ede81086..dec1e06798 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalCommitContext.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalCommitContext.java
@@ -11,6 +11,7 @@
package org.eclipse.emf.cdo.spi.server;
import org.eclipse.emf.cdo.common.id.CDOID;
+import org.eclipse.emf.cdo.common.protocol.CDODataInput;
import org.eclipse.emf.cdo.server.IStoreAccessor;
import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageUnit;
import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision;
@@ -84,6 +85,11 @@ public interface InternalCommitContext extends IStoreAccessor.CommitContext
public void setCommitComment(String comment);
+ /**
+ * @since 4.0
+ */
+ public void setLobs(CDODataInput in);
+
public void addIDMapping(CDOID oldID, CDOID newID);
public void applyIDMappings(OMMonitor monitor);
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalRepository.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalRepository.java
index 2175efb85b..941fead6c1 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalRepository.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalRepository.java
@@ -114,4 +114,9 @@ public interface InternalRepository extends IRepository, PackageLoader, BranchLo
public Set<CDOID> getMergeData(CDORevisionAvailabilityInfo ancestorInfo, CDORevisionAvailabilityInfo targetInfo,
CDORevisionAvailabilityInfo sourceInfo);
+
+ /**
+ * @since 4.0
+ */
+ public void queryLobs(List<byte[]> ids);
}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/StoreAccessor.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/StoreAccessor.java
index 33ff8c306f..05aaa2f952 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/StoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/StoreAccessor.java
@@ -20,6 +20,7 @@ import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDAndVersion;
import org.eclipse.emf.cdo.common.id.CDOIDTemp;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
+import org.eclipse.emf.cdo.common.protocol.CDODataInput;
import org.eclipse.emf.cdo.common.revision.CDORevision;
import org.eclipse.emf.cdo.common.revision.CDORevisionHandler;
import org.eclipse.emf.cdo.common.revision.CDORevisionKey;
@@ -37,10 +38,15 @@ import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision;
import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionDelta;
import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionManager;
+import org.eclipse.net4j.util.WrappedException;
import org.eclipse.net4j.util.lifecycle.Lifecycle;
import org.eclipse.net4j.util.om.monitor.OMMonitor;
import org.eclipse.net4j.util.om.trace.ContextTracer;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
@@ -191,6 +197,32 @@ public abstract class StoreAccessor extends Lifecycle implements IStoreAccessor
writeRevisions(context.getDirtyObjects(), branch, monitor.fork(dirtyCount));
}
}
+
+ CDODataInput in = context.getLobs();
+ if (in != null)
+ {
+ try
+ {
+ int count = in.readInt();
+ for (int i = 0; i < count; i++)
+ {
+ byte[] id = in.readByteArray();
+ long size = in.readLong();
+ if (size > 0)
+ {
+ writeBlob(id, size, (InputStream)in);
+ }
+ else
+ {
+ writeClob(id, -size, new InputStreamReader((InputStream)in));
+ }
+ }
+ }
+ catch (IOException ex)
+ {
+ throw WrappedException.wrap(ex);
+ }
+ }
}
finally
{
@@ -295,6 +327,16 @@ public abstract class StoreAccessor extends Lifecycle implements IStoreAccessor
*/
protected abstract void detachObjects(CDOID[] detachedObjects, CDOBranch branch, long timeStamp, OMMonitor monitor);
+ /**
+ * @since 4.0
+ */
+ protected abstract void writeBlob(byte[] id, long size, InputStream inputStream) throws IOException;
+
+ /**
+ * @since 4.0
+ */
+ protected abstract void writeClob(byte[] id, long size, Reader reader) throws IOException;
+
@Override
protected abstract void doActivate() throws Exception;
diff --git a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBConfigs.java b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBConfigs.java
index 5b9ca965fa..b098fa0f0a 100644
--- a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBConfigs.java
+++ b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBConfigs.java
@@ -18,6 +18,7 @@ import org.eclipse.emf.cdo.tests.BranchingTest;
import org.eclipse.emf.cdo.tests.BranchingTestSameSession;
import org.eclipse.emf.cdo.tests.ExternalReferenceTest;
import org.eclipse.emf.cdo.tests.FeatureMapTest;
+import org.eclipse.emf.cdo.tests.LobTest;
import org.eclipse.emf.cdo.tests.MEMStoreQueryTest;
import org.eclipse.emf.cdo.tests.MergingTest;
import org.eclipse.emf.cdo.tests.XATransactionTest;
@@ -37,6 +38,7 @@ public abstract class DBConfigs extends AllConfigs
@Override
protected void initTestClasses(List<Class<? extends ConfigTest>> testClasses)
{
+ testClasses.add(LobTest.class);
testClasses.add(Net4jDBTest.class);
testClasses.add(DBAnnotationsTest.class);
testClasses.add(DBStoreTest.class);
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/model/model3-legacy.genmodel b/plugins/org.eclipse.emf.cdo.tests.model3/model/model3-legacy.genmodel
new file mode 100644
index 0000000000..a7efe273a8
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/model/model3-legacy.genmodel
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; Eike Stepper - initial API and implementation"
+ modelDirectory="/org.eclipse.emf.cdo.tests.model3/src" editDirectory="" editorDirectory=""
+ modelPluginID="org.eclipse.emf.cdo.tests.model3" modelName="Model3" updateClasspath="false"
+ codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.emf.cdo/model/etypes.genmodel#//etypes">
+ <foreignModel>model3.ecore</foreignModel>
+ <modelPluginVariables>CDO=org.eclipse.emf.cdo</modelPluginVariables>
+ <genPackages prefix="Model3" basePackage="org.eclipse.emf.cdo.tests.legacy" disposableProviderFactory="true"
+ ecorePackage="model3.ecore#/">
+ <genDataTypes ecoreDataType="model3.ecore#//Point"/>
+ <genClasses ecoreClass="model3.ecore#//Class1">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//Class1/class2"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//MetaRef">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//MetaRef/ePackageRef"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//Polygon">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//Polygon/points"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//PolygonWithDuplicates">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//PolygonWithDuplicates/points"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//NodeA">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model3.ecore#//NodeA/children"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//NodeA/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//NodeA/otherNodes"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//NodeB">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model3.ecore#//NodeB/children"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference model3.ecore#//NodeB/parent"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//NodeB/name"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//NodeC">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model3.ecore#//NodeC/children"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference model3.ecore#//NodeC/parent"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//NodeC/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//NodeC/otherNodes"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//NodeC/oppositeNodes"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//NodeD">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model3.ecore#//NodeD/children"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference model3.ecore#//NodeD/parent"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//NodeD/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//NodeD/otherNodes"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//NodeD/oppositeNode"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//Image">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//Image/width"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//Image/height"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//Image/data"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//File">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//File/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//File/data"/>
+ </genClasses>
+ <nestedGenPackages prefix="Subpackage" basePackage="org.eclipse.emf.cdo.tests.legacy.model3"
+ disposableProviderFactory="true" ecorePackage="model3.ecore#//subpackage">
+ <genClasses ecoreClass="model3.ecore#//subpackage/Class2">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference model3.ecore#//subpackage/Class2/class1"/>
+ </genClasses>
+ </nestedGenPackages>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore b/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore
index 0fc468f2f6..93df85d14f 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.ecore
@@ -55,6 +55,15 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="oppositeNode" eType="#//NodeD"
eOpposite="#//NodeD/otherNodes"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Image">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="height" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="data" eType="ecore:EDataType ../../org.eclipse.emf.cdo/model/etypes.ecore#//Blob"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="File">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="data" eType="ecore:EDataType ../../org.eclipse.emf.cdo/model/etypes.ecore#//Clob"/>
+ </eClassifiers>
<eSubpackages name="subpackage" nsURI="http://www.eclipse.org/emf/CDO/tests/subpackage/1.0.0"
nsPrefix="subpackage">
<eClassifiers xsi:type="ecore:EClass" name="Class2">
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.genmodel b/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.genmodel
index ce55e35c5f..b2e4808898 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.genmodel
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.genmodel
@@ -5,19 +5,54 @@
modelDirectory="/org.eclipse.emf.cdo.tests.model3/src" editDirectory="" editorDirectory=""
modelPluginID="org.eclipse.emf.cdo.tests.model3" modelName="Model3" updateClasspath="false"
rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl" reflectiveDelegation="true"
- codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.cdo"
- featureDelegation="Reflective" complianceLevel="5.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
+ codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.ecore"
+ featureDelegation="Reflective" complianceLevel="5.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.emf.cdo/model/etypes.genmodel#//etypes">
<foreignModel>model3.ecore</foreignModel>
<modelPluginVariables>CDO=org.eclipse.emf.cdo</modelPluginVariables>
<genPackages prefix="Model3" basePackage="org.eclipse.emf.cdo.tests" disposableProviderFactory="true"
ecorePackage="model3.ecore#/">
+ <genDataTypes ecoreDataType="model3.ecore#//Point"/>
<genClasses ecoreClass="model3.ecore#//Class1">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//Class1/class2"/>
</genClasses>
<genClasses ecoreClass="model3.ecore#//MetaRef">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//MetaRef/ePackageRef"/>
</genClasses>
- <nestedGenPackages prefix="Subpackage" disposableProviderFactory="true" ecorePackage="model3.ecore#//subpackage">
+ <genClasses ecoreClass="model3.ecore#//Polygon">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//Polygon/points"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//PolygonWithDuplicates">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//PolygonWithDuplicates/points"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//NodeA">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model3.ecore#//NodeA/children"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//NodeA/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//NodeA/otherNodes"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//NodeB">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model3.ecore#//NodeB/children"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference model3.ecore#//NodeB/parent"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//NodeB/name"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//NodeC">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model3.ecore#//NodeC/children"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference model3.ecore#//NodeC/parent"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//NodeC/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//NodeC/otherNodes"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//NodeC/oppositeNodes"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//NodeD">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model3.ecore#//NodeD/children"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference model3.ecore#//NodeD/parent"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//NodeD/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//NodeD/otherNodes"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//NodeD/oppositeNode"/>
+ </genClasses>
+ <genClasses ecoreClass="model3.ecore#//Image">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model3.ecore#//Image/data"/>
+ </genClasses>
+ <nestedGenPackages prefix="Subpackage" basePackage="org.eclipse.emf.cdo.tests.model3"
+ disposableProviderFactory="true" ecorePackage="model3.ecore#//subpackage">
<genClasses ecoreClass="model3.ecore#//subpackage/Class2">
<genFeatures notify="false" createChild="false" propertySortChoices="true"
ecoreFeature="ecore:EReference model3.ecore#//subpackage/Class2/class1"/>
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.legacy-genmodel b/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.legacy-genmodel
deleted file mode 100644
index c5118bbbc6..0000000000
--- a/plugins/org.eclipse.emf.cdo.tests.model3/model/model3.legacy-genmodel
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; Eike Stepper - initial API and implementation"
- modelDirectory="/org.eclipse.emf.cdo.tests.model3/src" editDirectory="" editorDirectory=""
- modelPluginID="org.eclipse.emf.cdo.tests.model3" modelName="Model3" updateClasspath="false"
- codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.cdo"
- complianceLevel="5.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
- <foreignModel>model3.ecore</foreignModel>
- <modelPluginVariables>CDO=org.eclipse.emf.cdo</modelPluginVariables>
- <genPackages prefix="Model3" basePackage="org.eclipse.emf.cdo.tests.legacy" disposableProviderFactory="true"
- ecorePackage="model3.ecore#/">
- <genClasses ecoreClass="model3.ecore#//Class1">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//Class1/class2"/>
- </genClasses>
- <genClasses ecoreClass="model3.ecore#//MetaRef">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model3.ecore#//MetaRef/ePackageRef"/>
- </genClasses>
- <nestedGenPackages prefix="Subpackage" disposableProviderFactory="true" ecorePackage="model3.ecore#//subpackage">
- <genClasses ecoreClass="model3.ecore#//subpackage/Class2">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference model3.ecore#//subpackage/Class2/class1"/>
- </genClasses>
- </nestedGenPackages>
- </genPackages>
-</genmodel:GenModel>
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Factory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Factory.java
index 5913fe31a2..4d3c6b02bb 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Factory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Factory.java
@@ -11,6 +11,8 @@
package org.eclipse.emf.cdo.tests.legacy.model3;
import org.eclipse.emf.cdo.tests.model3.Class1;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.tests.model3.Image;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
@@ -100,6 +102,22 @@ public interface Model3Factory extends org.eclipse.emf.cdo.tests.model3.Model3Fa
NodeD createNodeD();
/**
+ * Returns a new object of class '<em>Image</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Image</em>'.
+ * @generated
+ */
+ Image createImage();
+
+ /**
+ * Returns a new object of class '<em>File</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>File</em>'.
+ * @generated
+ */
+ File createFile();
+
+ /**
* Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the package supported by this factory.
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Package.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Package.java
index 1640dad4ef..a2229a26f0 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Package.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/Model3Package.java
@@ -24,7 +24,6 @@ import org.eclipse.emf.ecore.EReference;
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.legacy.model3.Model3Factory
* @model kind="package"
* @generated
@@ -32,8 +31,8 @@ import org.eclipse.emf.ecore.EReference;
public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Package
{
/**
- * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
String eNAME = "model3";
@@ -46,15 +45,15 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
String eNS_URI = "http://www.eclipse.org/emf/CDO/tests/legacy/model3/1.0.0";
/**
- * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
String eNS_PREFIX = "model3";
/**
- * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
Model3Package eINSTANCE = org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl.init();
@@ -62,7 +61,6 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.Class1Impl <em>Class1</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Class1Impl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getClass1()
* @generated
@@ -70,25 +68,24 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int CLASS1 = 0;
/**
- * The feature id for the '<em><b>Class2</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Class2</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int CLASS1__CLASS2 = 0;
/**
- * The number of structural features of the '<em>Class1</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Class1</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int CLASS1_FEATURE_COUNT = 1;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.MetaRefImpl <em>Meta Ref</em>}'
- * class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.MetaRefImpl <em>Meta Ref</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.MetaRefImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getMetaRef()
* @generated
@@ -96,25 +93,24 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int META_REF = 1;
/**
- * The feature id for the '<em><b>EPackage Ref</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>EPackage Ref</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int META_REF__EPACKAGE_REF = 0;
/**
- * The number of structural features of the '<em>Meta Ref</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Meta Ref</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int META_REF_FEATURE_COUNT = 1;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonImpl <em>Polygon</em>}'
- * class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonImpl <em>Polygon</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getPolygon()
* @generated
@@ -122,25 +118,24 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int POLYGON = 2;
/**
- * The feature id for the '<em><b>Points</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Points</b></em>' attribute list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int POLYGON__POINTS = 0;
/**
- * The number of structural features of the '<em>Polygon</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Polygon</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int POLYGON_FEATURE_COUNT = 1;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonWithDuplicatesImpl
- * <em>Polygon With Duplicates</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonWithDuplicatesImpl <em>Polygon With Duplicates</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonWithDuplicatesImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getPolygonWithDuplicates()
* @generated
@@ -148,17 +143,17 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int POLYGON_WITH_DUPLICATES = 3;
/**
- * The feature id for the '<em><b>Points</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Points</b></em>' attribute list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int POLYGON_WITH_DUPLICATES__POINTS = 0;
/**
- * The number of structural features of the '<em>Polygon With Duplicates</em>' class. <!-- begin-user-doc --> <!--
+ * The number of structural features of the '<em>Polygon With Duplicates</em>' class.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
* @ordered
*/
@@ -167,7 +162,6 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl <em>Node A</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeA()
* @generated
@@ -175,33 +169,33 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int NODE_A = 4;
/**
- * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
* @ordered
*/
int NODE_A__CHILDREN = 0;
/**
- * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_A__NAME = 1;
/**
- * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_A__OTHER_NODES = 2;
/**
- * The number of structural features of the '<em>Node A</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Node A</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -210,7 +204,6 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl <em>Node B</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeB()
* @generated
@@ -218,33 +211,33 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int NODE_B = 5;
/**
- * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
* @ordered
*/
int NODE_B__CHILDREN = 0;
/**
- * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_B__PARENT = 1;
/**
- * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_B__NAME = 2;
/**
- * The number of structural features of the '<em>Node B</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Node B</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -253,7 +246,6 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl <em>Node C</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeC()
* @generated
@@ -261,33 +253,33 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int NODE_C = 6;
/**
- * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
* @ordered
*/
int NODE_C__CHILDREN = 0;
/**
- * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_C__PARENT = 1;
/**
- * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_C__NAME = 2;
/**
- * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -303,8 +295,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int NODE_C__OPPOSITE_NODES = 4;
/**
- * The number of structural features of the '<em>Node C</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Node C</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -313,7 +305,6 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl <em>Node D</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeD()
* @generated
@@ -321,62 +312,145 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
int NODE_D = 7;
/**
- * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
* @ordered
*/
int NODE_D__CHILDREN = 0;
/**
- * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_D__PARENT = 1;
/**
- * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_D__NAME = 2;
/**
- * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_D__OTHER_NODES = 3;
/**
- * The feature id for the '<em><b>Opposite Node</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Opposite Node</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_D__OPPOSITE_NODE = 4;
/**
- * The number of structural features of the '<em>Node D</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Node D</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_D_FEATURE_COUNT = 5;
/**
- * The meta object id for the '<em>Point</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.ImageImpl <em>Image</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.ImageImpl
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getImage()
+ * @generated
+ */
+ int IMAGE = 8;
+
+ /**
+ * The feature id for the '<em><b>Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__WIDTH = 0;
+
+ /**
+ * The feature id for the '<em><b>Height</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__HEIGHT = 1;
+
+ /**
+ * The feature id for the '<em><b>Data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__DATA = 2;
+
+ /**
+ * The number of structural features of the '<em>Image</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.FileImpl <em>File</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.FileImpl
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getFile()
+ * @generated
+ */
+ int FILE = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILE__DATA = 1;
+
+ /**
+ * The number of structural features of the '<em>File</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '<em>Point</em>' data type.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.model3.Point
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getPoint()
* @generated
*/
- int POINT = 8;
+ int POINT = 10;
/**
* Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.Class1 <em>Class1</em>}'. <!--
@@ -389,9 +463,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass getClass1();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.Class1#getClass2
- * <em>Class2</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.Class1#getClass2 <em>Class2</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference list '<em>Class2</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.Class1#getClass2()
* @see #getClass1()
@@ -410,9 +483,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass getMetaRef();
/**
- * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.legacy.model3.MetaRef#getEPackageRef
- * <em>EPackage Ref</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.legacy.model3.MetaRef#getEPackageRef <em>EPackage Ref</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference '<em>EPackage Ref</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.MetaRef#getEPackageRef()
* @see #getMetaRef()
@@ -431,9 +503,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass getPolygon();
/**
- * Returns the meta object for the attribute list '{@link org.eclipse.emf.cdo.tests.legacy.model3.Polygon#getPoints
- * <em>Points</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.cdo.tests.legacy.model3.Polygon#getPoints <em>Points</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the attribute list '<em>Points</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.Polygon#getPoints()
* @see #getPolygon()
@@ -442,9 +513,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EAttribute getPolygon_Points();
/**
- * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.PolygonWithDuplicates
- * <em>Polygon With Duplicates</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.PolygonWithDuplicates <em>Polygon With Duplicates</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for class '<em>Polygon With Duplicates</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.PolygonWithDuplicates
* @generated
@@ -474,10 +544,9 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass getNodeA();
/**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the containment reference list '<em>Children</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getChildren()
* @see #getNodeA()
@@ -486,9 +555,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference getNodeA_Children();
/**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getName
- * <em>Name</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the attribute '<em>Name</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getName()
* @see #getNodeA()
@@ -497,9 +565,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EAttribute getNodeA_Name();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getOtherNodes
- * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getOtherNodes <em>Other Nodes</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference list '<em>Other Nodes</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeA#getOtherNodes()
* @see #getNodeA()
@@ -518,10 +585,9 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass getNodeB();
/**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the containment reference list '<em>Children</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeB#getChildren()
* @see #getNodeB()
@@ -530,10 +596,9 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference getNodeB_Children();
/**
- * Returns the meta object for the container reference '
- * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB#getParent <em>Parent</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the container reference '<em>Parent</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeB#getParent()
* @see #getNodeB()
@@ -542,9 +607,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference getNodeB_Parent();
/**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB#getName
- * <em>Name</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeB#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the attribute '<em>Name</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeB#getName()
* @see #getNodeB()
@@ -563,10 +627,9 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass getNodeC();
/**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the containment reference list '<em>Children</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getChildren()
* @see #getNodeC()
@@ -575,10 +638,9 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference getNodeC_Children();
/**
- * Returns the meta object for the container reference '
- * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getParent <em>Parent</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the container reference '<em>Parent</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getParent()
* @see #getNodeC()
@@ -587,9 +649,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference getNodeC_Parent();
/**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getName
- * <em>Name</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the attribute '<em>Name</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getName()
* @see #getNodeC()
@@ -598,9 +659,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EAttribute getNodeC_Name();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getOtherNodes
- * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getOtherNodes <em>Other Nodes</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference list '<em>Other Nodes</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeC#getOtherNodes()
* @see #getNodeC()
@@ -631,10 +691,9 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass getNodeD();
/**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the containment reference list '<em>Children</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getChildren()
* @see #getNodeD()
@@ -643,10 +702,9 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference getNodeD_Children();
/**
- * Returns the meta object for the container reference '
- * {@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getParent <em>Parent</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the container reference '<em>Parent</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getParent()
* @see #getNodeD()
@@ -655,9 +713,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference getNodeD_Parent();
/**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getName
- * <em>Name</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the attribute '<em>Name</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getName()
* @see #getNodeD()
@@ -666,9 +723,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EAttribute getNodeD_Name();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getOtherNodes
- * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getOtherNodes <em>Other Nodes</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference list '<em>Other Nodes</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getOtherNodes()
* @see #getNodeD()
@@ -677,9 +733,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference getNodeD_OtherNodes();
/**
- * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getOppositeNode
- * <em>Opposite Node</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getOppositeNode <em>Opposite Node</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference '<em>Opposite Node</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.NodeD#getOppositeNode()
* @see #getNodeD()
@@ -688,6 +743,81 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference getNodeD_OppositeNode();
/**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.Image <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Image</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.Image
+ * @generated
+ */
+ EClass getImage();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.Image#getWidth <em>Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Width</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.Image#getWidth()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Width();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.Image#getHeight <em>Height</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Height</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.Image#getHeight()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Height();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.Image#getData <em>Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Data</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.Image#getData()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Data();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.File <em>File</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>File</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.File
+ * @generated
+ */
+ EClass getFile();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.File#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.File#getName()
+ * @see #getFile()
+ * @generated
+ */
+ EAttribute getFile_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.legacy.model3.File#getData <em>Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Data</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.File#getData()
+ * @see #getFile()
+ * @generated
+ */
+ EAttribute getFile_Data();
+
+ /**
* Returns the meta object for data type '{@link org.eclipse.emf.cdo.tests.model3.Point <em>Point</em>}'. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
@@ -699,8 +829,8 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EDataType getPoint();
/**
- * Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the factory that creates the instances of the model.
* @generated
*/
@@ -715,15 +845,13 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
* @generated
*/
interface Literals
{
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.Class1Impl <em>Class1</em>}'
- * class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.Class1Impl <em>Class1</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Class1Impl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getClass1()
* @generated
@@ -731,17 +859,16 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass CLASS1 = eINSTANCE.getClass1();
/**
- * The meta object literal for the '<em><b>Class2</b></em>' reference list feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Class2</b></em>' reference list feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EReference CLASS1__CLASS2 = eINSTANCE.getClass1_Class2();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.MetaRefImpl
- * <em>Meta Ref</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.MetaRefImpl <em>Meta Ref</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.MetaRefImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getMetaRef()
* @generated
@@ -749,17 +876,16 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass META_REF = eINSTANCE.getMetaRef();
/**
- * The meta object literal for the '<em><b>EPackage Ref</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>EPackage Ref</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EReference META_REF__EPACKAGE_REF = eINSTANCE.getMetaRef_EPackageRef();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonImpl
- * <em>Polygon</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonImpl <em>Polygon</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getPolygon()
* @generated
@@ -767,17 +893,16 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass POLYGON = eINSTANCE.getPolygon();
/**
- * The meta object literal for the '<em><b>Points</b></em>' attribute list feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Points</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute POLYGON__POINTS = eINSTANCE.getPolygon_Points();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonWithDuplicatesImpl
- * <em>Polygon With Duplicates</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonWithDuplicatesImpl <em>Polygon With Duplicates</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonWithDuplicatesImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getPolygonWithDuplicates()
* @generated
@@ -785,17 +910,16 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EClass POLYGON_WITH_DUPLICATES = eINSTANCE.getPolygonWithDuplicates();
/**
- * The meta object literal for the '<em><b>Points</b></em>' attribute list feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Points</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute POLYGON_WITH_DUPLICATES__POINTS = eINSTANCE.getPolygonWithDuplicates_Points();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl <em>Node A</em>}'
- * class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl <em>Node A</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeA()
* @generated
@@ -811,25 +935,24 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference NODE_A__CHILDREN = eINSTANCE.getNodeA_Children();
/**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute NODE_A__NAME = eINSTANCE.getNodeA_Name();
/**
- * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_A__OTHER_NODES = eINSTANCE.getNodeA_OtherNodes();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl <em>Node B</em>}'
- * class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl <em>Node B</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeB()
* @generated
@@ -845,25 +968,24 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference NODE_B__CHILDREN = eINSTANCE.getNodeB_Children();
/**
- * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_B__PARENT = eINSTANCE.getNodeB_Parent();
/**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute NODE_B__NAME = eINSTANCE.getNodeB_Name();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl <em>Node C</em>}'
- * class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl <em>Node C</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeC()
* @generated
@@ -879,41 +1001,40 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference NODE_C__CHILDREN = eINSTANCE.getNodeC_Children();
/**
- * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_C__PARENT = eINSTANCE.getNodeC_Parent();
/**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute NODE_C__NAME = eINSTANCE.getNodeC_Name();
/**
- * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_C__OTHER_NODES = eINSTANCE.getNodeC_OtherNodes();
/**
- * The meta object literal for the '<em><b>Opposite Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Opposite Nodes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_C__OPPOSITE_NODES = eINSTANCE.getNodeC_OppositeNodes();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl <em>Node D</em>}'
- * class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl <em>Node D</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getNodeD()
* @generated
@@ -929,40 +1050,100 @@ public interface Model3Package extends org.eclipse.emf.cdo.tests.model3.Model3Pa
EReference NODE_D__CHILDREN = eINSTANCE.getNodeD_Children();
/**
- * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_D__PARENT = eINSTANCE.getNodeD_Parent();
/**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute NODE_D__NAME = eINSTANCE.getNodeD_Name();
/**
- * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_D__OTHER_NODES = eINSTANCE.getNodeD_OtherNodes();
/**
- * The meta object literal for the '<em><b>Opposite Node</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Opposite Node</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EReference NODE_D__OPPOSITE_NODE = eINSTANCE.getNodeD_OppositeNode();
/**
- * The meta object literal for the '<em>Point</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.ImageImpl <em>Image</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.ImageImpl
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getImage()
+ * @generated
+ */
+ EClass IMAGE = eINSTANCE.getImage();
+
+ /**
+ * The meta object literal for the '<em><b>Width</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__WIDTH = eINSTANCE.getImage_Width();
+
+ /**
+ * The meta object literal for the '<em><b>Height</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__HEIGHT = eINSTANCE.getImage_Height();
+
+ /**
+ * The meta object literal for the '<em><b>Data</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__DATA = eINSTANCE.getImage_Data();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.FileImpl <em>File</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.FileImpl
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getFile()
+ * @generated
+ */
+ EClass FILE = eINSTANCE.getFile();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FILE__NAME = eINSTANCE.getFile_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Data</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FILE__DATA = eINSTANCE.getFile_Data();
+
+ /**
+ * The meta object literal for the '<em>Point</em>' data type.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.model3.Point
* @see org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl#getPoint()
* @generated
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Class1Impl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Class1Impl.java
index 6837d39b32..679c7bdbb7 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Class1Impl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Class1Impl.java
@@ -30,18 +30,18 @@ import java.util.Collection;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.Class1Impl#getClass2 <em>Class2</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.Class1Impl#getClass2 <em>Class2</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class Class1Impl extends EObjectImpl implements Class1
{
/**
- * The cached value of the '{@link #getClass2() <em>Class2</em>}' reference list. <!-- begin-user-doc --> <!--
+ * The cached value of the '{@link #getClass2() <em>Class2</em>}' reference list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @see #getClass2()
* @generated
* @ordered
@@ -50,7 +50,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected Class1Impl()
@@ -60,7 +59,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -71,7 +69,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<Class2> getClass2()
@@ -86,7 +83,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void unsetClass2()
@@ -97,7 +93,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public boolean isSetClass2()
@@ -107,7 +102,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -124,7 +118,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -140,7 +133,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -156,7 +148,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -175,7 +166,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -192,7 +182,6 @@ public class Class1Impl extends EObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/FileImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/FileImpl.java
new file mode 100644
index 0000000000..7f4a9f236d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/FileImpl.java
@@ -0,0 +1,241 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.legacy.model3.impl;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOClob;
+import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package;
+import org.eclipse.emf.cdo.tests.model3.File;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>File</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.FileImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.FileImpl#getData <em>Data</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FileImpl extends EObjectImpl implements File
+{
+ /**
+ * 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_EDEFAULT = 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_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getData() <em>Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getData()
+ * @generated
+ * @ordered
+ */
+ protected static final CDOClob DATA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getData() <em>Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getData()
+ * @generated
+ * @ordered
+ */
+ protected CDOClob data = DATA_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FileImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return Model3Package.Literals.FILE;
+ }
+
+ /**
+ * <!-- 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;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, Model3Package.FILE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CDOClob getData()
+ {
+ return data;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setData(CDOClob newData)
+ {
+ CDOClob oldData = data;
+ data = newData;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, Model3Package.FILE__DATA, oldData, data));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case Model3Package.FILE__NAME:
+ return getName();
+ case Model3Package.FILE__DATA:
+ return getData();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case Model3Package.FILE__NAME:
+ setName((String)newValue);
+ return;
+ case Model3Package.FILE__DATA:
+ setData((CDOClob)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case Model3Package.FILE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case Model3Package.FILE__DATA:
+ setData(DATA_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case Model3Package.FILE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case Model3Package.FILE__DATA:
+ return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", data: ");
+ result.append(data);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FileImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/ImageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/ImageImpl.java
new file mode 100644
index 0000000000..0389d2e0f8
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/ImageImpl.java
@@ -0,0 +1,297 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.legacy.model3.impl;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOBlob;
+import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package;
+import org.eclipse.emf.cdo.tests.model3.Image;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Image</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.ImageImpl#getWidth <em>Width</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.ImageImpl#getHeight <em>Height</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.ImageImpl#getData <em>Data</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImageImpl extends EObjectImpl implements Image
+{
+ /**
+ * The default value of the '{@link #getWidth() <em>Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final int WIDTH_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getWidth() <em>Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected int width = WIDTH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHeight() <em>Height</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHeight()
+ * @generated
+ * @ordered
+ */
+ protected static final int HEIGHT_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getHeight() <em>Height</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHeight()
+ * @generated
+ * @ordered
+ */
+ protected int height = HEIGHT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getData() <em>Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getData()
+ * @generated
+ * @ordered
+ */
+ protected static final CDOBlob DATA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getData() <em>Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getData()
+ * @generated
+ * @ordered
+ */
+ protected CDOBlob data = DATA_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImageImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return Model3Package.Literals.IMAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getWidth()
+ {
+ return width;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWidth(int newWidth)
+ {
+ int oldWidth = width;
+ width = newWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, Model3Package.IMAGE__WIDTH, oldWidth, width));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getHeight()
+ {
+ return height;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHeight(int newHeight)
+ {
+ int oldHeight = height;
+ height = newHeight;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, Model3Package.IMAGE__HEIGHT, oldHeight, height));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CDOBlob getData()
+ {
+ return data;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setData(CDOBlob newData)
+ {
+ CDOBlob oldData = data;
+ data = newData;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, Model3Package.IMAGE__DATA, oldData, data));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case Model3Package.IMAGE__WIDTH:
+ return getWidth();
+ case Model3Package.IMAGE__HEIGHT:
+ return getHeight();
+ case Model3Package.IMAGE__DATA:
+ return getData();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case Model3Package.IMAGE__WIDTH:
+ setWidth((Integer)newValue);
+ return;
+ case Model3Package.IMAGE__HEIGHT:
+ setHeight((Integer)newValue);
+ return;
+ case Model3Package.IMAGE__DATA:
+ setData((CDOBlob)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case Model3Package.IMAGE__WIDTH:
+ setWidth(WIDTH_EDEFAULT);
+ return;
+ case Model3Package.IMAGE__HEIGHT:
+ setHeight(HEIGHT_EDEFAULT);
+ return;
+ case Model3Package.IMAGE__DATA:
+ setData(DATA_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case Model3Package.IMAGE__WIDTH:
+ return width != WIDTH_EDEFAULT;
+ case Model3Package.IMAGE__HEIGHT:
+ return height != HEIGHT_EDEFAULT;
+ case Model3Package.IMAGE__DATA:
+ return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (width: ");
+ result.append(width);
+ result.append(", height: ");
+ result.append(height);
+ result.append(", data: ");
+ result.append(data);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ImageImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/MetaRefImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/MetaRefImpl.java
index 34596e57e4..045ab7435e 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/MetaRefImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/MetaRefImpl.java
@@ -25,18 +25,18 @@ import org.eclipse.emf.ecore.impl.EObjectImpl;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.MetaRefImpl#getEPackageRef <em>EPackage Ref</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.MetaRefImpl#getEPackageRef <em>EPackage Ref</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class MetaRefImpl extends EObjectImpl implements MetaRef
{
/**
- * The cached value of the '{@link #getEPackageRef() <em>EPackage Ref</em>}' reference. <!-- begin-user-doc --> <!--
+ * The cached value of the '{@link #getEPackageRef() <em>EPackage Ref</em>}' reference.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @see #getEPackageRef()
* @generated
* @ordered
@@ -45,7 +45,6 @@ public class MetaRefImpl extends EObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected MetaRefImpl()
@@ -55,7 +54,6 @@ public class MetaRefImpl extends EObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -66,7 +64,6 @@ public class MetaRefImpl extends EObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EPackage getEPackageRef()
@@ -87,7 +84,6 @@ public class MetaRefImpl extends EObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EPackage basicGetEPackageRef()
@@ -97,7 +93,6 @@ public class MetaRefImpl extends EObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setEPackageRef(EPackage newEPackageRef)
@@ -111,7 +106,6 @@ public class MetaRefImpl extends EObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -129,7 +123,6 @@ public class MetaRefImpl extends EObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -146,7 +139,6 @@ public class MetaRefImpl extends EObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -163,7 +155,6 @@ public class MetaRefImpl extends EObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3FactoryImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3FactoryImpl.java
index a676eecaa9..453a900c02 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3FactoryImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3FactoryImpl.java
@@ -13,6 +13,8 @@ package org.eclipse.emf.cdo.tests.legacy.model3.impl;
import org.eclipse.emf.cdo.tests.legacy.model3.Model3Factory;
import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package;
import org.eclipse.emf.cdo.tests.model3.Class1;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.tests.model3.Image;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
@@ -95,6 +97,10 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
return createNodeC();
case Model3Package.NODE_D:
return createNodeD();
+ case Model3Package.IMAGE:
+ return createImage();
+ case Model3Package.FILE:
+ return createFile();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -225,6 +231,28 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
+ * @generated
+ */
+ public Image createImage()
+ {
+ ImageImpl image = new ImageImpl();
+ return image;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public File createFile()
+ {
+ FileImpl file = new FileImpl();
+ return file;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
* @generated NOT
*/
public Point createPointFromString(EDataType eDataType, String initialValue)
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3PackageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3PackageImpl.java
index 1540a1d8a2..a5895c773b 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3PackageImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/Model3PackageImpl.java
@@ -10,11 +10,14 @@
*/
package org.eclipse.emf.cdo.tests.legacy.model3.impl;
+import org.eclipse.emf.cdo.etypes.EtypesPackage;
import org.eclipse.emf.cdo.tests.legacy.model3.Model3Factory;
import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package;
import org.eclipse.emf.cdo.tests.legacy.model3.subpackage.SubpackagePackage;
import org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.SubpackagePackageImpl;
import org.eclipse.emf.cdo.tests.model3.Class1;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.tests.model3.Image;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
@@ -100,6 +103,20 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
*
* @generated
*/
+ private EClass imageEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass fileEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
private EDataType pointEDataType = null;
/**
@@ -142,7 +159,9 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
public static Model3Package init()
{
if (isInited)
+ {
return (Model3Package)EPackage.Registry.INSTANCE.getEPackage(Model3Package.eNS_URI);
+ }
// Obtain or create and register package
Model3PackageImpl theModel3Package = (Model3PackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof Model3PackageImpl ? EPackage.Registry.INSTANCE
@@ -152,6 +171,7 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
// Initialize simple dependencies
EcorePackage.eINSTANCE.eClass();
+ EtypesPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
SubpackagePackageImpl theSubpackagePackage = (SubpackagePackageImpl)(EPackage.Registry.INSTANCE
@@ -459,6 +479,76 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
*
* @generated
*/
+ public EClass getImage()
+ {
+ return imageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getImage_Width()
+ {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getImage_Height()
+ {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getImage_Data()
+ {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getFile()
+ {
+ return fileEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getFile_Name()
+ {
+ return (EAttribute)fileEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getFile_Data()
+ {
+ return (EAttribute)fileEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
public EDataType getPoint()
{
return pointEDataType;
@@ -490,7 +580,9 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
public void createPackageContents()
{
if (isCreated)
+ {
return;
+ }
isCreated = true;
// Create classes and their features
@@ -530,6 +622,15 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
createEReference(nodeDEClass, NODE_D__OTHER_NODES);
createEReference(nodeDEClass, NODE_D__OPPOSITE_NODE);
+ imageEClass = createEClass(IMAGE);
+ createEAttribute(imageEClass, IMAGE__WIDTH);
+ createEAttribute(imageEClass, IMAGE__HEIGHT);
+ createEAttribute(imageEClass, IMAGE__DATA);
+
+ fileEClass = createEClass(FILE);
+ createEAttribute(fileEClass, FILE__NAME);
+ createEAttribute(fileEClass, FILE__DATA);
+
// Create data types
pointEDataType = createEDataType(POINT);
}
@@ -550,7 +651,9 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
public void initializePackageContents()
{
if (isInitialized)
+ {
return;
+ }
isInitialized = true;
// Initialize package
@@ -562,6 +665,7 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
SubpackagePackage theSubpackagePackage = (SubpackagePackage)EPackage.Registry.INSTANCE
.getEPackage(SubpackagePackage.eNS_URI);
EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ EtypesPackage theEtypesPackage = (EtypesPackage)EPackage.Registry.INSTANCE.getEPackage(EtypesPackage.eNS_URI);
// Add subpackages
getESubpackages().add(theSubpackagePackage);
@@ -584,66 +688,79 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(polygonEClass, Polygon.class, "Polygon", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getPolygon_Points(), this.getPoint(), "points", null, 1, -1, Polygon.class, !IS_TRANSIENT,
- !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPolygon_Points(), getPoint(), "points", null, 1, -1, Polygon.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(polygonWithDuplicatesEClass, PolygonWithDuplicates.class, "PolygonWithDuplicates", !IS_ABSTRACT,
!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getPolygonWithDuplicates_Points(), this.getPoint(), "points", null, 1, -1,
- PolygonWithDuplicates.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE,
- !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPolygonWithDuplicates_Points(), getPoint(), "points", null, 1, -1, PolygonWithDuplicates.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(nodeAEClass, NodeA.class, "NodeA", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getNodeA_Children(), this.getNodeA(), null, "children", null, 0, -1, NodeA.class, !IS_TRANSIENT,
+ initEReference(getNodeA_Children(), getNodeA(), null, "children", null, 0, -1, NodeA.class, !IS_TRANSIENT,
!IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
IS_ORDERED);
initEAttribute(getNodeA_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeA.class, !IS_TRANSIENT,
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getNodeA_OtherNodes(), this.getNodeA(), null, "otherNodes", null, 0, -1, NodeA.class, !IS_TRANSIENT,
+ initEReference(getNodeA_OtherNodes(), getNodeA(), null, "otherNodes", null, 0, -1, NodeA.class, !IS_TRANSIENT,
!IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
IS_ORDERED);
initEClass(nodeBEClass, NodeB.class, "NodeB", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getNodeB_Children(), this.getNodeB(), this.getNodeB_Parent(), "children", null, 0, -1, NodeB.class,
+ initEReference(getNodeB_Children(), getNodeB(), getNodeB_Parent(), "children", null, 0, -1, NodeB.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
- initEReference(getNodeB_Parent(), this.getNodeB(), this.getNodeB_Children(), "parent", null, 0, 1, NodeB.class,
+ initEReference(getNodeB_Parent(), getNodeB(), getNodeB_Children(), "parent", null, 0, 1, NodeB.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
initEAttribute(getNodeB_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeB.class, !IS_TRANSIENT,
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(nodeCEClass, NodeC.class, "NodeC", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getNodeC_Children(), this.getNodeC(), this.getNodeC_Parent(), "children", null, 0, -1, NodeC.class,
+ initEReference(getNodeC_Children(), getNodeC(), getNodeC_Parent(), "children", null, 0, -1, NodeC.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
- initEReference(getNodeC_Parent(), this.getNodeC(), this.getNodeC_Children(), "parent", null, 0, 1, NodeC.class,
+ initEReference(getNodeC_Parent(), getNodeC(), getNodeC_Children(), "parent", null, 0, 1, NodeC.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
initEAttribute(getNodeC_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeC.class, !IS_TRANSIENT,
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getNodeC_OtherNodes(), this.getNodeC(), this.getNodeC_OppositeNodes(), "otherNodes", null, 0, -1,
- NodeC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
- IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getNodeC_OppositeNodes(), this.getNodeC(), this.getNodeC_OtherNodes(), "oppositeNodes", null, 0, -1,
+ initEReference(getNodeC_OtherNodes(), getNodeC(), getNodeC_OppositeNodes(), "otherNodes", null, 0, -1, NodeC.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeC_OppositeNodes(), getNodeC(), getNodeC_OtherNodes(), "oppositeNodes", null, 0, -1,
NodeC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(nodeDEClass, NodeD.class, "NodeD", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getNodeD_Children(), this.getNodeD(), this.getNodeD_Parent(), "children", null, 0, -1, NodeD.class,
+ initEReference(getNodeD_Children(), getNodeD(), getNodeD_Parent(), "children", null, 0, -1, NodeD.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
- initEReference(getNodeD_Parent(), this.getNodeD(), this.getNodeD_Children(), "parent", null, 0, 1, NodeD.class,
+ initEReference(getNodeD_Parent(), getNodeD(), getNodeD_Children(), "parent", null, 0, 1, NodeD.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
initEAttribute(getNodeD_Name(), theEcorePackage.getEString(), "name", null, 0, 1, NodeD.class, !IS_TRANSIENT,
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getNodeD_OtherNodes(), this.getNodeD(), this.getNodeD_OppositeNode(), "otherNodes", null, 0, -1,
- NodeD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
- IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getNodeD_OppositeNode(), this.getNodeD(), this.getNodeD_OtherNodes(), "oppositeNode", null, 0, 1,
- NodeD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
- IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeD_OtherNodes(), getNodeD(), getNodeD_OppositeNode(), "otherNodes", null, 0, -1, NodeD.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getNodeD_OppositeNode(), getNodeD(), getNodeD_OtherNodes(), "oppositeNode", null, 0, 1, NodeD.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+
+ initEClass(imageEClass, Image.class, "Image", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImage_Width(), theEcorePackage.getEInt(), "width", null, 0, 1, Image.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_Height(), theEcorePackage.getEInt(), "height", null, 0, 1, Image.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_Data(), theEtypesPackage.getBlob(), "data", null, 0, 1, Image.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(fileEClass, File.class, "File", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFile_Name(), theEcorePackage.getEString(), "name", null, 0, 1, File.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFile_Data(), theEtypesPackage.getClob(), "data", null, 0, 1, File.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Initialize data types
initEDataType(pointEDataType, Point.class, "Point", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeAImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeAImpl.java
index 06fb1c8655..a73b145618 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeAImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeAImpl.java
@@ -31,20 +31,20 @@ import java.util.Collection;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeAImpl#getOtherNodes <em>Other Nodes</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class NodeAImpl extends EObjectImpl implements NodeA
{
/**
- * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list. <!-- begin-user-doc
+ * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
+ * <!-- begin-user-doc
* --> <!-- end-user-doc -->
- *
* @see #getChildren()
* @generated
* @ordered
@@ -62,8 +62,8 @@ public class NodeAImpl extends EObjectImpl implements NodeA
protected static final String NAME_EDEFAULT = null;
/**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
@@ -71,9 +71,9 @@ public class NodeAImpl extends EObjectImpl implements NodeA
protected String name = NAME_EDEFAULT;
/**
- * The cached value of the '{@link #getOtherNodes() <em>Other Nodes</em>}' reference list. <!-- begin-user-doc -->
+ * The cached value of the '{@link #getOtherNodes() <em>Other Nodes</em>}' reference list.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @see #getOtherNodes()
* @generated
* @ordered
@@ -82,7 +82,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected NodeAImpl()
@@ -92,7 +91,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -103,7 +101,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<NodeA> getChildren()
@@ -117,7 +114,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public String getName()
@@ -127,7 +123,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setName(String newName)
@@ -140,7 +135,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<NodeA> getOtherNodes()
@@ -154,7 +148,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -170,7 +163,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -190,7 +182,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -216,7 +207,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -239,7 +229,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -259,7 +248,6 @@ public class NodeAImpl extends EObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeBImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeBImpl.java
index 7e91205124..f25d50c897 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeBImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeBImpl.java
@@ -31,20 +31,20 @@ import java.util.Collection;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeBImpl#getName <em>Name</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class NodeBImpl extends EObjectImpl implements NodeB
{
/**
- * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list. <!-- begin-user-doc
+ * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
+ * <!-- begin-user-doc
* --> <!-- end-user-doc -->
- *
* @see #getChildren()
* @generated
* @ordered
@@ -62,8 +62,8 @@ public class NodeBImpl extends EObjectImpl implements NodeB
protected static final String NAME_EDEFAULT = null;
/**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
@@ -72,7 +72,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected NodeBImpl()
@@ -82,7 +81,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -93,7 +91,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<NodeB> getChildren()
@@ -108,7 +105,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeB getParent()
@@ -120,7 +116,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NotificationChain basicSetParent(NodeB newParent, NotificationChain msgs)
@@ -131,7 +126,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setParent(NodeB newParent)
@@ -156,7 +150,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public String getName()
@@ -166,7 +159,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setName(String newName)
@@ -179,7 +171,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -200,7 +191,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -218,7 +208,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -234,7 +223,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -254,7 +242,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -279,7 +266,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -302,7 +288,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -322,7 +307,6 @@ public class NodeBImpl extends EObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeCImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeCImpl.java
index d2e5c68e8e..acfdd5290d 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeCImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeCImpl.java
@@ -32,22 +32,22 @@ import java.util.Collection;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getOtherNodes <em>Other Nodes</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getOppositeNodes <em>Opposite Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeCImpl#getOppositeNodes <em>Opposite Nodes</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class NodeCImpl extends EObjectImpl implements NodeC
{
/**
- * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list. <!-- begin-user-doc
+ * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
+ * <!-- begin-user-doc
* --> <!-- end-user-doc -->
- *
* @see #getChildren()
* @generated
* @ordered
@@ -65,8 +65,8 @@ public class NodeCImpl extends EObjectImpl implements NodeC
protected static final String NAME_EDEFAULT = null;
/**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
@@ -74,9 +74,9 @@ public class NodeCImpl extends EObjectImpl implements NodeC
protected String name = NAME_EDEFAULT;
/**
- * The cached value of the '{@link #getOtherNodes() <em>Other Nodes</em>}' reference list. <!-- begin-user-doc -->
+ * The cached value of the '{@link #getOtherNodes() <em>Other Nodes</em>}' reference list.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @see #getOtherNodes()
* @generated
* @ordered
@@ -84,9 +84,9 @@ public class NodeCImpl extends EObjectImpl implements NodeC
protected EList<NodeC> otherNodes;
/**
- * The cached value of the '{@link #getOppositeNodes() <em>Opposite Nodes</em>}' reference list. <!-- begin-user-doc
+ * The cached value of the '{@link #getOppositeNodes() <em>Opposite Nodes</em>}' reference list.
+ * <!-- begin-user-doc
* --> <!-- end-user-doc -->
- *
* @see #getOppositeNodes()
* @generated
* @ordered
@@ -95,7 +95,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected NodeCImpl()
@@ -105,7 +104,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -116,7 +114,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<NodeC> getChildren()
@@ -131,7 +128,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeC getParent()
@@ -143,7 +139,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NotificationChain basicSetParent(NodeC newParent, NotificationChain msgs)
@@ -154,7 +149,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setParent(NodeC newParent)
@@ -179,7 +173,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public String getName()
@@ -189,7 +182,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setName(String newName)
@@ -202,7 +194,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<NodeC> getOtherNodes()
@@ -217,7 +208,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<NodeC> getOppositeNodes()
@@ -232,7 +222,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -257,7 +246,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -279,7 +267,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -295,7 +282,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -319,7 +305,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -352,7 +337,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -381,7 +365,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -405,7 +388,6 @@ public class NodeCImpl extends EObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeDImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeDImpl.java
index c40b36fbf2..103aaf6649 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeDImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/NodeDImpl.java
@@ -32,22 +32,22 @@ import java.util.Collection;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getOtherNodes <em>Other Nodes</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getOppositeNode <em>Opposite Node</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.NodeDImpl#getOppositeNode <em>Opposite Node</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class NodeDImpl extends EObjectImpl implements NodeD
{
/**
- * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list. <!-- begin-user-doc
+ * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
+ * <!-- begin-user-doc
* --> <!-- end-user-doc -->
- *
* @see #getChildren()
* @generated
* @ordered
@@ -65,8 +65,8 @@ public class NodeDImpl extends EObjectImpl implements NodeD
protected static final String NAME_EDEFAULT = null;
/**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
@@ -74,9 +74,9 @@ public class NodeDImpl extends EObjectImpl implements NodeD
protected String name = NAME_EDEFAULT;
/**
- * The cached value of the '{@link #getOtherNodes() <em>Other Nodes</em>}' reference list. <!-- begin-user-doc -->
+ * The cached value of the '{@link #getOtherNodes() <em>Other Nodes</em>}' reference list.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @see #getOtherNodes()
* @generated
* @ordered
@@ -84,9 +84,9 @@ public class NodeDImpl extends EObjectImpl implements NodeD
protected EList<NodeD> otherNodes;
/**
- * The cached value of the '{@link #getOppositeNode() <em>Opposite Node</em>}' reference. <!-- begin-user-doc --> <!--
+ * The cached value of the '{@link #getOppositeNode() <em>Opposite Node</em>}' reference.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @see #getOppositeNode()
* @generated
* @ordered
@@ -95,7 +95,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected NodeDImpl()
@@ -105,7 +104,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -116,7 +114,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<NodeD> getChildren()
@@ -131,7 +128,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeD getParent()
@@ -143,7 +139,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NotificationChain basicSetParent(NodeD newParent, NotificationChain msgs)
@@ -154,7 +149,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setParent(NodeD newParent)
@@ -179,7 +173,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public String getName()
@@ -189,7 +182,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setName(String newName)
@@ -202,7 +194,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<NodeD> getOtherNodes()
@@ -217,7 +208,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeD getOppositeNode()
@@ -238,7 +228,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeD basicGetOppositeNode()
@@ -248,7 +237,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NotificationChain basicSetOppositeNode(NodeD newOppositeNode, NotificationChain msgs)
@@ -269,7 +257,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setOppositeNode(NodeD newOppositeNode)
@@ -294,7 +281,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -322,7 +308,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -344,7 +329,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -360,7 +344,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -386,7 +369,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -418,7 +400,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -447,7 +428,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -471,7 +451,6 @@ public class NodeDImpl extends EObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/PolygonImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/PolygonImpl.java
index db6b4af643..d482160812 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/PolygonImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/PolygonImpl.java
@@ -26,18 +26,18 @@ import java.util.Collection;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonImpl#getPoints <em>Points</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonImpl#getPoints <em>Points</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class PolygonImpl extends EObjectImpl implements Polygon
{
/**
- * The cached value of the '{@link #getPoints() <em>Points</em>}' attribute list. <!-- begin-user-doc --> <!--
+ * The cached value of the '{@link #getPoints() <em>Points</em>}' attribute list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @see #getPoints()
* @generated
* @ordered
@@ -46,7 +46,6 @@ public class PolygonImpl extends EObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected PolygonImpl()
@@ -56,7 +55,6 @@ public class PolygonImpl extends EObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -67,7 +65,6 @@ public class PolygonImpl extends EObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<Point> getPoints()
@@ -81,7 +78,6 @@ public class PolygonImpl extends EObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -97,7 +93,6 @@ public class PolygonImpl extends EObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -116,7 +111,6 @@ public class PolygonImpl extends EObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -133,7 +127,6 @@ public class PolygonImpl extends EObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -149,7 +142,6 @@ public class PolygonImpl extends EObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/PolygonWithDuplicatesImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/PolygonWithDuplicatesImpl.java
index 9d066d95e3..0917e37ba0 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/PolygonWithDuplicatesImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/impl/PolygonWithDuplicatesImpl.java
@@ -27,18 +27,18 @@ import java.util.Collection;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonWithDuplicatesImpl#getPoints <em>Points</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.impl.PolygonWithDuplicatesImpl#getPoints <em>Points</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class PolygonWithDuplicatesImpl extends EObjectImpl implements PolygonWithDuplicates
{
/**
- * The cached value of the '{@link #getPoints() <em>Points</em>}' attribute list. <!-- begin-user-doc --> <!--
+ * The cached value of the '{@link #getPoints() <em>Points</em>}' attribute list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @see #getPoints()
* @generated
* @ordered
@@ -47,7 +47,6 @@ public class PolygonWithDuplicatesImpl extends EObjectImpl implements PolygonWit
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected PolygonWithDuplicatesImpl()
@@ -57,7 +56,6 @@ public class PolygonWithDuplicatesImpl extends EObjectImpl implements PolygonWit
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -68,7 +66,6 @@ public class PolygonWithDuplicatesImpl extends EObjectImpl implements PolygonWit
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<Point> getPoints()
@@ -82,7 +79,6 @@ public class PolygonWithDuplicatesImpl extends EObjectImpl implements PolygonWit
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -98,7 +94,6 @@ public class PolygonWithDuplicatesImpl extends EObjectImpl implements PolygonWit
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -117,7 +112,6 @@ public class PolygonWithDuplicatesImpl extends EObjectImpl implements PolygonWit
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -134,7 +128,6 @@ public class PolygonWithDuplicatesImpl extends EObjectImpl implements PolygonWit
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -150,7 +143,6 @@ public class PolygonWithDuplicatesImpl extends EObjectImpl implements PolygonWit
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/SubpackageFactory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/SubpackageFactory.java
index c4a9936633..d617a67ccb 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/SubpackageFactory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/SubpackageFactory.java
@@ -15,30 +15,29 @@ import org.eclipse.emf.cdo.tests.model3.subpackage.Class2;
/**
* <!-- 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 -->
- *
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.SubpackagePackage
* @generated
*/
public interface SubpackageFactory extends org.eclipse.emf.cdo.tests.model3.subpackage.SubpackageFactory
{
/**
- * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
SubpackageFactory eINSTANCE = org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.SubpackageFactoryImpl.init();
/**
- * Returns a new object of class '<em>Class2</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Class2</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Class2</em>'.
* @generated
*/
Class2 createClass2();
/**
- * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the package supported by this factory.
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/SubpackagePackage.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/SubpackagePackage.java
index d68bcf649f..5093884cb1 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/SubpackagePackage.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/SubpackagePackage.java
@@ -22,7 +22,6 @@ import org.eclipse.emf.ecore.EReference;
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.SubpackageFactory
* @model kind="package"
* @generated
@@ -30,8 +29,8 @@ import org.eclipse.emf.ecore.EReference;
public interface SubpackagePackage extends org.eclipse.emf.cdo.tests.model3.subpackage.SubpackagePackage
{
/**
- * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
String eNAME = "subpackage";
@@ -44,23 +43,22 @@ public interface SubpackagePackage extends org.eclipse.emf.cdo.tests.model3.subp
String eNS_URI = "http://www.eclipse.org/emf/CDO/tests/legacy/subpackage/1.0.0";
/**
- * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
String eNS_PREFIX = "subpackage";
/**
- * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
SubpackagePackage eINSTANCE = org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.SubpackagePackageImpl.init();
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.Class2Impl
- * <em>Class2</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.Class2Impl <em>Class2</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.Class2Impl
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.SubpackagePackageImpl#getClass2()
* @generated
@@ -68,25 +66,24 @@ public interface SubpackagePackage extends org.eclipse.emf.cdo.tests.model3.subp
int CLASS2 = 0;
/**
- * The feature id for the '<em><b>Class1</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Class1</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int CLASS2__CLASS1 = 0;
/**
- * The number of structural features of the '<em>Class2</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Class2</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int CLASS2_FEATURE_COUNT = 1;
/**
- * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.Class2
- * <em>Class2</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.Class2 <em>Class2</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for class '<em>Class2</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.Class2
* @generated
@@ -94,10 +91,9 @@ public interface SubpackagePackage extends org.eclipse.emf.cdo.tests.model3.subp
EClass getClass2();
/**
- * Returns the meta object for the reference list '
- * {@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.Class2#getClass1 <em>Class1</em>}'. <!-- begin-user-doc
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.Class2#getClass1 <em>Class1</em>}'.
+ * <!-- begin-user-doc
* --> <!-- end-user-doc -->
- *
* @return the meta object for the reference list '<em>Class1</em>'.
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.Class2#getClass1()
* @see #getClass2()
@@ -106,8 +102,8 @@ public interface SubpackagePackage extends org.eclipse.emf.cdo.tests.model3.subp
EReference getClass2_Class1();
/**
- * Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the factory that creates the instances of the model.
* @generated
*/
@@ -122,15 +118,13 @@ public interface SubpackagePackage extends org.eclipse.emf.cdo.tests.model3.subp
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
* @generated
*/
interface Literals
{
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.Class2Impl
- * <em>Class2</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.Class2Impl <em>Class2</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.Class2Impl
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.SubpackagePackageImpl#getClass2()
* @generated
@@ -138,9 +132,9 @@ public interface SubpackagePackage extends org.eclipse.emf.cdo.tests.model3.subp
EClass CLASS2 = eINSTANCE.getClass2();
/**
- * The meta object literal for the '<em><b>Class1</b></em>' reference list feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Class1</b></em>' reference list feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EReference CLASS2__CLASS1 = eINSTANCE.getClass2_Class1();
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/Class2Impl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/Class2Impl.java
index de2e45241f..0c1b861f2a 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/Class2Impl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/Class2Impl.java
@@ -30,18 +30,18 @@ import java.util.Collection;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.Class2Impl#getClass1 <em>Class1</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl.Class2Impl#getClass1 <em>Class1</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class Class2Impl extends EObjectImpl implements Class2
{
/**
- * The cached value of the '{@link #getClass1() <em>Class1</em>}' reference list. <!-- begin-user-doc --> <!--
+ * The cached value of the '{@link #getClass1() <em>Class1</em>}' reference list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @see #getClass1()
* @generated
* @ordered
@@ -50,7 +50,6 @@ public class Class2Impl extends EObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected Class2Impl()
@@ -60,7 +59,6 @@ public class Class2Impl extends EObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -71,7 +69,6 @@ public class Class2Impl extends EObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EList<Class1> getClass1()
@@ -86,7 +83,6 @@ public class Class2Impl extends EObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -103,7 +99,6 @@ public class Class2Impl extends EObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -119,7 +114,6 @@ public class Class2Impl extends EObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -135,7 +129,6 @@ public class Class2Impl extends EObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -154,7 +147,6 @@ public class Class2Impl extends EObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -171,7 +163,6 @@ public class Class2Impl extends EObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/SubpackageFactoryImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/SubpackageFactoryImpl.java
index 0b93779c7b..e030ee4ef3 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/SubpackageFactoryImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/SubpackageFactoryImpl.java
@@ -22,7 +22,6 @@ import org.eclipse.emf.ecore.plugin.EcorePlugin;
/**
* <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
- *
* @generated
*/
public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFactory
@@ -51,8 +50,8 @@ public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFac
}
/**
- * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public SubpackageFactoryImpl()
@@ -62,7 +61,6 @@ public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -79,7 +77,6 @@ public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public Class2 createClass2()
@@ -90,7 +87,6 @@ public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public SubpackagePackage getSubpackagePackage()
@@ -100,7 +96,6 @@ public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @deprecated
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/SubpackagePackageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/SubpackagePackageImpl.java
index 1c3f85cfe8..3c053b4e7a 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/SubpackagePackageImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/impl/SubpackagePackageImpl.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.emf.cdo.tests.legacy.model3.subpackage.impl;
+import org.eclipse.emf.cdo.etypes.EtypesPackage;
import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package;
import org.eclipse.emf.cdo.tests.legacy.model3.impl.Model3PackageImpl;
import org.eclipse.emf.cdo.tests.legacy.model3.subpackage.SubpackageFactory;
@@ -24,14 +25,12 @@ import org.eclipse.emf.ecore.impl.EPackageImpl;
/**
* <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
- *
* @generated
*/
public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePackage
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EClass class2EClass = null;
@@ -56,18 +55,17 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private static boolean isInited = false;
/**
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
- * <p>
- * This method is used to initialize {@link SubpackagePackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
*
+ * <p>This method is used to initialize {@link SubpackagePackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
* @see #eNS_URI
* @see #createPackageContents()
* @see #initializePackageContents()
@@ -86,6 +84,7 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
// Initialize simple dependencies
EcorePackage.eINSTANCE.eClass();
+ EtypesPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
Model3PackageImpl theModel3Package = (Model3PackageImpl)(EPackage.Registry.INSTANCE
@@ -110,7 +109,6 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EClass getClass2()
@@ -120,7 +118,6 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getClass2_Class1()
@@ -130,7 +127,6 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public SubpackageFactory getSubpackageFactory()
@@ -140,15 +136,14 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private boolean isCreated = false;
/**
- * Creates the meta-model objects for the package. This method is guarded to have no affect on any invocation but its
- * first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public void createPackageContents()
@@ -164,15 +159,14 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private boolean isInitialized = false;
/**
- * Complete the initialization of the package and its meta-model. This method is guarded to have no affect on any
- * invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public void initializePackageContents()
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/util/SubpackageAdapterFactory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/util/SubpackageAdapterFactory.java
index 1a240438ea..a6bb2be8a1 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/util/SubpackageAdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/util/SubpackageAdapterFactory.java
@@ -21,22 +21,21 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides an adapter <code>createXXX</code>
* method for each class of the model. <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.SubpackagePackage
* @generated
*/
public class SubpackageAdapterFactory extends AdapterFactoryImpl
{
/**
- * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected static SubpackagePackage modelPackage;
/**
- * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public SubpackageAdapterFactory()
@@ -48,10 +47,10 @@ public class SubpackageAdapterFactory extends AdapterFactoryImpl
}
/**
- * Returns whether this factory is applicable for the type of the object. <!-- begin-user-doc --> This implementation
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc --> This implementation
* returns <code>true</code> if the object is either the model's package or is an instance object of the model. <!--
* end-user-doc -->
- *
* @return whether this factory is applicable for the type of the object.
* @generated
*/
@@ -70,8 +69,8 @@ public class SubpackageAdapterFactory extends AdapterFactoryImpl
}
/**
- * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected SubpackageSwitch<Adapter> modelSwitch = new SubpackageSwitch<Adapter>()
@@ -90,10 +89,9 @@ public class SubpackageAdapterFactory extends AdapterFactoryImpl
};
/**
- * Creates an adapter for the <code>target</code>. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param target
- * the object to adapt.
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param target the object to adapt.
* @return the adapter for the <code>target</code>.
* @generated
*/
@@ -104,10 +102,9 @@ public class SubpackageAdapterFactory extends AdapterFactoryImpl
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.Class2
- * <em>Class2</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model3.subpackage.Class2 <em>Class2</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
* cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
- *
* @return the new adapter.
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.Class2
* @generated
@@ -118,9 +115,9 @@ public class SubpackageAdapterFactory extends AdapterFactoryImpl
}
/**
- * Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null. <!--
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc --> This default implementation returns null. <!--
* end-user-doc -->
- *
* @return the new adapter.
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/util/SubpackageSwitch.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/util/SubpackageSwitch.java
index 173208ba4f..e1e2fc58bd 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/util/SubpackageSwitch.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/subpackage/util/SubpackageSwitch.java
@@ -23,22 +23,21 @@ import java.util.List;
* {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object and proceeding up the inheritance hierarchy until a non-null result is
* returned, which is the result of the switch. <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.legacy.model3.subpackage.SubpackagePackage
* @generated
*/
public class SubpackageSwitch<T>
{
/**
- * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected static SubpackagePackage modelPackage;
/**
- * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public SubpackageSwitch()
@@ -52,7 +51,6 @@ public class SubpackageSwitch<T>
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@@ -64,7 +62,6 @@ public class SubpackageSwitch<T>
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@@ -84,7 +81,6 @@ public class SubpackageSwitch<T>
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@@ -106,11 +102,10 @@ public class SubpackageSwitch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Class2</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>Class2</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Class2</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
@@ -121,12 +116,11 @@ public class SubpackageSwitch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch, but this is the last case
* anyway. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>EObject</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject)
* @generated
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3AdapterFactory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3AdapterFactory.java
index 97da57b11e..dbf6f4dda6 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3AdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3AdapterFactory.java
@@ -12,6 +12,8 @@ package org.eclipse.emf.cdo.tests.legacy.model3.util;
import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package;
import org.eclipse.emf.cdo.tests.model3.Class1;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.tests.model3.Image;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
@@ -132,6 +134,18 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
@Override
+ public Adapter caseImage(Image object)
+ {
+ return createImageAdapter();
+ }
+
+ @Override
+ public Adapter caseFile(File object)
+ {
+ return createFileAdapter();
+ }
+
+ @Override
public Adapter defaultCase(EObject object)
{
return createEObjectAdapter();
@@ -266,6 +280,34 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model3.Image <em>Image</em>}
+ * '. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful
+ * to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.Image
+ * @generated
+ */
+ public Adapter createImageAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model3.File <em>File</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
+ * ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.legacy.model3.File
+ * @generated
+ */
+ public Adapter createFileAdapter()
+ {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null. <!--
* end-user-doc -->
*
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3Switch.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3Switch.java
index 0ab8e39b1d..09968869ad 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3Switch.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/legacy/model3/util/Model3Switch.java
@@ -12,6 +12,8 @@ package org.eclipse.emf.cdo.tests.legacy.model3.util;
import org.eclipse.emf.cdo.tests.legacy.model3.Model3Package;
import org.eclipse.emf.cdo.tests.model3.Class1;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.tests.model3.Image;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.NodeA;
import org.eclipse.emf.cdo.tests.model3.NodeB;
@@ -104,7 +106,9 @@ public class Model3Switch<T>
Class1 class1 = (Class1)theEObject;
T result = caseClass1(class1);
if (result == null)
+ {
result = defaultCase(theEObject);
+ }
return result;
}
case Model3Package.META_REF:
@@ -112,7 +116,9 @@ public class Model3Switch<T>
MetaRef metaRef = (MetaRef)theEObject;
T result = caseMetaRef(metaRef);
if (result == null)
+ {
result = defaultCase(theEObject);
+ }
return result;
}
case Model3Package.POLYGON:
@@ -120,7 +126,9 @@ public class Model3Switch<T>
Polygon polygon = (Polygon)theEObject;
T result = casePolygon(polygon);
if (result == null)
+ {
result = defaultCase(theEObject);
+ }
return result;
}
case Model3Package.POLYGON_WITH_DUPLICATES:
@@ -128,7 +136,9 @@ public class Model3Switch<T>
PolygonWithDuplicates polygonWithDuplicates = (PolygonWithDuplicates)theEObject;
T result = casePolygonWithDuplicates(polygonWithDuplicates);
if (result == null)
+ {
result = defaultCase(theEObject);
+ }
return result;
}
case Model3Package.NODE_A:
@@ -136,7 +146,9 @@ public class Model3Switch<T>
NodeA nodeA = (NodeA)theEObject;
T result = caseNodeA(nodeA);
if (result == null)
+ {
result = defaultCase(theEObject);
+ }
return result;
}
case Model3Package.NODE_B:
@@ -144,7 +156,9 @@ public class Model3Switch<T>
NodeB nodeB = (NodeB)theEObject;
T result = caseNodeB(nodeB);
if (result == null)
+ {
result = defaultCase(theEObject);
+ }
return result;
}
case Model3Package.NODE_C:
@@ -152,7 +166,9 @@ public class Model3Switch<T>
NodeC nodeC = (NodeC)theEObject;
T result = caseNodeC(nodeC);
if (result == null)
+ {
result = defaultCase(theEObject);
+ }
return result;
}
case Model3Package.NODE_D:
@@ -160,7 +176,29 @@ public class Model3Switch<T>
NodeD nodeD = (NodeD)theEObject;
T result = caseNodeD(nodeD);
if (result == null)
+ {
result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case Model3Package.IMAGE:
+ {
+ Image image = (Image)theEObject;
+ T result = caseImage(image);
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case Model3Package.FILE:
+ {
+ File file = (File)theEObject;
+ T result = caseFile(file);
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
return result;
}
default:
@@ -290,6 +328,36 @@ public class Model3Switch<T>
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Image</em>'. <!-- begin-user-doc --> This
+ * implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Image</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImage(Image object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>File</em>'. <!-- begin-user-doc --> This
+ * implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>File</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFile(File object)
+ {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch, but this is the last case
* anyway. <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Class1.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Class1.java
index c607d5a7f7..f957520841 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Class1.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Class1.java
@@ -17,13 +17,14 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> A representation of the model object '<em><b>Class1</b></em>'. <!-- end-user-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.Class1#getClass2 <em>Class2</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.Class1#getClass2 <em>Class2</em>}</li>
* </ul>
* </p>
- *
+ *
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getClass1()
* @model
* @generated
@@ -31,15 +32,15 @@ import org.eclipse.emf.ecore.EObject;
public interface Class1 extends EObject
{
/**
- * Returns the value of the '<em><b>Class2</b></em>' reference list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2}. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2#getClass1 <em>Class1</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Class2</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2#getClass1 <em>Class1</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Class2</em>' reference list isn't clear, there really should be more of a description
* here...
* </p>
* <!-- end-user-doc -->
- *
* @return the value of the '<em>Class2</em>' reference list.
* @see #isSetClass2()
* @see #unsetClass2()
@@ -53,7 +54,6 @@ public interface Class1 extends EObject
/**
* Unsets the value of the '{@link org.eclipse.emf.cdo.tests.model3.Class1#getClass2 <em>Class2</em>}' reference list.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see #isSetClass2()
* @see #getClass2()
* @generated
@@ -61,9 +61,8 @@ public interface Class1 extends EObject
void unsetClass2();
/**
- * Returns whether the value of the '{@link org.eclipse.emf.cdo.tests.model3.Class1#getClass2 <em>Class2</em>}'
- * reference list is set. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns whether the value of the '{@link org.eclipse.emf.cdo.tests.model3.Class1#getClass2 <em>Class2</em>}' reference list is set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return whether the value of the '<em>Class2</em>' reference list is set.
* @see #unsetClass2()
* @see #getClass2()
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/File.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/File.java
new file mode 100644
index 0000000000..27f57d2e66
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/File.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model3;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOClob;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>File</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.File#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.File#getData <em>Data</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getFile()
+ * @model
+ * @generated
+ */
+public interface File extends EObject
+{
+ /**
+ * 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 #setName(String)
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getFile_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.File#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data</em>' attribute.
+ * @see #setData(CDOClob)
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getFile_Data()
+ * @model dataType="org.eclipse.emf.cdo.etypes.Clob"
+ * @generated
+ */
+ CDOClob getData();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.File#getData <em>Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Data</em>' attribute.
+ * @see #getData()
+ * @generated
+ */
+ void setData(CDOClob value);
+
+} // File
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Image.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Image.java
new file mode 100644
index 0000000000..aea7b77297
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Image.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model3;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOBlob;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Image</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.Image#getWidth <em>Width</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.Image#getHeight <em>Height</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.Image#getData <em>Data</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getImage()
+ * @model
+ * @generated
+ */
+public interface Image extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Width</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Width</em>' attribute.
+ * @see #setWidth(int)
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getImage_Width()
+ * @model
+ * @generated
+ */
+ int getWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.Image#getWidth <em>Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Width</em>' attribute.
+ * @see #getWidth()
+ * @generated
+ */
+ void setWidth(int value);
+
+ /**
+ * Returns the value of the '<em><b>Height</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Height</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Height</em>' attribute.
+ * @see #setHeight(int)
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getImage_Height()
+ * @model
+ * @generated
+ */
+ int getHeight();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.Image#getHeight <em>Height</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Height</em>' attribute.
+ * @see #getHeight()
+ * @generated
+ */
+ void setHeight(int value);
+
+ /**
+ * Returns the value of the '<em><b>Data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data</em>' attribute.
+ * @see #setData(CDOBlob)
+ * @see org.eclipse.emf.cdo.tests.model3.Model3Package#getImage_Data()
+ * @model dataType="org.eclipse.emf.cdo.etypes.Blob"
+ * @generated
+ */
+ CDOBlob getData();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.Image#getData <em>Data</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Data</em>' attribute.
+ * @see #getData()
+ * @generated
+ */
+ void setData(CDOBlob value);
+
+} // Image
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Factory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Factory.java
index 7865ee76b2..596235f584 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Factory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Factory.java
@@ -15,86 +15,103 @@ import org.eclipse.emf.ecore.EFactory;
/**
* <!-- 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 -->
- *
* @see org.eclipse.emf.cdo.tests.model3.Model3Package
* @generated
*/
public interface Model3Factory extends EFactory
{
/**
- * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
Model3Factory eINSTANCE = org.eclipse.emf.cdo.tests.model3.impl.Model3FactoryImpl.init();
/**
- * Returns a new object of class '<em>Class1</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Class1</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Class1</em>'.
* @generated
*/
Class1 createClass1();
/**
- * Returns a new object of class '<em>Meta Ref</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Meta Ref</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Meta Ref</em>'.
* @generated
*/
MetaRef createMetaRef();
/**
- * Returns a new object of class '<em>Polygon</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Polygon</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Polygon</em>'.
* @generated
*/
Polygon createPolygon();
/**
- * Returns a new object of class '<em>Polygon With Duplicates</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Polygon With Duplicates</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Polygon With Duplicates</em>'.
* @generated
*/
PolygonWithDuplicates createPolygonWithDuplicates();
/**
- * Returns a new object of class '<em>Node A</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Node A</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Node A</em>'.
* @generated
*/
NodeA createNodeA();
/**
- * Returns a new object of class '<em>Node B</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Node B</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Node B</em>'.
* @generated
*/
NodeB createNodeB();
/**
- * Returns a new object of class '<em>Node C</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Node C</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Node C</em>'.
* @generated
*/
NodeC createNodeC();
/**
- * Returns a new object of class '<em>Node D</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Node D</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Node D</em>'.
* @generated
*/
NodeD createNodeD();
/**
- * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Image</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Image</em>'.
+ * @generated
+ */
+ Image createImage();
+
+ /**
+ * Returns a new object of class '<em>File</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>File</em>'.
+ * @generated
+ */
+ File createFile();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the package supported by this factory.
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Package.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Package.java
index 6ba25c4e7d..b2c2918899 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Package.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Model3Package.java
@@ -25,7 +25,6 @@ import org.eclipse.emf.ecore.EReference;
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.Model3Factory
* @model kind="package"
* @generated
@@ -33,29 +32,29 @@ import org.eclipse.emf.ecore.EReference;
public interface Model3Package extends EPackage
{
/**
- * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
String eNAME = "model3";
/**
- * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
String eNS_URI = "http://www.eclipse.org/emf/CDO/tests/model3/1.0.0";
/**
- * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
String eNS_PREFIX = "model3";
/**
- * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
Model3Package eINSTANCE = org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl.init();
@@ -71,16 +70,16 @@ public interface Model3Package extends EPackage
int CLASS1 = 0;
/**
- * The feature id for the '<em><b>Class2</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Class2</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int CLASS1__CLASS2 = 0;
/**
- * The number of structural features of the '<em>Class1</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Class1</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -89,7 +88,6 @@ public interface Model3Package extends EPackage
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.impl.MetaRefImpl <em>Meta Ref</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.impl.MetaRefImpl
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getMetaRef()
* @generated
@@ -97,16 +95,16 @@ public interface Model3Package extends EPackage
int META_REF = 1;
/**
- * The feature id for the '<em><b>EPackage Ref</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>EPackage Ref</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int META_REF__EPACKAGE_REF = 0;
/**
- * The number of structural features of the '<em>Meta Ref</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Meta Ref</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -123,25 +121,24 @@ public interface Model3Package extends EPackage
int POLYGON = 2;
/**
- * The feature id for the '<em><b>Points</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Points</b></em>' attribute list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int POLYGON__POINTS = 0;
/**
- * The number of structural features of the '<em>Polygon</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Polygon</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int POLYGON_FEATURE_COUNT = 1;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.impl.PolygonWithDuplicatesImpl
- * <em>Polygon With Duplicates</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.impl.PolygonWithDuplicatesImpl <em>Polygon With Duplicates</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.model3.impl.PolygonWithDuplicatesImpl
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getPolygonWithDuplicates()
* @generated
@@ -149,17 +146,17 @@ public interface Model3Package extends EPackage
int POLYGON_WITH_DUPLICATES = 3;
/**
- * The feature id for the '<em><b>Points</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Points</b></em>' attribute list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int POLYGON_WITH_DUPLICATES__POINTS = 0;
/**
- * The number of structural features of the '<em>Polygon With Duplicates</em>' class. <!-- begin-user-doc --> <!--
+ * The number of structural features of the '<em>Polygon With Duplicates</em>' class.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
* @ordered
*/
@@ -176,33 +173,33 @@ public interface Model3Package extends EPackage
int NODE_A = 4;
/**
- * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
* @ordered
*/
int NODE_A__CHILDREN = 0;
/**
- * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_A__NAME = 1;
/**
- * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_A__OTHER_NODES = 2;
/**
- * The number of structural features of the '<em>Node A</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Node A</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -219,33 +216,33 @@ public interface Model3Package extends EPackage
int NODE_B = 5;
/**
- * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
* @ordered
*/
int NODE_B__CHILDREN = 0;
/**
- * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_B__PARENT = 1;
/**
- * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_B__NAME = 2;
/**
- * The number of structural features of the '<em>Node B</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Node B</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -262,33 +259,33 @@ public interface Model3Package extends EPackage
int NODE_C = 6;
/**
- * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
* @ordered
*/
int NODE_C__CHILDREN = 0;
/**
- * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_C__PARENT = 1;
/**
- * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_C__NAME = 2;
/**
- * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -304,8 +301,8 @@ public interface Model3Package extends EPackage
int NODE_C__OPPOSITE_NODES = 4;
/**
- * The number of structural features of the '<em>Node C</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Node C</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -322,62 +319,145 @@ public interface Model3Package extends EPackage
int NODE_D = 7;
/**
- * The feature id for the '<em><b>Children</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
* @ordered
*/
int NODE_D__CHILDREN = 0;
/**
- * The feature id for the '<em><b>Parent</b></em>' container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_D__PARENT = 1;
/**
- * The feature id for the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_D__NAME = 2;
/**
- * The feature id for the '<em><b>Other Nodes</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Other Nodes</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_D__OTHER_NODES = 3;
/**
- * The feature id for the '<em><b>Opposite Node</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Opposite Node</b></em>' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_D__OPPOSITE_NODE = 4;
/**
- * The number of structural features of the '<em>Node D</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Node D</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int NODE_D_FEATURE_COUNT = 5;
/**
- * The meta object id for the '<em>Point</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.impl.ImageImpl <em>Image</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model3.impl.ImageImpl
+ * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getImage()
+ * @generated
+ */
+ int IMAGE = 8;
+
+ /**
+ * The feature id for the '<em><b>Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__WIDTH = 0;
+
+ /**
+ * The feature id for the '<em><b>Height</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__HEIGHT = 1;
+
+ /**
+ * The feature id for the '<em><b>Data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE__DATA = 2;
+
+ /**
+ * The number of structural features of the '<em>Image</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.impl.FileImpl <em>File</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model3.impl.FileImpl
+ * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getFile()
+ * @generated
+ */
+ int FILE = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILE__DATA = 1;
+
+ /**
+ * The number of structural features of the '<em>File</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '<em>Point</em>' data type.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.model3.Point
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getPoint()
* @generated
*/
- int POINT = 8;
+ int POINT = 10;
/**
* Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.Class1 <em>Class1</em>}'. <!--
@@ -390,9 +470,8 @@ public interface Model3Package extends EPackage
EClass getClass1();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.Class1#getClass2
- * <em>Class2</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.Class1#getClass2 <em>Class2</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference list '<em>Class2</em>'.
* @see org.eclipse.emf.cdo.tests.model3.Class1#getClass2()
* @see #getClass1()
@@ -411,9 +490,8 @@ public interface Model3Package extends EPackage
EClass getMetaRef();
/**
- * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.model3.MetaRef#getEPackageRef
- * <em>EPackage Ref</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.model3.MetaRef#getEPackageRef <em>EPackage Ref</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference '<em>EPackage Ref</em>'.
* @see org.eclipse.emf.cdo.tests.model3.MetaRef#getEPackageRef()
* @see #getMetaRef()
@@ -432,9 +510,8 @@ public interface Model3Package extends EPackage
EClass getPolygon();
/**
- * Returns the meta object for the attribute list '{@link org.eclipse.emf.cdo.tests.model3.Polygon#getPoints
- * <em>Points</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.cdo.tests.model3.Polygon#getPoints <em>Points</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the attribute list '<em>Points</em>'.
* @see org.eclipse.emf.cdo.tests.model3.Polygon#getPoints()
* @see #getPolygon()
@@ -443,9 +520,8 @@ public interface Model3Package extends EPackage
EAttribute getPolygon_Points();
/**
- * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates
- * <em>Polygon With Duplicates</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates <em>Polygon With Duplicates</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for class '<em>Polygon With Duplicates</em>'.
* @see org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates
* @generated
@@ -453,10 +529,9 @@ public interface Model3Package extends EPackage
EClass getPolygonWithDuplicates();
/**
- * Returns the meta object for the attribute list '
- * {@link org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates#getPoints <em>Points</em>}'. <!-- begin-user-doc -->
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates#getPoints <em>Points</em>}'.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @return the meta object for the attribute list '<em>Points</em>'.
* @see org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates#getPoints()
* @see #getPolygonWithDuplicates()
@@ -475,10 +550,9 @@ public interface Model3Package extends EPackage
EClass getNodeA();
/**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeA#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeA#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the containment reference list '<em>Children</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeA#getChildren()
* @see #getNodeA()
@@ -489,7 +563,6 @@ public interface Model3Package extends EPackage
/**
* Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.NodeA#getName <em>Name</em>}'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the meta object for the attribute '<em>Name</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeA#getName()
* @see #getNodeA()
@@ -498,9 +571,8 @@ public interface Model3Package extends EPackage
EAttribute getNodeA_Name();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeA#getOtherNodes
- * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeA#getOtherNodes <em>Other Nodes</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference list '<em>Other Nodes</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeA#getOtherNodes()
* @see #getNodeA()
@@ -519,10 +591,9 @@ public interface Model3Package extends EPackage
EClass getNodeB();
/**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeB#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeB#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the containment reference list '<em>Children</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeB#getChildren()
* @see #getNodeB()
@@ -531,9 +602,8 @@ public interface Model3Package extends EPackage
EReference getNodeB_Children();
/**
- * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model3.NodeB#getParent
- * <em>Parent</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model3.NodeB#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the container reference '<em>Parent</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeB#getParent()
* @see #getNodeB()
@@ -544,7 +614,6 @@ public interface Model3Package extends EPackage
/**
* Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.NodeB#getName <em>Name</em>}'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the meta object for the attribute '<em>Name</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeB#getName()
* @see #getNodeB()
@@ -563,10 +632,9 @@ public interface Model3Package extends EPackage
EClass getNodeC();
/**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeC#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the containment reference list '<em>Children</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeC#getChildren()
* @see #getNodeC()
@@ -575,9 +643,8 @@ public interface Model3Package extends EPackage
EReference getNodeC_Children();
/**
- * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent
- * <em>Parent</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the container reference '<em>Parent</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeC#getParent()
* @see #getNodeC()
@@ -588,7 +655,6 @@ public interface Model3Package extends EPackage
/**
* Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getName <em>Name</em>}'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the meta object for the attribute '<em>Name</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeC#getName()
* @see #getNodeC()
@@ -597,9 +663,8 @@ public interface Model3Package extends EPackage
EAttribute getNodeC_Name();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes
- * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes <em>Other Nodes</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference list '<em>Other Nodes</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes()
* @see #getNodeC()
@@ -608,9 +673,8 @@ public interface Model3Package extends EPackage
EReference getNodeC_OtherNodes();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes
- * <em>Opposite Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes <em>Opposite Nodes</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference list '<em>Opposite Nodes</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes()
* @see #getNodeC()
@@ -629,10 +693,9 @@ public interface Model3Package extends EPackage
EClass getNodeD();
/**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeD#getChildren <em>Children</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the containment reference list '<em>Children</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeD#getChildren()
* @see #getNodeD()
@@ -641,9 +704,8 @@ public interface Model3Package extends EPackage
EReference getNodeD_Children();
/**
- * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent
- * <em>Parent</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the container reference '<em>Parent</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeD#getParent()
* @see #getNodeD()
@@ -654,7 +716,6 @@ public interface Model3Package extends EPackage
/**
* Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getName <em>Name</em>}'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the meta object for the attribute '<em>Name</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeD#getName()
* @see #getNodeD()
@@ -663,9 +724,8 @@ public interface Model3Package extends EPackage
EAttribute getNodeD_Name();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes
- * <em>Other Nodes</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes <em>Other Nodes</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference list '<em>Other Nodes</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes()
* @see #getNodeD()
@@ -674,9 +734,8 @@ public interface Model3Package extends EPackage
EReference getNodeD_OtherNodes();
/**
- * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode
- * <em>Opposite Node</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the meta object for the reference '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode <em>Opposite Node</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for the reference '<em>Opposite Node</em>'.
* @see org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode()
* @see #getNodeD()
@@ -685,6 +744,81 @@ public interface Model3Package extends EPackage
EReference getNodeD_OppositeNode();
/**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.Image <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Image</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.Image
+ * @generated
+ */
+ EClass getImage();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.Image#getWidth <em>Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Width</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.Image#getWidth()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Width();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.Image#getHeight <em>Height</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Height</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.Image#getHeight()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Height();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.Image#getData <em>Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Data</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.Image#getData()
+ * @see #getImage()
+ * @generated
+ */
+ EAttribute getImage_Data();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.File <em>File</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>File</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.File
+ * @generated
+ */
+ EClass getFile();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.File#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.File#getName()
+ * @see #getFile()
+ * @generated
+ */
+ EAttribute getFile_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.tests.model3.File#getData <em>Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Data</em>'.
+ * @see org.eclipse.emf.cdo.tests.model3.File#getData()
+ * @see #getFile()
+ * @generated
+ */
+ EAttribute getFile_Data();
+
+ /**
* Returns the meta object for data type '{@link org.eclipse.emf.cdo.tests.model3.Point <em>Point</em>}'. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
@@ -696,8 +830,8 @@ public interface Model3Package extends EPackage
EDataType getPoint();
/**
- * Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the factory that creates the instances of the model.
* @generated
*/
@@ -712,7 +846,6 @@ public interface Model3Package extends EPackage
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
* @generated
*/
interface Literals
@@ -720,7 +853,6 @@ public interface Model3Package extends EPackage
/**
* The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.Class1Impl <em>Class1</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.impl.Class1Impl
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getClass1()
* @generated
@@ -728,17 +860,16 @@ public interface Model3Package extends EPackage
EClass CLASS1 = eINSTANCE.getClass1();
/**
- * The meta object literal for the '<em><b>Class2</b></em>' reference list feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Class2</b></em>' reference list feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EReference CLASS1__CLASS2 = eINSTANCE.getClass1_Class2();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.MetaRefImpl <em>Meta Ref</em>}'
- * class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.MetaRefImpl <em>Meta Ref</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.model3.impl.MetaRefImpl
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getMetaRef()
* @generated
@@ -746,17 +877,16 @@ public interface Model3Package extends EPackage
EClass META_REF = eINSTANCE.getMetaRef();
/**
- * The meta object literal for the '<em><b>EPackage Ref</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>EPackage Ref</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EReference META_REF__EPACKAGE_REF = eINSTANCE.getMetaRef_EPackageRef();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.PolygonImpl <em>Polygon</em>}'
- * class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.PolygonImpl <em>Polygon</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.model3.impl.PolygonImpl
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getPolygon()
* @generated
@@ -764,17 +894,16 @@ public interface Model3Package extends EPackage
EClass POLYGON = eINSTANCE.getPolygon();
/**
- * The meta object literal for the '<em><b>Points</b></em>' attribute list feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Points</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute POLYGON__POINTS = eINSTANCE.getPolygon_Points();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.PolygonWithDuplicatesImpl
- * <em>Polygon With Duplicates</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.PolygonWithDuplicatesImpl <em>Polygon With Duplicates</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.model3.impl.PolygonWithDuplicatesImpl
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getPolygonWithDuplicates()
* @generated
@@ -782,9 +911,9 @@ public interface Model3Package extends EPackage
EClass POLYGON_WITH_DUPLICATES = eINSTANCE.getPolygonWithDuplicates();
/**
- * The meta object literal for the '<em><b>Points</b></em>' attribute list feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Points</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute POLYGON_WITH_DUPLICATES__POINTS = eINSTANCE.getPolygonWithDuplicates_Points();
@@ -792,7 +921,6 @@ public interface Model3Package extends EPackage
/**
* The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl <em>Node A</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeA()
* @generated
@@ -808,17 +936,17 @@ public interface Model3Package extends EPackage
EReference NODE_A__CHILDREN = eINSTANCE.getNodeA_Children();
/**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute NODE_A__NAME = eINSTANCE.getNodeA_Name();
/**
- * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_A__OTHER_NODES = eINSTANCE.getNodeA_OtherNodes();
@@ -826,7 +954,6 @@ public interface Model3Package extends EPackage
/**
* The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl <em>Node B</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeB()
* @generated
@@ -842,17 +969,17 @@ public interface Model3Package extends EPackage
EReference NODE_B__CHILDREN = eINSTANCE.getNodeB_Children();
/**
- * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_B__PARENT = eINSTANCE.getNodeB_Parent();
/**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute NODE_B__NAME = eINSTANCE.getNodeB_Name();
@@ -860,7 +987,6 @@ public interface Model3Package extends EPackage
/**
* The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl <em>Node C</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeC()
* @generated
@@ -876,33 +1002,33 @@ public interface Model3Package extends EPackage
EReference NODE_C__CHILDREN = eINSTANCE.getNodeC_Children();
/**
- * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_C__PARENT = eINSTANCE.getNodeC_Parent();
/**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute NODE_C__NAME = eINSTANCE.getNodeC_Name();
/**
- * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_C__OTHER_NODES = eINSTANCE.getNodeC_OtherNodes();
/**
- * The meta object literal for the '<em><b>Opposite Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Opposite Nodes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_C__OPPOSITE_NODES = eINSTANCE.getNodeC_OppositeNodes();
@@ -910,7 +1036,6 @@ public interface Model3Package extends EPackage
/**
* The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl <em>Node D</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getNodeD()
* @generated
@@ -926,40 +1051,100 @@ public interface Model3Package extends EPackage
EReference NODE_D__CHILDREN = eINSTANCE.getNodeD_Children();
/**
- * The meta object literal for the '<em><b>Parent</b></em>' container reference feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_D__PARENT = eINSTANCE.getNodeD_Parent();
/**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EAttribute NODE_D__NAME = eINSTANCE.getNodeD_Name();
/**
- * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature. <!-- begin-user-doc -->
+ * The meta object literal for the '<em><b>Other Nodes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
EReference NODE_D__OTHER_NODES = eINSTANCE.getNodeD_OtherNodes();
/**
- * The meta object literal for the '<em><b>Opposite Node</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Opposite Node</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EReference NODE_D__OPPOSITE_NODE = eINSTANCE.getNodeD_OppositeNode();
/**
- * The meta object literal for the '<em>Point</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.ImageImpl <em>Image</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model3.impl.ImageImpl
+ * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getImage()
+ * @generated
+ */
+ EClass IMAGE = eINSTANCE.getImage();
+
+ /**
+ * The meta object literal for the '<em><b>Width</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__WIDTH = eINSTANCE.getImage_Width();
+
+ /**
+ * The meta object literal for the '<em><b>Height</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__HEIGHT = eINSTANCE.getImage_Height();
+
+ /**
+ * The meta object literal for the '<em><b>Data</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMAGE__DATA = eINSTANCE.getImage_Data();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.impl.FileImpl <em>File</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.tests.model3.impl.FileImpl
+ * @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getFile()
+ * @generated
+ */
+ EClass FILE = eINSTANCE.getFile();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FILE__NAME = eINSTANCE.getFile_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Data</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FILE__DATA = eINSTANCE.getFile_Data();
+
+ /**
+ * The meta object literal for the '<em>Point</em>' data type.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.model3.Point
* @see org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl#getPoint()
* @generated
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeA.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeA.java
index e719db9c4b..c80fa4c226 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeA.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeA.java
@@ -15,15 +15,16 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> A representation of the model object '<em><b>Node A</b></em>'. <!-- end-user-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeA#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeA#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeA#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeA#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeA#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeA#getOtherNodes <em>Other Nodes</em>}</li>
* </ul>
* </p>
- *
+ *
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeA()
* @model
* @generated
@@ -31,14 +32,14 @@ import org.eclipse.emf.ecore.EObject;
public interface NodeA extends EObject
{
/**
- * Returns the value of the '<em><b>Children</b></em>' containment reference list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.NodeA}. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Children</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.NodeA}.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Children</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>Children</em>' containment reference list.
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeA_Children()
* @model containment="true"
@@ -47,12 +48,12 @@ public interface NodeA extends EObject
EList<NodeA> getChildren();
/**
- * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc -->
+ * 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 #setName(String)
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeA_Name()
@@ -73,14 +74,14 @@ public interface NodeA extends EObject
void setName(String value);
/**
- * Returns the value of the '<em><b>Other Nodes</b></em>' reference list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.NodeA}. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Other Nodes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.NodeA}.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Other Nodes</em>' reference list isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
- *
* @return the value of the '<em>Other Nodes</em>' reference list.
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeA_OtherNodes()
* @model
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeB.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeB.java
index 1bdc4ed1cc..10dfc88391 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeB.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeB.java
@@ -15,15 +15,16 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> A representation of the model object '<em><b>Node B</b></em>'. <!-- end-user-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeB#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeB#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeB#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeB#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeB#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeB#getName <em>Name</em>}</li>
* </ul>
* </p>
- *
+ *
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeB()
* @model
* @generated
@@ -31,15 +32,15 @@ import org.eclipse.emf.ecore.EObject;
public interface NodeB extends EObject
{
/**
- * Returns the value of the '<em><b>Children</b></em>' containment reference list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.NodeB}. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeB#getParent <em>Parent</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Children</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.NodeB}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.NodeB#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Children</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>Children</em>' containment reference list.
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeB_Children()
* @see org.eclipse.emf.cdo.tests.model3.NodeB#getParent
@@ -49,14 +50,14 @@ public interface NodeB extends EObject
EList<NodeB> getChildren();
/**
- * Returns the value of the '<em><b>Parent</b></em>' container reference. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeB#getChildren <em>Children</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Parent</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.NodeB#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Parent</em>' container reference isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
- *
* @return the value of the '<em>Parent</em>' container reference.
* @see #setParent(NodeB)
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeB_Parent()
@@ -67,23 +68,21 @@ public interface NodeB extends EObject
NodeB getParent();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeB#getParent <em>Parent</em>}' container
- * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Parent</em>' container reference.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeB#getParent <em>Parent</em>}' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent</em>' container reference.
* @see #getParent()
* @generated
*/
void setParent(NodeB value);
/**
- * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc -->
+ * 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 #setName(String)
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeB_Name()
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeC.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeC.java
index d2455ef3a8..c9ed903359 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeC.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeC.java
@@ -15,17 +15,18 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> A representation of the model object '<em><b>Node C</b></em>'. <!-- end-user-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes <em>Other Nodes</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes <em>Opposite Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes <em>Opposite Nodes</em>}</li>
* </ul>
* </p>
- *
+ *
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC()
* @model
* @generated
@@ -33,15 +34,15 @@ import org.eclipse.emf.ecore.EObject;
public interface NodeC extends EObject
{
/**
- * Returns the value of the '<em><b>Children</b></em>' containment reference list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.NodeC}. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent <em>Parent</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Children</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.NodeC}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Children</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>Children</em>' containment reference list.
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC_Children()
* @see org.eclipse.emf.cdo.tests.model3.NodeC#getParent
@@ -51,14 +52,14 @@ public interface NodeC extends EObject
EList<NodeC> getChildren();
/**
- * Returns the value of the '<em><b>Parent</b></em>' container reference. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeC#getChildren <em>Children</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Parent</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Parent</em>' container reference isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
- *
* @return the value of the '<em>Parent</em>' container reference.
* @see #setParent(NodeC)
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC_Parent()
@@ -69,23 +70,21 @@ public interface NodeC extends EObject
NodeC getParent();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent <em>Parent</em>}' container
- * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Parent</em>' container reference.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getParent <em>Parent</em>}' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent</em>' container reference.
* @see #getParent()
* @generated
*/
void setParent(NodeC value);
/**
- * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc -->
+ * 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 #setName(String)
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC_Name()
@@ -106,15 +105,15 @@ public interface NodeC extends EObject
void setName(String value);
/**
- * Returns the value of the '<em><b>Other Nodes</b></em>' reference list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.NodeC}. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes <em>Opposite Nodes</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Other Nodes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.NodeC}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes <em>Opposite Nodes</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Other Nodes</em>' reference list isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
- *
* @return the value of the '<em>Other Nodes</em>' reference list.
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC_OtherNodes()
* @see org.eclipse.emf.cdo.tests.model3.NodeC#getOppositeNodes
@@ -124,15 +123,15 @@ public interface NodeC extends EObject
EList<NodeC> getOtherNodes();
/**
- * Returns the value of the '<em><b>Opposite Nodes</b></em>' reference list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.NodeC}. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes <em>Other Nodes</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Opposite Nodes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.NodeC}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes <em>Other Nodes</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Opposite Nodes</em>' reference list isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
- *
* @return the value of the '<em>Opposite Nodes</em>' reference list.
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeC_OppositeNodes()
* @see org.eclipse.emf.cdo.tests.model3.NodeC#getOtherNodes
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeD.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeD.java
index 4209fe3424..79dee2fa23 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeD.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/NodeD.java
@@ -15,17 +15,18 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> A representation of the model object '<em><b>Node D</b></em>'. <!-- end-user-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes <em>Other Nodes</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode <em>Opposite Node</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode <em>Opposite Node</em>}</li>
* </ul>
* </p>
- *
+ *
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD()
* @model
* @generated
@@ -33,15 +34,15 @@ import org.eclipse.emf.ecore.EObject;
public interface NodeD extends EObject
{
/**
- * Returns the value of the '<em><b>Children</b></em>' containment reference list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.NodeD}. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent <em>Parent</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Children</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.NodeD}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Children</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>Children</em>' containment reference list.
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD_Children()
* @see org.eclipse.emf.cdo.tests.model3.NodeD#getParent
@@ -51,14 +52,14 @@ public interface NodeD extends EObject
EList<NodeD> getChildren();
/**
- * Returns the value of the '<em><b>Parent</b></em>' container reference. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeD#getChildren <em>Children</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Parent</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getChildren <em>Children</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Parent</em>' container reference isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
- *
* @return the value of the '<em>Parent</em>' container reference.
* @see #setParent(NodeD)
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD_Parent()
@@ -69,23 +70,21 @@ public interface NodeD extends EObject
NodeD getParent();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent <em>Parent</em>}' container
- * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Parent</em>' container reference.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getParent <em>Parent</em>}' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent</em>' container reference.
* @see #getParent()
* @generated
*/
void setParent(NodeD value);
/**
- * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc -->
+ * 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 #setName(String)
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD_Name()
@@ -106,15 +105,15 @@ public interface NodeD extends EObject
void setName(String value);
/**
- * Returns the value of the '<em><b>Other Nodes</b></em>' reference list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.NodeD}. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode <em>Opposite Node</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Other Nodes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.NodeD}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode <em>Opposite Node</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Other Nodes</em>' reference list isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
- *
* @return the value of the '<em>Other Nodes</em>' reference list.
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD_OtherNodes()
* @see org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode
@@ -124,14 +123,14 @@ public interface NodeD extends EObject
EList<NodeD> getOtherNodes();
/**
- * Returns the value of the '<em><b>Opposite Node</b></em>' reference. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes <em>Other Nodes</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Opposite Node</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOtherNodes <em>Other Nodes</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Opposite Node</em>' reference isn't clear, there really should be more of a description
* here...
* </p>
* <!-- end-user-doc -->
- *
* @return the value of the '<em>Opposite Node</em>' reference.
* @see #setOppositeNode(NodeD)
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getNodeD_OppositeNode()
@@ -142,11 +141,9 @@ public interface NodeD extends EObject
NodeD getOppositeNode();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode <em>Opposite Node</em>}'
- * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Opposite Node</em>' reference.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.tests.model3.NodeD#getOppositeNode <em>Opposite Node</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Opposite Node</em>' reference.
* @see #getOppositeNode()
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Polygon.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Polygon.java
index 1146a5731c..8c78c99e17 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Polygon.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/Polygon.java
@@ -15,13 +15,14 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> A representation of the model object '<em><b>Polygon</b></em>'. <!-- end-user-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.Polygon#getPoints <em>Points</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.Polygon#getPoints <em>Points</em>}</li>
* </ul>
* </p>
- *
+ *
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getPolygon()
* @model
* @generated
@@ -29,14 +30,14 @@ import org.eclipse.emf.ecore.EObject;
public interface Polygon extends EObject
{
/**
- * Returns the value of the '<em><b>Points</b></em>' attribute list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.Point}. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Points</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.Point}.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Points</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>Points</em>' attribute list.
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getPolygon_Points()
* @model dataType="org.eclipse.emf.cdo.tests.model3.Point" required="true"
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/PolygonWithDuplicates.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/PolygonWithDuplicates.java
index e21ed0b263..38343944b3 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/PolygonWithDuplicates.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/PolygonWithDuplicates.java
@@ -16,13 +16,14 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> A representation of the model object '<em><b>Polygon With Duplicates</b></em>'. <!--
* end-user-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates#getPoints <em>Points</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates#getPoints <em>Points</em>}</li>
* </ul>
* </p>
- *
+ *
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getPolygonWithDuplicates()
* @model
* @generated
@@ -30,14 +31,14 @@ import org.eclipse.emf.ecore.EObject;
public interface PolygonWithDuplicates extends EObject
{
/**
- * Returns the value of the '<em><b>Points</b></em>' attribute list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.Point}. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Points</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.Point}.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Points</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>Points</em>' attribute list.
* @see org.eclipse.emf.cdo.tests.model3.Model3Package#getPolygonWithDuplicates_Points()
* @model unique="false" dataType="org.eclipse.emf.cdo.tests.model3.Point" required="true"
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Class1Impl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Class1Impl.java
index d5f9ef44b9..9f66aec814 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Class1Impl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Class1Impl.java
@@ -24,17 +24,16 @@ import org.eclipse.emf.ecore.EClass;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.Class1Impl#getClass2 <em>Class2</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.Class1Impl#getClass2 <em>Class2</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class Class1Impl extends CDOObjectImpl implements Class1
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected Class1Impl()
@@ -44,7 +43,6 @@ public class Class1Impl extends CDOObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -55,7 +53,6 @@ public class Class1Impl extends CDOObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -66,7 +63,6 @@ public class Class1Impl extends CDOObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -77,7 +73,6 @@ public class Class1Impl extends CDOObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void unsetClass2()
@@ -87,7 +82,6 @@ public class Class1Impl extends CDOObjectImpl implements Class1
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public boolean isSetClass2()
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/FileImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/FileImpl.java
new file mode 100644
index 0000000000..3debe94ac9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/FileImpl.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model3.impl;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOClob;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.tests.model3.Model3Package;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>File</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.FileImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.FileImpl#getData <em>Data</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FileImpl extends CDOObjectImpl implements File
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FileImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return Model3Package.Literals.FILE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return (String)eGet(Model3Package.Literals.FILE__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ eSet(Model3Package.Literals.FILE__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CDOClob getData()
+ {
+ return (CDOClob)eGet(Model3Package.Literals.FILE__DATA, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setData(CDOClob newData)
+ {
+ eSet(Model3Package.Literals.FILE__DATA, newData);
+ }
+
+} //FileImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/ImageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/ImageImpl.java
new file mode 100644
index 0000000000..c095dbd032
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/ImageImpl.java
@@ -0,0 +1,130 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests.model3.impl;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOBlob;
+import org.eclipse.emf.cdo.tests.model3.Image;
+import org.eclipse.emf.cdo.tests.model3.Model3Package;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Image</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.ImageImpl#getWidth <em>Width</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.ImageImpl#getHeight <em>Height</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.ImageImpl#getData <em>Data</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImageImpl extends CDOObjectImpl implements Image
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImageImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return Model3Package.Literals.IMAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getWidth()
+ {
+ return (Integer)eGet(Model3Package.Literals.IMAGE__WIDTH, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWidth(int newWidth)
+ {
+ eSet(Model3Package.Literals.IMAGE__WIDTH, newWidth);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getHeight()
+ {
+ return (Integer)eGet(Model3Package.Literals.IMAGE__HEIGHT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHeight(int newHeight)
+ {
+ eSet(Model3Package.Literals.IMAGE__HEIGHT, newHeight);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CDOBlob getData()
+ {
+ return (CDOBlob)eGet(Model3Package.Literals.IMAGE__DATA, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setData(CDOBlob newData)
+ {
+ eSet(Model3Package.Literals.IMAGE__DATA, newData);
+ }
+
+} //ImageImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/MetaRefImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/MetaRefImpl.java
index 6ee14721a6..0897d5fc65 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/MetaRefImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/MetaRefImpl.java
@@ -34,7 +34,6 @@ public class MetaRefImpl extends CDOObjectImpl implements MetaRef
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected MetaRefImpl()
@@ -44,7 +43,6 @@ public class MetaRefImpl extends CDOObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -55,7 +53,6 @@ public class MetaRefImpl extends CDOObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -66,7 +63,6 @@ public class MetaRefImpl extends CDOObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EPackage getEPackageRef()
@@ -76,7 +72,6 @@ public class MetaRefImpl extends CDOObjectImpl implements MetaRef
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setEPackageRef(EPackage newEPackageRef)
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3FactoryImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3FactoryImpl.java
index 469503c9ca..3e9fdd2092 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3FactoryImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3FactoryImpl.java
@@ -11,6 +11,8 @@
package org.eclipse.emf.cdo.tests.model3.impl;
import org.eclipse.emf.cdo.tests.model3.Class1;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.tests.model3.Image;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.Model3Factory;
import org.eclipse.emf.cdo.tests.model3.Model3Package;
@@ -31,14 +33,13 @@ import org.eclipse.emf.ecore.plugin.EcorePlugin;
/**
* <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
- *
* @generated
*/
public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
{
/**
- * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public static Model3Factory init()
@@ -60,8 +61,8 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
}
/**
- * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public Model3FactoryImpl()
@@ -71,7 +72,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -95,6 +95,10 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
return createNodeC();
case Model3Package.NODE_D:
return createNodeD();
+ case Model3Package.IMAGE:
+ return createImage();
+ case Model3Package.FILE:
+ return createFile();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -102,7 +106,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -119,7 +122,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -136,7 +138,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public Class1 createClass1()
@@ -147,7 +148,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public MetaRef createMetaRef()
@@ -158,7 +158,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public Polygon createPolygon()
@@ -169,7 +168,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public PolygonWithDuplicates createPolygonWithDuplicates()
@@ -180,7 +178,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeA createNodeA()
@@ -191,7 +188,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeB createNodeB()
@@ -202,7 +198,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeC createNodeC()
@@ -213,7 +208,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeD createNodeD()
@@ -223,6 +217,28 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image createImage()
+ {
+ ImageImpl image = new ImageImpl();
+ return image;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public File createFile()
+ {
+ FileImpl file = new FileImpl();
+ return file;
+ }
+
+ /**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated NOT
@@ -244,7 +260,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public Model3Package getModel3Package()
@@ -254,7 +269,6 @@ public class Model3FactoryImpl extends EFactoryImpl implements Model3Factory
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @deprecated
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3PackageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3PackageImpl.java
index ddcb08dd06..353aba413f 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3PackageImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/Model3PackageImpl.java
@@ -10,7 +10,10 @@
*/
package org.eclipse.emf.cdo.tests.model3.impl;
+import org.eclipse.emf.cdo.etypes.EtypesPackage;
import org.eclipse.emf.cdo.tests.model3.Class1;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.tests.model3.Image;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.Model3Factory;
import org.eclipse.emf.cdo.tests.model3.Model3Package;
@@ -34,70 +37,74 @@ import org.eclipse.emf.ecore.impl.EPackageImpl;
/**
* <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
- *
* @generated
*/
public class Model3PackageImpl extends EPackageImpl implements Model3Package
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EClass class1EClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EClass metaRefEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EClass polygonEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EClass polygonWithDuplicatesEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EClass nodeAEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EClass nodeBEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EClass nodeCEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EClass nodeDEClass = null;
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass imageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass fileEClass = null;
+
+ /**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EDataType pointEDataType = null;
@@ -122,18 +129,17 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private static boolean isInited = false;
/**
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
- * <p>
- * This method is used to initialize {@link Model3Package#eINSTANCE} when that field is accessed. Clients should not
- * invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
*
+ * <p>This method is used to initialize {@link Model3Package#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
* @see #eNS_URI
* @see #createPackageContents()
* @see #initializePackageContents()
@@ -152,6 +158,7 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
// Initialize simple dependencies
EcorePackage.eINSTANCE.eClass();
+ EtypesPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
SubpackagePackageImpl theSubpackagePackage = (SubpackagePackageImpl)(EPackage.Registry.INSTANCE
@@ -176,7 +183,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EClass getClass1()
@@ -186,7 +192,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getClass1_Class2()
@@ -196,7 +201,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EClass getMetaRef()
@@ -206,7 +210,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getMetaRef_EPackageRef()
@@ -216,7 +219,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EClass getPolygon()
@@ -226,7 +228,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EAttribute getPolygon_Points()
@@ -236,7 +237,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EClass getPolygonWithDuplicates()
@@ -246,7 +246,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EAttribute getPolygonWithDuplicates_Points()
@@ -256,7 +255,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EClass getNodeA()
@@ -266,7 +264,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeA_Children()
@@ -276,7 +273,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EAttribute getNodeA_Name()
@@ -286,7 +282,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeA_OtherNodes()
@@ -296,7 +291,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EClass getNodeB()
@@ -306,7 +300,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeB_Children()
@@ -316,7 +309,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeB_Parent()
@@ -326,7 +318,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EAttribute getNodeB_Name()
@@ -336,7 +327,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EClass getNodeC()
@@ -346,7 +336,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeC_Children()
@@ -356,7 +345,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeC_Parent()
@@ -366,7 +354,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EAttribute getNodeC_Name()
@@ -376,7 +363,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeC_OtherNodes()
@@ -386,7 +372,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeC_OppositeNodes()
@@ -396,7 +381,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EClass getNodeD()
@@ -406,7 +390,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeD_Children()
@@ -416,7 +399,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeD_Parent()
@@ -426,7 +408,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EAttribute getNodeD_Name()
@@ -436,7 +417,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeD_OtherNodes()
@@ -446,7 +426,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getNodeD_OppositeNode()
@@ -455,8 +434,77 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImage()
+ {
+ return imageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Width()
+ {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Height()
+ {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImage_Data()
+ {
+ return (EAttribute)imageEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFile()
+ {
+ return fileEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFile_Name()
+ {
+ return (EAttribute)fileEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFile_Data()
+ {
+ return (EAttribute)fileEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EDataType getPoint()
@@ -466,7 +514,6 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public Model3Factory getModel3Factory()
@@ -476,15 +523,14 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private boolean isCreated = false;
/**
- * Creates the meta-model objects for the package. This method is guarded to have no affect on any invocation but its
- * first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public void createPackageContents()
@@ -530,21 +576,29 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
createEReference(nodeDEClass, NODE_D__OTHER_NODES);
createEReference(nodeDEClass, NODE_D__OPPOSITE_NODE);
+ imageEClass = createEClass(IMAGE);
+ createEAttribute(imageEClass, IMAGE__WIDTH);
+ createEAttribute(imageEClass, IMAGE__HEIGHT);
+ createEAttribute(imageEClass, IMAGE__DATA);
+
+ fileEClass = createEClass(FILE);
+ createEAttribute(fileEClass, FILE__NAME);
+ createEAttribute(fileEClass, FILE__DATA);
+
// Create data types
pointEDataType = createEDataType(POINT);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private boolean isInitialized = false;
/**
- * Complete the initialization of the package and its meta-model. This method is guarded to have no affect on any
- * invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public void initializePackageContents()
@@ -562,6 +616,7 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
SubpackagePackage theSubpackagePackage = (SubpackagePackage)EPackage.Registry.INSTANCE
.getEPackage(SubpackagePackage.eNS_URI);
EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ EtypesPackage theEtypesPackage = (EtypesPackage)EPackage.Registry.INSTANCE.getEPackage(EtypesPackage.eNS_URI);
// Add subpackages
getESubpackages().add(theSubpackagePackage);
@@ -645,6 +700,20 @@ public class Model3PackageImpl extends EPackageImpl implements Model3Package
NodeD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(imageEClass, Image.class, "Image", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImage_Width(), theEcorePackage.getEInt(), "width", null, 0, 1, Image.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_Height(), theEcorePackage.getEInt(), "height", null, 0, 1, Image.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImage_Data(), theEtypesPackage.getBlob(), "data", null, 0, 1, Image.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(fileEClass, File.class, "File", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFile_Name(), theEcorePackage.getEString(), "name", null, 0, 1, File.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFile_Data(), theEtypesPackage.getClob(), "data", null, 0, 1, File.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
// Initialize data types
initEDataType(pointEDataType, Point.class, "Point", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeAImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeAImpl.java
index 2e1dd9b65c..a8fd7edbe5 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeAImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeAImpl.java
@@ -23,19 +23,18 @@ import org.eclipse.emf.ecore.EClass;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeAImpl#getOtherNodes <em>Other Nodes</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class NodeAImpl extends CDOObjectImpl implements NodeA
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected NodeAImpl()
@@ -45,7 +44,6 @@ public class NodeAImpl extends CDOObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -56,7 +54,6 @@ public class NodeAImpl extends CDOObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -67,7 +64,6 @@ public class NodeAImpl extends CDOObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -78,7 +74,6 @@ public class NodeAImpl extends CDOObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public String getName()
@@ -88,7 +83,6 @@ public class NodeAImpl extends CDOObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setName(String newName)
@@ -98,7 +92,6 @@ public class NodeAImpl extends CDOObjectImpl implements NodeA
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeBImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeBImpl.java
index d59f4e3b03..ee0c89fd4b 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeBImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeBImpl.java
@@ -23,19 +23,18 @@ import org.eclipse.emf.ecore.EClass;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeBImpl#getName <em>Name</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class NodeBImpl extends CDOObjectImpl implements NodeB
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected NodeBImpl()
@@ -45,7 +44,6 @@ public class NodeBImpl extends CDOObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -56,7 +54,6 @@ public class NodeBImpl extends CDOObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -67,7 +64,6 @@ public class NodeBImpl extends CDOObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -78,7 +74,6 @@ public class NodeBImpl extends CDOObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeB getParent()
@@ -88,7 +83,6 @@ public class NodeBImpl extends CDOObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setParent(NodeB newParent)
@@ -98,7 +92,6 @@ public class NodeBImpl extends CDOObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public String getName()
@@ -108,7 +101,6 @@ public class NodeBImpl extends CDOObjectImpl implements NodeB
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setName(String newName)
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeCImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeCImpl.java
index 7f179afdf1..9fd1f25758 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeCImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeCImpl.java
@@ -23,21 +23,20 @@ import org.eclipse.emf.ecore.EClass;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getOtherNodes <em>Other Nodes</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getOppositeNodes <em>Opposite Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeCImpl#getOppositeNodes <em>Opposite Nodes</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class NodeCImpl extends CDOObjectImpl implements NodeC
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected NodeCImpl()
@@ -47,7 +46,6 @@ public class NodeCImpl extends CDOObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -58,7 +56,6 @@ public class NodeCImpl extends CDOObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -69,7 +66,6 @@ public class NodeCImpl extends CDOObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -80,7 +76,6 @@ public class NodeCImpl extends CDOObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeC getParent()
@@ -90,7 +85,6 @@ public class NodeCImpl extends CDOObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setParent(NodeC newParent)
@@ -100,7 +94,6 @@ public class NodeCImpl extends CDOObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public String getName()
@@ -110,7 +103,6 @@ public class NodeCImpl extends CDOObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setName(String newName)
@@ -120,7 +112,6 @@ public class NodeCImpl extends CDOObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -131,7 +122,6 @@ public class NodeCImpl extends CDOObjectImpl implements NodeC
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeDImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeDImpl.java
index 4e90a8c9cc..be9fec0973 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeDImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/NodeDImpl.java
@@ -23,21 +23,20 @@ import org.eclipse.emf.ecore.EClass;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getChildren <em>Children</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getParent <em>Parent</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getOtherNodes <em>Other Nodes</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getOppositeNode <em>Opposite Node</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getOtherNodes <em>Other Nodes</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.NodeDImpl#getOppositeNode <em>Opposite Node</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class NodeDImpl extends CDOObjectImpl implements NodeD
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected NodeDImpl()
@@ -47,7 +46,6 @@ public class NodeDImpl extends CDOObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -58,7 +56,6 @@ public class NodeDImpl extends CDOObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -69,7 +66,6 @@ public class NodeDImpl extends CDOObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -80,7 +76,6 @@ public class NodeDImpl extends CDOObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeD getParent()
@@ -90,7 +85,6 @@ public class NodeDImpl extends CDOObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setParent(NodeD newParent)
@@ -100,7 +94,6 @@ public class NodeDImpl extends CDOObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public String getName()
@@ -110,7 +103,6 @@ public class NodeDImpl extends CDOObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setName(String newName)
@@ -120,7 +112,6 @@ public class NodeDImpl extends CDOObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -131,7 +122,6 @@ public class NodeDImpl extends CDOObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public NodeD getOppositeNode()
@@ -141,7 +131,6 @@ public class NodeDImpl extends CDOObjectImpl implements NodeD
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public void setOppositeNode(NodeD newOppositeNode)
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/PolygonImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/PolygonImpl.java
index f30ef43713..265a5f6b1f 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/PolygonImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/PolygonImpl.java
@@ -24,17 +24,16 @@ import org.eclipse.emf.ecore.EClass;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.PolygonImpl#getPoints <em>Points</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.PolygonImpl#getPoints <em>Points</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class PolygonImpl extends CDOObjectImpl implements Polygon
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected PolygonImpl()
@@ -44,7 +43,6 @@ public class PolygonImpl extends CDOObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -55,7 +53,6 @@ public class PolygonImpl extends CDOObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -66,7 +63,6 @@ public class PolygonImpl extends CDOObjectImpl implements Polygon
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/PolygonWithDuplicatesImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/PolygonWithDuplicatesImpl.java
index 12c908b90b..172c9e12df 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/PolygonWithDuplicatesImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/impl/PolygonWithDuplicatesImpl.java
@@ -25,17 +25,16 @@ import org.eclipse.emf.ecore.EClass;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.PolygonWithDuplicatesImpl#getPoints <em>Points</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.impl.PolygonWithDuplicatesImpl#getPoints <em>Points</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class PolygonWithDuplicatesImpl extends CDOObjectImpl implements PolygonWithDuplicates
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected PolygonWithDuplicatesImpl()
@@ -45,7 +44,6 @@ public class PolygonWithDuplicatesImpl extends CDOObjectImpl implements PolygonW
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -56,7 +54,6 @@ public class PolygonWithDuplicatesImpl extends CDOObjectImpl implements PolygonW
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -67,7 +64,6 @@ public class PolygonWithDuplicatesImpl extends CDOObjectImpl implements PolygonW
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/Class2.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/Class2.java
index 3bec753635..862fd7ceb7 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/Class2.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/Class2.java
@@ -17,13 +17,14 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> A representation of the model object '<em><b>Class2</b></em>'. <!-- end-user-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2#getClass1 <em>Class1</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2#getClass1 <em>Class1</em>}</li>
* </ul>
* </p>
- *
+ *
* @see org.eclipse.emf.cdo.tests.model3.subpackage.SubpackagePackage#getClass2()
* @model
* @generated
@@ -31,15 +32,15 @@ import org.eclipse.emf.ecore.EObject;
public interface Class2 extends EObject
{
/**
- * Returns the value of the '<em><b>Class1</b></em>' reference list. The list contents are of type
- * {@link org.eclipse.emf.cdo.tests.model3.Class1}. It is bidirectional and its opposite is '
- * {@link org.eclipse.emf.cdo.tests.model3.Class1#getClass2 <em>Class2</em>}'. <!-- begin-user-doc -->
+ * Returns the value of the '<em><b>Class1</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.tests.model3.Class1}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.tests.model3.Class1#getClass2 <em>Class2</em>}'.
+ * <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Class1</em>' reference list isn't clear, there really should be more of a description
* here...
* </p>
* <!-- end-user-doc -->
- *
* @return the value of the '<em>Class1</em>' reference list.
* @see org.eclipse.emf.cdo.tests.model3.subpackage.SubpackagePackage#getClass2_Class1()
* @see org.eclipse.emf.cdo.tests.model3.Class1#getClass2
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/SubpackageFactory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/SubpackageFactory.java
index 62a05286d8..447b7f0df3 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/SubpackageFactory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/SubpackageFactory.java
@@ -15,30 +15,29 @@ import org.eclipse.emf.ecore.EFactory;
/**
* <!-- 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 -->
- *
* @see org.eclipse.emf.cdo.tests.model3.subpackage.SubpackagePackage
* @generated
*/
public interface SubpackageFactory extends EFactory
{
/**
- * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
SubpackageFactory eINSTANCE = org.eclipse.emf.cdo.tests.model3.subpackage.impl.SubpackageFactoryImpl.init();
/**
- * Returns a new object of class '<em>Class2</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns a new object of class '<em>Class2</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Class2</em>'.
* @generated
*/
Class2 createClass2();
/**
- * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the package supported by this factory.
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/SubpackagePackage.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/SubpackagePackage.java
index 46c170f32e..d9c2564cb0 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/SubpackagePackage.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/SubpackagePackage.java
@@ -23,7 +23,6 @@ import org.eclipse.emf.ecore.EReference;
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.subpackage.SubpackageFactory
* @model kind="package"
* @generated
@@ -31,37 +30,36 @@ import org.eclipse.emf.ecore.EReference;
public interface SubpackagePackage extends EPackage
{
/**
- * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
String eNAME = "subpackage";
/**
- * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
String eNS_URI = "http://www.eclipse.org/emf/CDO/tests/subpackage/1.0.0";
/**
- * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
String eNS_PREFIX = "subpackage";
/**
- * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
SubpackagePackage eINSTANCE = org.eclipse.emf.cdo.tests.model3.subpackage.impl.SubpackagePackageImpl.init();
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.subpackage.impl.Class2Impl <em>Class2</em>}'
- * class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.model3.subpackage.impl.Class2Impl <em>Class2</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.model3.subpackage.impl.Class2Impl
* @see org.eclipse.emf.cdo.tests.model3.subpackage.impl.SubpackagePackageImpl#getClass2()
* @generated
@@ -69,16 +67,16 @@ public interface SubpackagePackage extends EPackage
int CLASS2 = 0;
/**
- * The feature id for the '<em><b>Class1</b></em>' reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The feature id for the '<em><b>Class1</b></em>' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int CLASS2__CLASS1 = 0;
/**
- * The number of structural features of the '<em>Class2</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The number of structural features of the '<em>Class2</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
@@ -87,7 +85,6 @@ public interface SubpackagePackage extends EPackage
/**
* Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2 <em>Class2</em>}'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the meta object for class '<em>Class2</em>'.
* @see org.eclipse.emf.cdo.tests.model3.subpackage.Class2
* @generated
@@ -95,10 +92,9 @@ public interface SubpackagePackage extends EPackage
EClass getClass2();
/**
- * Returns the meta object for the reference list '
- * {@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2#getClass1 <em>Class1</em>}'. <!-- begin-user-doc --> <!--
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2#getClass1 <em>Class1</em>}'.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @return the meta object for the reference list '<em>Class1</em>'.
* @see org.eclipse.emf.cdo.tests.model3.subpackage.Class2#getClass1()
* @see #getClass2()
@@ -107,8 +103,8 @@ public interface SubpackagePackage extends EPackage
EReference getClass2_Class1();
/**
- * Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the factory that creates the instances of the model.
* @generated
*/
@@ -123,15 +119,13 @@ public interface SubpackagePackage extends EPackage
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
* @generated
*/
interface Literals
{
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.subpackage.impl.Class2Impl
- * <em>Class2</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.model3.subpackage.impl.Class2Impl <em>Class2</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.cdo.tests.model3.subpackage.impl.Class2Impl
* @see org.eclipse.emf.cdo.tests.model3.subpackage.impl.SubpackagePackageImpl#getClass2()
* @generated
@@ -139,9 +133,9 @@ public interface SubpackagePackage extends EPackage
EClass CLASS2 = eINSTANCE.getClass2();
/**
- * The meta object literal for the '<em><b>Class1</b></em>' reference list feature. <!-- begin-user-doc --> <!--
+ * The meta object literal for the '<em><b>Class1</b></em>' reference list feature.
+ * <!-- begin-user-doc --> <!--
* end-user-doc -->
- *
* @generated
*/
EReference CLASS2__CLASS1 = eINSTANCE.getClass2_Class1();
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/Class2Impl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/Class2Impl.java
index 5172e6c0c4..7c9cdb34eb 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/Class2Impl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/Class2Impl.java
@@ -24,17 +24,16 @@ import org.eclipse.emf.ecore.EClass;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.tests.model3.subpackage.impl.Class2Impl#getClass1 <em>Class1</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.model3.subpackage.impl.Class2Impl#getClass1 <em>Class1</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class Class2Impl extends CDOObjectImpl implements Class2
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
protected Class2Impl()
@@ -44,7 +43,6 @@ public class Class2Impl extends CDOObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -55,7 +53,6 @@ public class Class2Impl extends CDOObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -66,7 +63,6 @@ public class Class2Impl extends CDOObjectImpl implements Class2
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@SuppressWarnings("unchecked")
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/SubpackageFactoryImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/SubpackageFactoryImpl.java
index 66afab1f7b..840aa03dad 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/SubpackageFactoryImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/SubpackageFactoryImpl.java
@@ -22,14 +22,13 @@ import org.eclipse.emf.ecore.plugin.EcorePlugin;
/**
* <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
- *
* @generated
*/
public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFactory
{
/**
- * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public static SubpackageFactory init()
@@ -51,8 +50,8 @@ public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFac
}
/**
- * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public SubpackageFactoryImpl()
@@ -62,7 +61,6 @@ public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -79,7 +77,6 @@ public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public Class2 createClass2()
@@ -90,7 +87,6 @@ public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public SubpackagePackage getSubpackagePackage()
@@ -100,7 +96,6 @@ public class SubpackageFactoryImpl extends EFactoryImpl implements SubpackageFac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @deprecated
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/SubpackagePackageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/SubpackagePackageImpl.java
index aca6da147e..3f936336ce 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/SubpackagePackageImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/impl/SubpackagePackageImpl.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.emf.cdo.tests.model3.subpackage.impl;
+import org.eclipse.emf.cdo.etypes.EtypesPackage;
import org.eclipse.emf.cdo.tests.model3.Model3Package;
import org.eclipse.emf.cdo.tests.model3.impl.Model3PackageImpl;
import org.eclipse.emf.cdo.tests.model3.subpackage.Class2;
@@ -24,14 +25,12 @@ import org.eclipse.emf.ecore.impl.EPackageImpl;
/**
* <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
- *
* @generated
*/
public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePackage
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private EClass class2EClass = null;
@@ -56,18 +55,17 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private static boolean isInited = false;
/**
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
- * <p>
- * This method is used to initialize {@link SubpackagePackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
*
+ * <p>This method is used to initialize {@link SubpackagePackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
* @see #eNS_URI
* @see #createPackageContents()
* @see #initializePackageContents()
@@ -86,6 +84,7 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
// Initialize simple dependencies
EcorePackage.eINSTANCE.eClass();
+ EtypesPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
Model3PackageImpl theModel3Package = (Model3PackageImpl)(EPackage.Registry.INSTANCE
@@ -110,7 +109,6 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EClass getClass2()
@@ -120,7 +118,6 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public EReference getClass2_Class1()
@@ -130,7 +127,6 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
public SubpackageFactory getSubpackageFactory()
@@ -140,15 +136,14 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private boolean isCreated = false;
/**
- * Creates the meta-model objects for the package. This method is guarded to have no affect on any invocation but its
- * first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public void createPackageContents()
@@ -164,15 +159,14 @@ public class SubpackagePackageImpl extends EPackageImpl implements SubpackagePac
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @generated
*/
private boolean isInitialized = false;
/**
- * Complete the initialization of the package and its meta-model. This method is guarded to have no affect on any
- * invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public void initializePackageContents()
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/util/SubpackageAdapterFactory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/util/SubpackageAdapterFactory.java
index ebf6ba3c23..9526de04a9 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/util/SubpackageAdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/util/SubpackageAdapterFactory.java
@@ -21,22 +21,21 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides an adapter <code>createXXX</code>
* method for each class of the model. <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.subpackage.SubpackagePackage
* @generated
*/
public class SubpackageAdapterFactory extends AdapterFactoryImpl
{
/**
- * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected static SubpackagePackage modelPackage;
/**
- * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public SubpackageAdapterFactory()
@@ -48,10 +47,10 @@ public class SubpackageAdapterFactory extends AdapterFactoryImpl
}
/**
- * Returns whether this factory is applicable for the type of the object. <!-- begin-user-doc --> This implementation
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc --> This implementation
* returns <code>true</code> if the object is either the model's package or is an instance object of the model. <!--
* end-user-doc -->
- *
* @return whether this factory is applicable for the type of the object.
* @generated
*/
@@ -70,8 +69,8 @@ public class SubpackageAdapterFactory extends AdapterFactoryImpl
}
/**
- * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected SubpackageSwitch<Adapter> modelSwitch = new SubpackageSwitch<Adapter>()
@@ -90,10 +89,9 @@ public class SubpackageAdapterFactory extends AdapterFactoryImpl
};
/**
- * Creates an adapter for the <code>target</code>. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param target
- * the object to adapt.
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param target the object to adapt.
* @return the adapter for the <code>target</code>.
* @generated
*/
@@ -104,10 +102,9 @@ public class SubpackageAdapterFactory extends AdapterFactoryImpl
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2
- * <em>Class2</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.subpackage.Class2 <em>Class2</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
* cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
- *
* @return the new adapter.
* @see org.eclipse.emf.cdo.tests.model3.subpackage.Class2
* @generated
@@ -118,9 +115,9 @@ public class SubpackageAdapterFactory extends AdapterFactoryImpl
}
/**
- * Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null. <!--
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc --> This default implementation returns null. <!--
* end-user-doc -->
- *
* @return the new adapter.
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/util/SubpackageSwitch.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/util/SubpackageSwitch.java
index 868ca1f276..4398e21031 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/util/SubpackageSwitch.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/subpackage/util/SubpackageSwitch.java
@@ -23,22 +23,21 @@ import java.util.List;
* {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object and proceeding up the inheritance hierarchy until a non-null result is
* returned, which is the result of the switch. <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.subpackage.SubpackagePackage
* @generated
*/
public class SubpackageSwitch<T>
{
/**
- * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected static SubpackagePackage modelPackage;
/**
- * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public SubpackageSwitch()
@@ -52,7 +51,6 @@ public class SubpackageSwitch<T>
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@@ -64,7 +62,6 @@ public class SubpackageSwitch<T>
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@@ -84,7 +81,6 @@ public class SubpackageSwitch<T>
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@@ -106,11 +102,10 @@ public class SubpackageSwitch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Class2</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>Class2</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Class2</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
@@ -121,12 +116,11 @@ public class SubpackageSwitch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch, but this is the last case
* anyway. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>EObject</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject)
* @generated
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3AdapterFactory.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3AdapterFactory.java
index fa26d8382d..f1da3eee4b 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3AdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3AdapterFactory.java
@@ -11,6 +11,8 @@
package org.eclipse.emf.cdo.tests.model3.util;
import org.eclipse.emf.cdo.tests.model3.Class1;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.tests.model3.Image;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.Model3Package;
import org.eclipse.emf.cdo.tests.model3.NodeA;
@@ -28,22 +30,21 @@ import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides an adapter <code>createXXX</code>
* method for each class of the model. <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.Model3Package
* @generated
*/
public class Model3AdapterFactory extends AdapterFactoryImpl
{
/**
- * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected static Model3Package modelPackage;
/**
- * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public Model3AdapterFactory()
@@ -55,10 +56,10 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
/**
- * Returns whether this factory is applicable for the type of the object. <!-- begin-user-doc --> This implementation
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc --> This implementation
* returns <code>true</code> if the object is either the model's package or is an instance object of the model. <!--
* end-user-doc -->
- *
* @return whether this factory is applicable for the type of the object.
* @generated
*/
@@ -77,8 +78,8 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
/**
- * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected Model3Switch<Adapter> modelSwitch = new Model3Switch<Adapter>()
@@ -132,6 +133,18 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
@Override
+ public Adapter caseImage(Image object)
+ {
+ return createImageAdapter();
+ }
+
+ @Override
+ public Adapter caseFile(File object)
+ {
+ return createFileAdapter();
+ }
+
+ @Override
public Adapter defaultCase(EObject object)
{
return createEObjectAdapter();
@@ -139,10 +152,9 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
};
/**
- * Creates an adapter for the <code>target</code>. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param target
- * the object to adapt.
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param target the object to adapt.
* @return the adapter for the <code>target</code>.
* @generated
*/
@@ -156,7 +168,6 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
* Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.Class1 <em>Class1</em>}'.
* <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
* ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
- *
* @return the new adapter.
* @see org.eclipse.emf.cdo.tests.model3.Class1
* @generated
@@ -170,7 +181,6 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
* Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.MetaRef <em>Meta Ref</em>}'.
* <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
* ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
- *
* @return the new adapter.
* @see org.eclipse.emf.cdo.tests.model3.MetaRef
* @generated
@@ -184,7 +194,6 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
* Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.Polygon <em>Polygon</em>}'.
* <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
* ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
- *
* @return the new adapter.
* @see org.eclipse.emf.cdo.tests.model3.Polygon
* @generated
@@ -195,11 +204,10 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates
- * <em>Polygon With Duplicates</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates <em>Polygon With Duplicates</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that we can
* easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
* end-user-doc -->
- *
* @return the new adapter.
* @see org.eclipse.emf.cdo.tests.model3.PolygonWithDuplicates
* @generated
@@ -266,9 +274,39 @@ public class Model3AdapterFactory extends AdapterFactoryImpl
}
/**
- * Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null. <!--
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.Image <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model3.Image
+ * @generated
+ */
+ public Adapter createImageAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.model3.File <em>File</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.model3.File
+ * @generated
+ */
+ public Adapter createFileAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc --> This default implementation returns null. <!--
* end-user-doc -->
- *
* @return the new adapter.
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3Switch.java b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3Switch.java
index f6b41bcd30..fc6a46f055 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3Switch.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model3/src/org/eclipse/emf/cdo/tests/model3/util/Model3Switch.java
@@ -11,6 +11,8 @@
package org.eclipse.emf.cdo.tests.model3.util;
import org.eclipse.emf.cdo.tests.model3.Class1;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.tests.model3.Image;
import org.eclipse.emf.cdo.tests.model3.MetaRef;
import org.eclipse.emf.cdo.tests.model3.Model3Package;
import org.eclipse.emf.cdo.tests.model3.NodeA;
@@ -30,22 +32,21 @@ import java.util.List;
* {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object and proceeding up the inheritance hierarchy until a non-null result is
* returned, which is the result of the switch. <!-- end-user-doc -->
- *
* @see org.eclipse.emf.cdo.tests.model3.Model3Package
* @generated
*/
public class Model3Switch<T>
{
/**
- * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected static Model3Package modelPackage;
/**
- * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public Model3Switch()
@@ -59,7 +60,6 @@ public class Model3Switch<T>
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@@ -71,7 +71,6 @@ public class Model3Switch<T>
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@@ -91,7 +90,6 @@ public class Model3Switch<T>
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@@ -163,17 +161,32 @@ public class Model3Switch<T>
result = defaultCase(theEObject);
return result;
}
+ case Model3Package.IMAGE:
+ {
+ Image image = (Image)theEObject;
+ T result = caseImage(image);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case Model3Package.FILE:
+ {
+ File file = (File)theEObject;
+ T result = caseFile(file);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
default:
return defaultCase(theEObject);
}
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Class1</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>Class1</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Class1</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
@@ -184,11 +197,10 @@ public class Model3Switch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Meta Ref</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>Meta Ref</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Meta Ref</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
@@ -199,11 +211,10 @@ public class Model3Switch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Polygon</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>Polygon</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Polygon</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
@@ -230,11 +241,10 @@ public class Model3Switch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Node A</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>Node A</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Node A</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
@@ -245,11 +255,10 @@ public class Model3Switch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Node B</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>Node B</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Node B</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
@@ -260,11 +269,10 @@ public class Model3Switch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Node C</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>Node C</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Node C</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
@@ -275,11 +283,10 @@ public class Model3Switch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Node D</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>Node D</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Node D</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
@@ -290,12 +297,43 @@ public class Model3Switch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!-- begin-user-doc --> This
+ * Returns the result of interpreting the object as an instance of '<em>Image</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Image</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImage(Image object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>File</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>File</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFile(File object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch, but this is the last case
* anyway. <!-- end-user-doc -->
- *
- * @param object
- * the target of the switch.
+ * @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>EObject</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject)
* @generated
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LobTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LobTest.java
new file mode 100644
index 0000000000..b3573fbfe2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LobTest.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.tests;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOClob;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.bundle.OM;
+import org.eclipse.emf.cdo.tests.model3.File;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.net4j.util.io.IOUtil;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+/**
+ * @author Eike Stepper
+ */
+public class LobTest extends AbstractCDOTest
+{
+ public void testCommitClob() throws Exception
+ {
+ InputStream inputStream = null;
+
+ try
+ {
+ inputStream = OM.BUNDLE.getInputStream("copyright.txt");
+ CDOClob clob = new CDOClob(new InputStreamReader(inputStream));
+
+ File file = getModel3Factory().createFile();
+ file.setName("copyright.txt");
+ file.setData(clob);
+
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.createResource("res");
+ resource.getContents().add(file);
+
+ transaction.commit();
+ }
+ finally
+ {
+ IOUtil.close(inputStream);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo/.settings/org.eclipse.core.resources.prefs
index f41b5ffb46..ba2a6694fd 100644
--- a/plugins/org.eclipse.emf.cdo/.settings/org.eclipse.core.resources.prefs
+++ b/plugins/org.eclipse.emf.cdo/.settings/org.eclipse.core.resources.prefs
@@ -1,4 +1,6 @@
-#Thu Sep 23 20:11:11 CEST 2010
+#Sat Sep 25 05:35:25 CEST 2010
eclipse.preferences.version=1
encoding//model/eresource.ecorediag=UTF-8
+encoding//model/etypes.ecore=UTF-8
+encoding//model/etypes.ecorediag=UTF-8
encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo/META-INF/MANIFEST.MF
index d748a0f9e2..cb4303d5cd 100644
--- a/plugins/org.eclipse.emf.cdo/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo/META-INF/MANIFEST.MF
@@ -18,6 +18,8 @@ Export-Package: org.eclipse.emf.cdo;version="4.0.0",
org.eclipse.emf.cdo.eresource.impl;version="4.0.0",
org.eclipse.emf.cdo.eresource.util;version="4.0.0",
org.eclipse.emf.cdo.eresource.validation;version="4.0.0",
+ org.eclipse.emf.cdo.etypes;version="4.0.0",
+ org.eclipse.emf.cdo.etypes.impl;version="4.0.0",
org.eclipse.emf.cdo.session;version="4.0.0",
org.eclipse.emf.cdo.session.remote;version="4.0.0",
org.eclipse.emf.cdo.transaction;version="4.0.0",
diff --git a/plugins/org.eclipse.emf.cdo/model/eresource.genmodel b/plugins/org.eclipse.emf.cdo/model/eresource.genmodel
index e4f4019537..b92f660d9a 100644
--- a/plugins/org.eclipse.emf.cdo/model/eresource.genmodel
+++ b/plugins/org.eclipse.emf.cdo/model/eresource.genmodel
@@ -7,7 +7,9 @@
editorPluginClass="" updateClasspath="false" nonNLSMarkers="true" rootExtendsInterface="org.eclipse.emf.cdo.CDOObject"
rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl" reflectiveDelegation="true"
codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.ecore"
- featureDelegation="Reflective" complianceLevel="5.0" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
+ featureDelegation="Reflective" complianceLevel="5.0" copyrightFields="false" testsPluginID="org.eclipse.emf.cdo.editor"
+ optimizedHasChildren="true" tableProviders="true" colorProviders="true" fontProviders="true"
+ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
<foreignModel>eresource.ecore</foreignModel>
<genPackages prefix="Eresource" basePackage="org.eclipse.emf.cdo" disposableProviderFactory="true"
extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="eresource.ecore#/">
@@ -21,6 +23,12 @@
</genClasses>
<genClasses ecoreClass="eresource.ecore#//CDOResourceFolder">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eresource.ecore#//CDOResourceFolder/nodes"/>
+ <genOperations ecoreOperation="eresource.ecore#//CDOResourceFolder/addResourceFolder">
+ <genParameters ecoreParameter="eresource.ecore#//CDOResourceFolder/addResourceFolder/name"/>
+ </genOperations>
+ <genOperations ecoreOperation="eresource.ecore#//CDOResourceFolder/addResource">
+ <genParameters ecoreParameter="eresource.ecore#//CDOResourceFolder/addResource/name"/>
+ </genOperations>
</genClasses>
<genClasses ecoreClass="eresource.ecore#//CDOResource">
<genFeatures property="None" createChild="false" ecoreFeature="ecore:EAttribute eresource.ecore#//CDOResource/resourceSet"/>
diff --git a/plugins/org.eclipse.emf.cdo/model/etypes.ecore b/plugins/org.eclipse.emf.cdo/model/etypes.ecore
new file mode 100644
index 0000000000..8a88292678
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo/model/etypes.ecore
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="etypes"
+ nsURI="http://www.eclipse.org/emf/CDO/Etypes/4.0.0" nsPrefix="etypes">
+ <eClassifiers xsi:type="ecore:EDataType" name="Blob" instanceClassName="org.eclipse.emf.cdo.etypes.CDOBlob"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="Clob" instanceClassName="org.eclipse.emf.cdo.etypes.CDOClob"/>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.emf.cdo/model/etypes.ecorediag b/plugins/org.eclipse.emf.cdo/model/etypes.ecorediag
new file mode 100644
index 0000000000..d8edae22a3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo/model/etypes.ecorediag
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_7t6E4MhVEd-tiZ-cnTADww" type="EcoreTools" name="etypes" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_MfUzoMhWEd-tiZ-cnTADww" type="1004">
+ <children xmi:type="notation:Node" xmi:id="_MfWBwMhWEd-tiZ-cnTADww" type="4008"/>
+ <children xmi:type="notation:Node" xmi:id="_MfWBwchWEd-tiZ-cnTADww" type="4009"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_MfUzochWEd-tiZ-cnTADww" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EDataType" href="etypes.ecore#//Blob"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MfUzoshWEd-tiZ-cnTADww" x="45" y="35"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_g2IUsMhWEd-tiZ-cnTADww" type="1004">
+ <children xmi:type="notation:Node" xmi:id="_g2KJ4MhWEd-tiZ-cnTADww" type="4008"/>
+ <children xmi:type="notation:Node" xmi:id="_g2KJ4chWEd-tiZ-cnTADww" type="4009"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_g2IUschWEd-tiZ-cnTADww" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EDataType" href="etypes.ecore#//Clob"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g2IUsshWEd-tiZ-cnTADww" x="46" y="142"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_7t6E4chVEd-tiZ-cnTADww"/>
+ <element xmi:type="ecore:EPackage" href="etypes.ecore#/"/>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.cdo/model/etypes.genmodel b/plugins/org.eclipse.emf.cdo/model/etypes.genmodel
new file mode 100644
index 0000000000..fae45504b0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo/model/etypes.genmodel
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.cdo/src"
+ editDirectory="" editorDirectory="" modelPluginID="org.eclipse.emf.cdo" modelName="Etypes"
+ editorPluginClass="" updateClasspath="false" nonNLSMarkers="true" reflectiveDelegation="true"
+ codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.ecore"
+ featureDelegation="Reflective" complianceLevel="5.0" copyrightFields="false" testsPluginID="org.eclipse.emf.cdo.edit"
+ optimizedHasChildren="true" tableProviders="true" colorProviders="true" fontProviders="true">
+ <foreignModel>etypes.ecore</foreignModel>
+ <genPackages prefix="Etypes" basePackage="org.eclipse.emf.cdo" disposableProviderFactory="true"
+ extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="etypes.ecore#/">
+ <genDataTypes ecoreDataType="etypes.ecore#//Blob"/>
+ <genDataTypes ecoreDataType="etypes.ecore#//Clob"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/EtypesFactory.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/EtypesFactory.java
new file mode 100644
index 0000000000..44eaba6767
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/EtypesFactory.java
@@ -0,0 +1,36 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EtypesFactory.java,v 1.1.2.1 2010-09-27 16:17:21 estepper Exp $
+ */
+package org.eclipse.emf.cdo.etypes;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a create method for each non-abstract class of
+ * the model.
+ *
+ * @since 4.0 <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.etypes.EtypesPackage
+ * @generated
+ */
+public interface EtypesFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EtypesFactory eINSTANCE = org.eclipse.emf.cdo.etypes.impl.EtypesFactoryImpl.init();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ EtypesPackage getEtypesPackage();
+
+} // EtypesFactory
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/EtypesPackage.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/EtypesPackage.java
new file mode 100644
index 0000000000..cac3d8c6d0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/EtypesPackage.java
@@ -0,0 +1,138 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EtypesPackage.java,v 1.1.2.1 2010-09-27 16:17:21 estepper Exp $
+ */
+package org.eclipse.emf.cdo.etypes;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ *
+ * @since 4.0 <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.etypes.EtypesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface EtypesPackage extends EPackage
+{
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "etypes"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/CDO/Etypes/4.0.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "etypes"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EtypesPackage eINSTANCE = org.eclipse.emf.cdo.etypes.impl.EtypesPackageImpl.init();
+
+ /**
+ * The meta object id for the '<em>Blob</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.common.model.lob.CDOBlob
+ * @see org.eclipse.emf.cdo.etypes.impl.EtypesPackageImpl#getBlob()
+ * @generated
+ */
+ int BLOB = 0;
+
+ /**
+ * The meta object id for the '<em>Clob</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.common.model.lob.CDOClob
+ * @see org.eclipse.emf.cdo.etypes.impl.EtypesPackageImpl#getClob()
+ * @generated
+ */
+ int CLOB = 1;
+
+ /**
+ * Returns the meta object for data type '{@link org.eclipse.emf.cdo.common.model.lob.CDOBlob <em>Blob</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for data type '<em>Blob</em>'.
+ * @see org.eclipse.emf.cdo.common.model.lob.CDOBlob
+ * @model instanceClass="org.eclipse.emf.cdo.etypes.CDOBlob"
+ * @generated
+ */
+ EDataType getBlob();
+
+ /**
+ * Returns the meta object for data type '{@link org.eclipse.emf.cdo.common.model.lob.CDOClob <em>Clob</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for data type '<em>Clob</em>'.
+ * @see org.eclipse.emf.cdo.common.model.lob.CDOClob
+ * @model instanceClass="org.eclipse.emf.cdo.etypes.CDOClob"
+ * @generated
+ */
+ EDataType getClob();
+
+ /**
+ * Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ EtypesFactory getEtypesFactory();
+
+ /**
+ * <!-- begin-user-doc --> Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '<em>Blob</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.common.model.lob.CDOBlob
+ * @see org.eclipse.emf.cdo.etypes.impl.EtypesPackageImpl#getBlob()
+ * @generated
+ */
+ EDataType BLOB = eINSTANCE.getBlob();
+
+ /**
+ * The meta object literal for the '<em>Clob</em>' data type. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.common.model.lob.CDOClob
+ * @see org.eclipse.emf.cdo.etypes.impl.EtypesPackageImpl#getClob()
+ * @generated
+ */
+ EDataType CLOB = eINSTANCE.getClob();
+
+ }
+
+} // EtypesPackage
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/impl/EtypesFactoryImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/impl/EtypesFactoryImpl.java
new file mode 100644
index 0000000000..3999f4a2a3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/impl/EtypesFactoryImpl.java
@@ -0,0 +1,177 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EtypesFactoryImpl.java,v 1.1.2.1 2010-09-27 16:17:21 estepper Exp $
+ */
+package org.eclipse.emf.cdo.etypes.impl;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOBlob;
+import org.eclipse.emf.cdo.common.model.lob.CDOClob;
+import org.eclipse.emf.cdo.etypes.EtypesFactory;
+import org.eclipse.emf.cdo.etypes.EtypesPackage;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>.
+ *
+ * @since 4.0 <!-- end-user-doc -->
+ * @generated
+ */
+public class EtypesFactoryImpl extends EFactoryImpl implements EtypesFactory
+{
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static EtypesFactory init()
+ {
+ try
+ {
+ EtypesFactory theEtypesFactory = (EtypesFactory)EPackage.Registry.INSTANCE
+ .getEFactory("http://www.eclipse.org/emf/CDO/Etypes/4.0.0"); //$NON-NLS-1$
+ if (theEtypesFactory != null)
+ {
+ return theEtypesFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EtypesFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EtypesFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case EtypesPackage.BLOB:
+ return createBlobFromString(eDataType, initialValue);
+ case EtypesPackage.CLOB:
+ return createClobFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case EtypesPackage.BLOB:
+ return convertBlobToString(eDataType, instanceValue);
+ case EtypesPackage.CLOB:
+ return convertClobToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CDOBlob createBlobFromString(EDataType eDataType, String initialValue)
+ {
+ return (CDOBlob)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertBlobToString(EDataType eDataType, Object instanceValue)
+ {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CDOClob createClobFromString(EDataType eDataType, String initialValue)
+ {
+ return (CDOClob)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertClobToString(EDataType eDataType, Object instanceValue)
+ {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EtypesPackage getEtypesPackage()
+ {
+ return (EtypesPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static EtypesPackage getPackage()
+ {
+ return EtypesPackage.eINSTANCE;
+ }
+
+} // EtypesFactoryImpl
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/impl/EtypesPackageImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/impl/EtypesPackageImpl.java
new file mode 100644
index 0000000000..f05d76a437
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/etypes/impl/EtypesPackageImpl.java
@@ -0,0 +1,194 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EtypesPackageImpl.java,v 1.1.2.1 2010-09-27 16:17:21 estepper Exp $
+ */
+package org.eclipse.emf.cdo.etypes.impl;
+
+import org.eclipse.emf.cdo.common.model.lob.CDOBlob;
+import org.eclipse.emf.cdo.common.model.lob.CDOClob;
+import org.eclipse.emf.cdo.etypes.EtypesFactory;
+import org.eclipse.emf.cdo.etypes.EtypesPackage;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>.
+ *
+ * @since 4.0 <!-- end-user-doc -->
+ * @generated
+ */
+public class EtypesPackageImpl extends EPackageImpl implements EtypesPackage
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EDataType blobEDataType = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EDataType clobEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
+ * EPackage.Registry} by the package package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
+ * performs initialization of the package, or returns the registered package, if one already exists. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.cdo.etypes.EtypesPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private EtypesPackageImpl()
+ {
+ super(eNS_URI, EtypesFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ * <p>
+ * This method is used to initialize {@link EtypesPackage#eINSTANCE} when that field is accessed. Clients should not
+ * invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static EtypesPackage init()
+ {
+ if (isInited)
+ {
+ return (EtypesPackage)EPackage.Registry.INSTANCE.getEPackage(EtypesPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ EtypesPackageImpl theEtypesPackage = (EtypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EtypesPackageImpl ? EPackage.Registry.INSTANCE
+ .get(eNS_URI) : new EtypesPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theEtypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theEtypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theEtypesPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(EtypesPackage.eNS_URI, theEtypesPackage);
+ return theEtypesPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EDataType getBlob()
+ {
+ return blobEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EDataType getClob()
+ {
+ return clobEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EtypesFactory getEtypesFactory()
+ {
+ return (EtypesFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is guarded to have no affect on any invocation but its
+ * first. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated)
+ {
+ return;
+ }
+ isCreated = true;
+
+ // Create data types
+ blobEDataType = createEDataType(BLOB);
+ clobEDataType = createEDataType(CLOB);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This method is guarded to have no affect on any
+ * invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized)
+ {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Initialize data types
+ initEDataType(blobEDataType, CDOBlob.class, "Blob", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEDataType(clobEDataType, CDOClob.class, "Clob", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // EtypesPackageImpl
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOCommitContext.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOCommitContext.java
index 5e2cf48af8..7449193ffa 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOCommitContext.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOCommitContext.java
@@ -14,8 +14,10 @@ package org.eclipse.emf.cdo.transaction;
import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -60,5 +62,10 @@ public interface CDOCommitContext
/**
* @since 4.0
*/
+ public Collection<CDOLob<?, ?>> getLobs();
+
+ /**
+ * @since 4.0
+ */
public boolean isPartialCommit();
}
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
index 56ebe8f7ce..9752268658 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
@@ -32,6 +32,7 @@ import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDAndVersion;
import org.eclipse.emf.cdo.common.id.CDOIDProvider;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.protocol.CDOAuthenticator;
import org.eclipse.emf.cdo.common.revision.CDORevision;
import org.eclipse.emf.cdo.common.revision.CDORevisionKey;
@@ -1540,15 +1541,32 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter
}
}
+ public List<byte[]> queryLobs(Set<byte[]> ids)
+ {
+ int attempt = 0;
+ for (;;)
+ {
+ try
+ {
+ return delegate.queryLobs(ids);
+ }
+ catch (Exception ex)
+ {
+ handleException(++attempt, ex);
+ }
+ }
+ }
+
public CommitTransactionResult commitTransaction(int transactionID, String comment, boolean releaseLocks,
- CDOIDProvider idProvider, CDOCommitData commitData, OMMonitor monitor)
+ CDOIDProvider idProvider, CDOCommitData commitData, Collection<CDOLob<?, ?>> lobs, OMMonitor monitor)
{
int attempt = 0;
for (;;)
{
try
{
- return delegate.commitTransaction(transactionID, comment, releaseLocks, idProvider, commitData, monitor);
+ return delegate
+ .commitTransaction(transactionID, comment, releaseLocks, idProvider, commitData, lobs, monitor);
}
catch (Exception ex)
{
@@ -1558,14 +1576,15 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter
}
public CommitTransactionResult commitDelegation(CDOBranch branch, String userID, String comment,
- CDOCommitData commitData, Map<CDOID, EClass> detachedObjectTypes, OMMonitor monitor)
+ CDOCommitData commitData, Map<CDOID, EClass> detachedObjectTypes, Collection<CDOLob<?, ?>> lobs,
+ OMMonitor monitor)
{
int attempt = 0;
for (;;)
{
try
{
- return delegate.commitDelegation(branch, userID, comment, commitData, detachedObjectTypes, monitor);
+ return delegate.commitDelegation(branch, userID, comment, commitData, detachedObjectTypes, lobs, monitor);
}
catch (Exception ex)
{
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOSingleTransactionStrategyImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOSingleTransactionStrategyImpl.java
index 97cb0af48b..aca696f5f3 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOSingleTransactionStrategyImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOSingleTransactionStrategyImpl.java
@@ -13,6 +13,7 @@ package org.eclipse.emf.internal.cdo.transaction;
import org.eclipse.emf.cdo.common.branch.CDOBranch;
import org.eclipse.emf.cdo.common.commit.CDOCommitData;
import org.eclipse.emf.cdo.common.commit.CDOCommitInfo;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.spi.common.commit.InternalCDOCommitInfoManager;
import org.eclipse.emf.cdo.util.CommitException;
@@ -33,6 +34,8 @@ import org.eclipse.emf.spi.cdo.InternalCDOUserSavepoint;
import org.eclipse.core.runtime.IProgressMonitor;
+import java.util.Collection;
+
/**
* @author Simon McDuff
* @since 2.0
@@ -60,6 +63,7 @@ public class CDOSingleTransactionStrategyImpl implements CDOTransactionStrategy
commitContext.preCommit();
CDOCommitData commitData = commitContext.getCommitData();
+ Collection<CDOLob<?, ?>> lobs = commitContext.getLobs();
InternalCDOSession session = transaction.getSession();
CommitTransactionResult result = null;
@@ -70,7 +74,7 @@ public class CDOSingleTransactionStrategyImpl implements CDOTransactionStrategy
OMMonitor monitor = new EclipseMonitor(progressMonitor);
CDOSessionProtocol sessionProtocol = session.getSessionProtocol();
- result = sessionProtocol.commitTransaction(viewID, comment, releaseLocks, transaction, commitData, monitor);
+ result = sessionProtocol.commitTransaction(viewID, comment, releaseLocks, transaction, commitData, lobs, monitor);
String rollbackMessage = result.getRollbackMessage();
if (rollbackMessage != null)
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java
index d1d8331980..c65055b325 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java
@@ -34,6 +34,7 @@ import org.eclipse.emf.cdo.common.model.CDOModelUtil;
import org.eclipse.emf.cdo.common.model.CDOPackageRegistry;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
import org.eclipse.emf.cdo.common.model.EMFUtil;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.protocol.CDODataInput;
import org.eclipse.emf.cdo.common.protocol.CDODataOutput;
import org.eclipse.emf.cdo.common.revision.CDOList;
@@ -113,6 +114,7 @@ import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.InternalEObject.EStore;
@@ -2022,6 +2024,8 @@ public class CDOTransactionImpl extends CDOViewImpl implements InternalCDOTransa
*/
private boolean isPartialCommit;
+ private Map<byte[], CDOLob<?, ?>> lobs = new HashMap<byte[], CDOLob<?, ?>>();
+
public CDOCommitContextImpl(InternalCDOTransaction transaction)
{
this.transaction = transaction;
@@ -2068,12 +2072,13 @@ public class CDOTransactionImpl extends CDOViewImpl implements InternalCDOTransa
}
Map<CDOID, T> newMap = new HashMap<CDOID, T>();
- for (CDOID id : map.keySet())
+ for (Entry<CDOID, T> entry : map.entrySet())
{
+ CDOID id = entry.getKey();
CDOObject o = getObject(id);
if (committables.contains(o))
{
- newMap.put(id, map.get(id));
+ newMap.put(id, entry.getValue());
}
else
{
@@ -2119,6 +2124,11 @@ public class CDOTransactionImpl extends CDOViewImpl implements InternalCDOTransa
return revisionDeltas;
}
+ public Collection<CDOLob<?, ?>> getLobs()
+ {
+ return lobs.values();
+ }
+
public void preCommit()
{
if (isDirty())
@@ -2171,8 +2181,19 @@ public class CDOTransactionImpl extends CDOViewImpl implements InternalCDOTransa
new CommitIntegrityCheck(this, CommitIntegrityCheck.Style.EXCEPTION_FAST).check();
}
- preCommit(getNewObjects());
- preCommit(getDirtyObjects());
+ preCommit(getNewObjects(), lobs);
+ preCommit(getDirtyObjects(), lobs);
+
+ if (!lobs.isEmpty())
+ {
+ CDOSessionProtocol sessionProtocol = getSession().getSessionProtocol();
+ List<byte[]> alreadyKnown = sessionProtocol.queryLobs(lobs.keySet());
+
+ for (byte[] id : alreadyKnown)
+ {
+ lobs.remove(id);
+ }
+ }
}
catch (RuntimeException ex)
{
@@ -2278,7 +2299,7 @@ public class CDOTransactionImpl extends CDOViewImpl implements InternalCDOTransa
return commitInfoManager.createCommitInfo(branch, timeStamp, userID, comment, commitData);
}
- private void preCommit(Map<CDOID, CDOObject> objects)
+ private void preCommit(Map<CDOID, CDOObject> objects, Map<byte[], CDOLob<?, ?>> lobs)
{
if (!objects.isEmpty())
{
@@ -2290,11 +2311,29 @@ public class CDOTransactionImpl extends CDOViewImpl implements InternalCDOTransa
throw new LegacyModeNotEnabledException();
}
+ collectLobs((InternalCDORevision)object.cdoRevision(), lobs);
((InternalCDOObject)object).cdoInternalPreCommit();
}
}
}
+ private void collectLobs(InternalCDORevision revision, Map<byte[], CDOLob<?, ?>> lobs)
+ {
+ EStructuralFeature[] features = revision.getClassInfo().getAllPersistentFeatures();
+ for (int i = 0; i < features.length; i++)
+ {
+ EStructuralFeature feature = features[i];
+ if (CDOModelUtil.isLob(feature.getEType()))
+ {
+ CDOLob<?, ?> lob = (CDOLob<?, ?>)revision.getValue(feature);
+ if (lob != null)
+ {
+ lobs.put(lob.getID(), lob);
+ }
+ }
+ }
+ }
+
private void postCommit(Map<CDOID, CDOObject> objects, CommitTransactionResult result)
{
if (!objects.isEmpty())
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOXACommitContextImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOXACommitContextImpl.java
index 03c69200b3..5bc0d85138 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOXACommitContextImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOXACommitContextImpl.java
@@ -14,6 +14,7 @@ import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.cdo.common.commit.CDOCommitData;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster;
import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta;
import org.eclipse.emf.cdo.internal.common.id.CDOIDTempObjectExternalImpl;
@@ -34,6 +35,7 @@ import org.eclipse.emf.spi.cdo.InternalCDOXATransaction.InternalCDOXACommitConte
import org.eclipse.core.runtime.IProgressMonitor;
import java.text.MessageFormat;
+import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -134,6 +136,11 @@ public class CDOXACommitContextImpl implements InternalCDOXACommitContext
return delegateCommitContext.getCommitData();
}
+ public Collection<CDOLob<?, ?>> getLobs()
+ {
+ return delegateCommitContext.getLobs();
+ }
+
public boolean isPartialCommit()
{
return delegateCommitContext.isPartialCommit();
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java
index 7d6e3986b6..dfd22290bc 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java
@@ -22,6 +22,7 @@ import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDAndVersion;
import org.eclipse.emf.cdo.common.id.CDOIDProvider;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
+import org.eclipse.emf.cdo.common.model.lob.CDOLob;
import org.eclipse.emf.cdo.common.protocol.CDOProtocol;
import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster;
import org.eclipse.emf.cdo.common.revision.CDORevisionKey;
@@ -134,16 +135,21 @@ public interface CDOSessionProtocol extends CDOProtocol, PackageLoader, BranchLo
public boolean isObjectLocked(CDOView view, CDOObject object, LockType lockType, boolean byOthers);
/**
- * @since 3.0
+ * @since 4.0
+ */
+ public List<byte[]> queryLobs(Set<byte[]> ids);
+
+ /**
+ * @since 4.0
*/
public CommitTransactionResult commitTransaction(int transactionID, String comment, boolean releaseLocks,
- CDOIDProvider idProvider, CDOCommitData commitData, OMMonitor monitor);
+ CDOIDProvider idProvider, CDOCommitData commitData, Collection<CDOLob<?, ?>> lobs, OMMonitor monitor);
/**
* @since 4.0
*/
public CommitTransactionResult commitDelegation(CDOBranch branch, String userID, String comment,
- CDOCommitData commitData, Map<CDOID, EClass> detachedObjectTypes, OMMonitor monitor);
+ CDOCommitData commitData, Map<CDOID, EClass> detachedObjectTypes, Collection<CDOLob<?, ?>> lobs, OMMonitor monitor);
/**
* @since 3.0
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/DigestWriter.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/DigestWriter.java
new file mode 100644
index 0000000000..420dbc3296
--- /dev/null
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/DigestWriter.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.util.io;
+
+import java.io.FilterWriter;
+import java.io.IOException;
+import java.io.Writer;
+import java.security.MessageDigest;
+
+/**
+ * @author Eike Stepper
+ * @since 3.1
+ */
+public class DigestWriter extends FilterWriter
+{
+ private boolean on = true;
+
+ /**
+ * The message digest associated with this stream.
+ */
+ protected MessageDigest digest;
+
+ /**
+ * Creates a digest writer, using the specified writer and message digest.
+ *
+ * @param writer
+ * the writer.
+ * @param digest
+ * the message digest to associate with this writer.
+ */
+ public DigestWriter(Writer writer, MessageDigest digest)
+ {
+ super(writer);
+ setMessageDigest(digest);
+ }
+
+ /**
+ * Returns the message digest associated with this writer.
+ *
+ * @return the message digest associated with this writer.
+ * @see #setMessageDigest(java.security.MessageDigest)
+ */
+ public MessageDigest getMessageDigest()
+ {
+ return digest;
+ }
+
+ /**
+ * Associates the specified message digest with this writer.
+ *
+ * @param digest
+ * the message digest to be associated with this writer.
+ * @see #getMessageDigest()
+ */
+ public void setMessageDigest(MessageDigest digest)
+ {
+ this.digest = digest;
+ }
+
+ @Override
+ public void write(int c) throws IOException
+ {
+ if (on)
+ {
+ updateDigest(c);
+ }
+
+ out.write(c);
+ }
+
+ @Override
+ public void write(char cbuf[], int off, int len) throws IOException
+ {
+ if (on)
+ {
+ int end = off + len;
+ for (int i = off; i < end; i++)
+ {
+ updateDigest(cbuf[i]);
+ }
+ }
+
+ out.write(cbuf, off, len);
+ }
+
+ @Override
+ public void write(String str, int off, int len) throws IOException
+ {
+ if (on)
+ {
+ int end = off + len;
+ for (int i = off; i < end; i++)
+ {
+ updateDigest(str.charAt(i));
+ }
+ }
+
+ out.write(str, off, len);
+ }
+
+ private void updateDigest(int c)
+ {
+ digest.update((byte)(c >>> 8 & 0xFF));
+ digest.update((byte)(c >>> 0 & 0xFF));
+ }
+
+ /**
+ * Turns the digest function on or off. The default is on. When it is on, a call to one of the <code>write</code>
+ * methods results in an update on the message digest. But when it is off, the message digest is not updated.
+ *
+ * @param on
+ * true to turn the digest function on, false to turn it off.
+ */
+ public void on(boolean on)
+ {
+ this.on = on;
+ }
+
+ /**
+ * Prints a string representation of this digest output stream and its associated message digest object.
+ */
+ @Override
+ public String toString()
+ {
+ return "[Digest Writer] " + digest.toString();
+ }
+}
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/IOUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/IOUtil.java
index 6764f294e0..08d03e1127 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/IOUtil.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/IOUtil.java
@@ -14,10 +14,14 @@ import org.eclipse.net4j.internal.util.bundle.OM;
import org.eclipse.net4j.util.StringUtil;
import org.eclipse.net4j.util.WrappedException;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.CharArrayReader;
+import java.io.CharArrayWriter;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
@@ -26,8 +30,12 @@ import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
import java.io.OutputStream;
+import java.io.OutputStreamWriter;
import java.io.PrintStream;
+import java.io.Reader;
+import java.io.Writer;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -60,6 +68,8 @@ public final class IOUtil
private static final char SEP_WINDOWS = '\\';
+ private static final int EOF = -1;
+
private IOUtil()
{
}
@@ -376,6 +386,74 @@ public final class IOUtil
}
}
+ /**
+ * @since 3.1
+ */
+ public static long copyBinary(InputStream inputStream, OutputStream outputStream) throws IOException
+ {
+ if (!(inputStream instanceof BufferedInputStream) && !(inputStream instanceof ByteArrayInputStream))
+ {
+ inputStream = new BufferedInputStream(inputStream);
+ }
+
+ if (!(outputStream instanceof BufferedOutputStream) && !(outputStream instanceof ByteArrayOutputStream))
+ {
+ outputStream = new BufferedOutputStream(outputStream);
+ }
+
+ long size = 0;
+ int b;
+ while ((b = inputStream.read()) != EOF)
+ {
+ outputStream.write(b);
+ }
+
+ outputStream.flush();
+ return size;
+ }
+
+ /**
+ * @since 3.1
+ */
+ public static long copyCharacter(Reader reader, OutputStream outputStream) throws IOException
+ {
+ return copyCharacter(reader, new OutputStreamWriter(outputStream));
+ }
+
+ /**
+ * @since 3.1
+ */
+ public static long copyCharacter(InputStream inputStream, Writer writer) throws IOException
+ {
+ return copyCharacter(new InputStreamReader(inputStream), writer);
+ }
+
+ /**
+ * @since 3.1
+ */
+ public static long copyCharacter(Reader reader, Writer writer) throws IOException
+ {
+ if (!(reader instanceof BufferedReader) && !(reader instanceof CharArrayReader))
+ {
+ reader = new BufferedReader(reader);
+ }
+
+ if (!(writer instanceof BufferedWriter) && !(writer instanceof CharArrayWriter))
+ {
+ writer = new BufferedWriter(writer);
+ }
+
+ long size = 0;
+ int c;
+ while ((c = reader.read()) != EOF)
+ {
+ writer.write(c);
+ }
+
+ writer.flush();
+ return size;
+ }
+
public static int copy(InputStream input, OutputStream output, int size, byte buffer[]) throws IORuntimeException
{
try

Back to the top