EMF

「EMF」の編集履歴(バックアップ)一覧はこちら

EMF」(2009/03/26 (木) 10:34:39) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

---- EDataType StringからEDataTypeオブジェクトにする方法 EObject target = ・・・・ EClass eClass = ・・・ target の EClass もしくは target の super な EClass EPackage epackage = eClass.getEPackage(); EFactory efactory = epackage.getEFactoryInstance(); for (EAttribute attribute : eClass.getEAllAttributes()) { if(attribute.getEType() instanceof EDataType){ Object value = efactory.createFromString((EDataType) attribute.getEType(), "1"); target.eSet(attribute , value); } } カスタマイズ方法 EMFモデルをジェネレート後にファクトリを編集 例 org.eclipse.gmf.runtime.notation.impl.NotationFactoryImpl /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public List createRelativeBendpointListFromString(EDataType eDataType, String initialValue) { StringTokenizer st = new StringTokenizer(initialValue, "$"); //$NON-NLS-1$ List newList = new ArrayList(st.countTokens()); while (st.hasMoreTokens()) newList.add(new RelativeBendpoint(st.nextToken().trim())); return newList; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public String convertRelativeBendpointListToString(EDataType eDataType, Object instanceValue) { StringBuffer sb = new StringBuffer(); for (Iterator i = ((List)instanceValue).iterator(); i.hasNext();) { RelativeBendpoint point = (RelativeBendpoint) i.next(); if (sb.length() != 0) sb.append('$'); sb.append(point.convertToString()); } return sb.toString(); } ---- TransactionalEditingDomain runExclusive 排他実行
---- EDataType StringからEDataTypeオブジェクトにする方法 EObject target = ・・・・ EClass eClass = ・・・ target の EClass もしくは target の super な EClass EPackage epackage = eClass.getEPackage(); EFactory efactory = epackage.getEFactoryInstance(); for (EAttribute attribute : eClass.getEAllAttributes()) { if(attribute.getEType() instanceof EDataType){ Object value = efactory.createFromString((EDataType) attribute.getEType(), "1"); target.eSet(attribute , value); } } カスタマイズ方法 EMFモデルをジェネレート後にファクトリを編集 例 org.eclipse.gmf.runtime.notation.impl.NotationFactoryImpl /** * @generated NOT */ public List createRelativeBendpointListFromString(EDataType eDataType, String initialValue) { StringTokenizer st = new StringTokenizer(initialValue, "$"); //$NON-NLS-1$ List newList = new ArrayList(st.countTokens()); while (st.hasMoreTokens()) newList.add(new RelativeBendpoint(st.nextToken().trim())); return newList; } /** * @generated NOT */ public String convertRelativeBendpointListToString(EDataType eDataType, Object instanceValue) { StringBuffer sb = new StringBuffer(); for (Iterator i = ((List)instanceValue).iterator(); i.hasNext();) { RelativeBendpoint point = (RelativeBendpoint) i.next(); if (sb.length() != 0) sb.append('$'); sb.append(point.convertToString()); } return sb.toString(); } ---- TransactionalEditingDomain runExclusive 排他実行

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。