當前位置: 首頁>>代碼示例>>Java>>正文


Java EcoreUtil.copyAll方法代碼示例

本文整理匯總了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;
}
 
開發者ID:eclipse,項目名稱:neoscada,代碼行數:32,代碼來源:ConvertToExternalHandler.java

示例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);
    }
}
 
開發者ID:vrapio,項目名稱:rest-modeling-framework,代碼行數:35,代碼來源:RamlModelBuilder.java

示例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_);
  }

}
 
開發者ID:Morgan-Stanley,項目名稱:Saturn,代碼行數:37,代碼來源:SaturnResourceImpl.java


注:本文中的org.eclipse.emf.ecore.util.EcoreUtil.copyAll方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。