本文整理匯總了Java中org.eclipse.emf.ecore.util.EcoreUtil.copyAll方法的典型用法代碼示例。如果您正苦於以下問題:Java EcoreUtil.copyAll方法的具體用法?Java EcoreUtil.copyAll怎麽用?Java EcoreUtil.copyAll使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.eclipse.emf.ecore.util.EcoreUtil
的用法示例。
在下文中一共展示了EcoreUtil.copyAll方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: convert
import org.eclipse.emf.ecore.util.EcoreUtil; //導入方法依賴的package包/類
@SuppressWarnings ( "unchecked" )
private EObject convert ( final SingleValue v )
{
final ExternalValue result = ComponentFactory.eINSTANCE.createExternalValue ();
for ( final EStructuralFeature sf : ComponentPackage.Literals.SINGLE_VALUE.getEAllStructuralFeatures () )
{
final Object value = v.eGet ( sf, true );
Object nv = value;
if ( sf instanceof EReference )
{
if ( ( (EReference)sf ).isContainment () )
{
if ( sf.isMany () )
{
nv = EcoreUtil.copyAll ( (Collection<EObject>)value );
}
else
{
nv = EcoreUtil.copy ( (EObject)value );
}
}
}
result.eSet ( sf, nv );
}
return result;
}
示例2: mergeMethod
import org.eclipse.emf.ecore.util.EcoreUtil; //導入方法依賴的package包/類
private void mergeMethod(final Method resolvedMethod) {
final Method existingMethod = resource.getMethod(resolvedMethod.getMethod());
if (existingMethod == null) {
if (resolvedMethod.isRequired()) {
resource.getMethods().add(resolvedMethod);
typedElementResolver.resolveAll(resolvedMethod);
}
} else {
typedElementResolver.resolveAll(resolvedMethod);
final EList<EAttribute> allAttributes = ResourcesPackage.Literals.METHOD.getEAllAttributes();
final Consumer<EAttribute> copyAttribute = attribute -> existingMethod.eSet(attribute, resolvedMethod.eGet(attribute));
allAttributes.stream()
.filter(attribute -> !existingMethod.eIsSet(attribute))
.filter(attribute -> resolvedMethod.eIsSet(attribute))
.forEach(copyAttribute);
final Consumer<EReference> copyReference = eReference -> {
final Object value;
if (eReference.isContainment()) {
if (eReference.isMany()) {
value = EcoreUtil.copyAll((List) resolvedMethod.eGet(eReference));
} else {
value = EcoreUtil.copy((EObject) resolvedMethod.eGet(eReference));
}
} else {
value = resolvedMethod.eGet(eReference);
}
existingMethod.eSet(eReference, value);
};
ResourcesPackage.Literals.METHOD.getEAllReferences().stream()
.filter(reference -> !existingMethod.eIsSet(reference))
.filter(reference -> resolvedMethod.eIsSet(reference))
.forEach(copyReference);
}
}
示例3: doSave
import org.eclipse.emf.ecore.util.EcoreUtil; //導入方法依賴的package包/類
/**
* @generated NOT
*/
@Override
public void doSave(OutputStream outputStream_, Map<?, ?> options_) throws IOException
{
final Map<Entry, Entry> textNodes_ = new HashMap<Entry, Entry>();
Collection<EObject> objects = EcoreUtil.copyAll(this.getContents());
SaturnResourceImpl s = new SaturnResourceImpl(this.uri);
s.init();
s.getContents().addAll(objects);
SaturnDocLoadSaveUtil.save(s, textNodes_);
XMLSave xmlSave = createXMLSave();
if (options_ == null)
{
options_ = Collections.EMPTY_MAP;
}
ResourceHandler handler = (ResourceHandler) options_.get(OPTION_RESOURCE_HANDLER);
if (handler != null)
{
handler.preSave(s, outputStream_, options_);
}
xmlSave.save(s, outputStream_, options_);
if (handler != null)
{
handler.postSave(s, outputStream_, options_);
}
}