If you do that, you need to make your framework depend on your app, which is
wrong.
Instead I would create a ERXFrameworkPrincipal to provide the app a unique
Pilot instance...
Less Woish, your framework could also have a IPilotProvider interface
implemented by Application classes and then you could do in your fwk :
((IPilotProvider)WOApplication.application()).pilot();
Cheers,
Alex
Le 21 oct. 2011 à 14:04, Mike Schrag a écrit :
> There's almost never a reason to use a static variable in your Application
> class, because Application is singleton. But beside that, both valueForKey
> and the crazy reflection stuff are totally unnecessary in this case. For a
> static, you don't need an "instance", so just refer to
> your.app.Application.appPilot. For the valueForKey case, I would never use
> valueForKey, because you're just giving up compiler checking for not much ...
> Do ((your.app.Application)WOApplication.application()).whateverKey() instead
> and let the compiler watch your back.
>
> ms
>
> On Oct 21, 2011, at 6:10 AM, Jürgen Tabert wrote:
>
>> I think the problem is that the "variable" is static. (the developer told me
>> to use static)
>>
>> from Application.java
>>
>> public class Application extends ERXApplication {
>>
>> public static Pilot appPilot = null;
>>
>> ...
>>
>> @Override
>> public void finishInitialization() {
>> ...
>> // init Library
>> appPilot = new Pilot();
>> try {
>> ...
>> appPilot.init(lKey, lKey, libPath, languageId);
>> } catch (PilotException e) {
>> ...
>> }
>>
>>
>> inside a class in the framework some ugly code
>>
>> ...
>> try {
>> ...
>> // works
>> ERXApplication app = ERXApplication.erxApplication();
>> Class<? extends ERXApplication> appClass = app.getClass();
>> Field appField = appClass.getField("appPilot");
>> Pilot appPilot = (Pilot) appField.get(app);
>> ...
>>
>> something like app.valueForKey("appPilot") works only if the variable is not
>> static
>>
>>
>> On 21.10.2011, at 04:02, Andrew Lindesay wrote:
>>
>>> Hello Jürgen;
>>>
>>> It depends on the situation.
>>>
>>> Can you elaborate what you mean by "variables".
>>>
>>> At the very least, you could use KVC;
>>>
>>> WOApplication.application().valueForKey(<key>)
>>>
>>> cheers.
>>>
>>> On 21/10/11 1:13 PM, Jürgen Tabert wrote:
>>>> Hi all,
>>>>
>>>> I am looking for the easiest (best?) way to access a WOApplication
>>>> variables from inside a framework.
>>>>
>>>> Thanks for any help,
>>>> Jürgen
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list ([email protected])
>>>> Help/Unsubscribe/Update your Subscription:
>>>> http://lists.apple.com/mailman/options/webobjects-dev/apl%40lindesay.co.nz
>>>>
>>>> This email sent to [email protected]
>>>>
>>>
>>>
>>> --
>>> Andrew Lindesay
>>> www.silvereye.co.nz
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list ([email protected])
>>> Help/Unsubscribe/Update your Subscription:
>>> http://lists.apple.com/mailman/options/webobjects-dev/jtabert%40htgreenline.de
>>>
>>> This email sent to [email protected]
>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-dev/mschrag%40pobox.com
>>
>> This email sent to [email protected]
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/alexis.tual%40gmail.com
>
> This email sent to [email protected]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]