从Java代码访问模块定义的属性 [英] Accessing a module-defined property from Java code

查看:84
本文介绍了从Java代码访问模块定义的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在扩展更早的答案时,我意识到我不知道是否可以访问模块定义的属性来自Java代码。例如,如果我有:

 < define-property name =formfactorvalues =desktop,tablet,mobile /> 

SDK中的某些内容可以像这样吗?

  String ff = [someClass] .getProperty(formfactor)`? 


解决方案

您必须使用延迟绑定。



最简单的方法是使用< replace-with> 规则,但它需要相当多的样板代码每个值的类都返回与来自getter的属性相同的值)

或者您可以使用生成器并使用< generate-with> ; 规则。



在任何情况下,您都需要在代码中使用接口或基类,编码或生成)将使用延迟绑定规则进行切换。


When expanding an earlier answer I realized I don't know if it is possible to access a module-defined property from Java code. For example, if I have:

<define-property name="formfactor" values="desktop,tablet,mobile" />

Is something available in the SDK to go like this?

String ff = [someClass].getProperty("formfactor")`?

解决方案

You have to use deferred-binding.

The easiest way is to use <replace-with> rules, but it requires quite a lot of boilerplate code (one per value, with classes that return the same value as the property from a getter)

Or you could use a generator and <generate-with> rule.

In any case, you'll need an interface or base class to use in your code and whose exact implementation (either hand-coded or generated) will be switched using deferred binding rules.

这篇关于从Java代码访问模块定义的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆