`
cutesunshineriver
  • 浏览: 200559 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

EMF学习--属性可以选择的对象集的过滤

emf 
阅读更多
1、先在新建的library插件工程中建立ecore模型。


2、根据ecore生成对应的genmodel,由genmodel生成对应的Model代码以及edit和editor两个相关插件。

3、从Borrower对象的属性books可选择的对象集中排除SchoolBook。
修改edit插件中的BorrowerItemProvider类的addBooksPropertyDescriptor方法,原代码为
/**
	 * This adds a property descriptor for the Books feature.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected void addBooksPropertyDescriptor(Object object) {
		itemPropertyDescriptors.add
			(createItemPropertyDescriptor
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
				 getResourceLocator(),
				 getString("_UI_Borrower_books_feature"),
				 getString("_UI_PropertyDescriptor_description", "_UI_Borrower_books_feature", "_UI_Borrower_type"),
				 LibraryPackage.Literals.BORROWER__BOOKS,
				 true,
				 false,
				 true,
				 null,
				 null,
				 null));
	}

修改为
/**
	 * This adds a property descriptor for the Books feature.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated NOT
	 */
	protected void addBooksPropertyDescriptor(Object object) {
		itemPropertyDescriptors.add
			(new ItemPropertyDescriptor
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
				 getResourceLocator(),
				 getString("_UI_Borrower_books_feature"),
				 getString("_UI_PropertyDescriptor_description", "_UI_Borrower_books_feature", "_UI_Borrower_type"),
				 LibraryPackage.Literals.BORROWER__BOOKS,
				 true,
				 false,
				 true,
				 null,
				 null,
				 null) {
				
				@Override
				public Collection<?> getChoiceOfValues(Object object) {
					Collection<Object> results = new ArrayList<Object>();
					for (Object _object : super.getChoiceOfValues(object)) {
						if (!(_object instanceof SchoolBook)) {
							results.add(_object);
						}
					}
					return results;
				}
				
			});
	}


4、这样改完之后就达到了属性选择对象的过滤效果。

  • 大小: 26.9 KB
  • 大小: 66.5 KB
1
3
分享到:
评论

相关推荐

    emf-sdo-xsd-SDK-2.3.2.zip

    EMF-SDO-XSD SDK是一个工具集,用于帮助开发者利用EMF和SDO处理与XSD相关的任务。它包含以下组件: 1. **XSD解析器**:这个组件负责将XSD文件转换成EMF的模型表示,使得开发者可以利用EMF的API来操作和管理这些模型...

    emf-xsd-SDK-2.6.1

    在"emf-xsd-SDK-2.6.1"的压缩包中,包含了Eclipse环境的相关文件,这通常意味着我们可以在这个环境中开发和测试基于EMF和XSD的模型应用。Eclipse是一个集成开发环境(IDE),支持多种编程语言和插件,EMF相关的插件...

    emf-sdo-SDK-2.2.2

    在实际开发中,`emf-sdo-SDK-2.2.2`可以帮助开发人员快速构建数据驱动的应用程序,通过模型驱动的方法提高开发效率,同时利用SDO的强大功能来处理复杂的数据访问和转换问题。在Eclipse环境中,该插件通常会包含必要...

    emf-sdo-xsd-SDK-2.0.1.zip

    在EMF-SDO-XSD SDK中,"eclipse"可能指的是Eclipse集成开发环境(Integrated Development Environment),这是一个广泛使用的Java开发工具,也支持多种其他语言和框架,包括Struts。开发者可以使用Eclipse来导入和...

    emf-xsd-Update-2.10.2

    【标题】"emf-xsd-Update-2.10.2" 是一个与Java可视化开发相关的软件更新版本,主要用于支持Visual Editor的安装和使用。这个版本是2.10.2,通常代表着修复了一些已知问题,增加了新功能,或者优化了性能。 【描述...

    emf-sdo-runtime-2.2.0.zip

    它提供了元数据框架,使得开发者可以定义、实现、持久化和操作复杂的对象模型。EMF是Eclipse IDE中的一个重要组成部分,尤其在处理数据建模和图形用户界面(GUI)设计时扮演着关键角色。 SDO(Service Data Objects...

    emf-xsd-Update-2.7.2

    总结起来,"emf-xsd-Update-2.7.2" 是Eclipse的EMF和XSD支持的更新包,提供了一套完整的工具集,用于XML数据的建模和验证,以及基于模型的开发。通过安装这个包,开发者可以利用EMF的强大功能来构建和操作XML schema...

    emf-sdo-xsd-SDK-2.4.0.zip

    emf-sdo-xsd-SDK-2.4.0.zip emf是Eclipse modeling framework组建框架的缩写;SDO是服务数据对象的缩写,它是Java程序的一种数据编程框架;emf-sdo-xsd-SDK-2.4.0.zip是Eclipse编程器的组成员之一。

    emf-runtime-2.6.1

    标题中的"emf-runtime-2.6.1"指的是EMF框架的运行时组件,版本号为2.6.1。 EMF的核心功能包括: 1. **模型定义**:通过扩展XML Schema Definition (XSD) 或者ECORE(EMF的元数据模型)来定义模型结构。ECORE是一种...

    emf-sdo-SDK-2.2.0(2) eclipse 可视化 界面设计

    emf-sdo-SDK-2.2.0(2) eclipse 可视化 界面设计。 因为size太大,所以分成了2部分,另一部分在 emf-sdo-SDK-2.2.0(1)里面。 emf-sdo-SDK-2.2.0(1)的下载地址: http://download.csdn.net/source/1002774

    emf-runtime-2.6.1.7z

    Eclipse 3.6.1(Helios)的插件。emf-runtime-2.6.1.7z。

    emf-runtime-2.5.0.zip

    "emf-runtime-2.5.0.zip" 是一个包含EMF运行时库的压缩文件,版本为2.5.0。这个版本可能包含了对模型对象的创建、序列化、反序列化以及与模型相关的事件处理等功能。它对于那些希望在Eclipse环境下开发图形化编辑器...

    emf-sdo-runtime

    5. **序列化和反序列化**:EMF-SDO可以将数据对象序列化为XML,方便数据的存储和传输。同时,它也能从XML文档反序列化回数据对象,实现了XML与Java对象之间的无缝转换。 6. **数据绑定**:EMF-SDO支持数据绑定到UI...

    emf-sdo-xsd-SDK-2.2.1

    总的来说,EMF-SDO-XSD SDK 2.2.1是Eclipse 3.2.1环境下用于Java GUI程序开发的一个关键工具集,它通过XML Schema支持数据建模和对象映射,简化了数据驱动的GUI应用开发过程。开发者可以利用这个SDK创建直观的数据...

    emf-sdo-runtime-2.2.0.zip、GEF-runtime-3.2.zip和VE-runtime-1.2.3_jem.zip

    myeclipse ,swing ,chajian,解压,添加

    emf-sdo-runtime-2.2.0 (emf build 2.2.0)

    eclipse可视化插件安装必备插件之一:emf-sdo-runtime-2.2.0。eclipse全部可视化插件正确配置是eclipse-SDK-3.2-win32,emf-sdo-runtime-2.2.0,GEF-runtime-3.2,VE-runtime-1.2,VE-SDK-1.2

    emf-xsd-Update-2.7.1

    综合以上信息,我们可以知道"emf-xsd-Update-2.7.1"涉及的是EMF的升级版本,包含了EMF和GEF的运行时环境,以及必要的库和插件。开发者或用户可以通过下载这些资源来升级他们的开发环境,利用EMF和GEF的强大功能进行...

    emf-sdo-xsd-SDK-2.3.1

    总之,"emf-sdo-xsd-SDK-2.3.1" 是一个强大的开发工具,可以帮助开发者利用XSD定义的数据模型高效地构建Java应用程序,特别是在处理XML数据和实现数据绑定的场景下。掌握EMF和SDO的使用,对于提升软件开发效率和代码...

Global site tag (gtag.js) - Google Analytics