[jbosscache-dev] Method storeEntireState is ambiguous with null parameter

Vladimir Blagojevic vladimir.blagojevic at jboss.com
Fri Aug 25 12:25:05 EDT 2006


Hi,

As you might be aware Cacheloader 2.0 will add 4 methods for streaming
state transfer:

void storeEntireState(InputStream s);
void storeState(Fqn subtree,InputStream s);
void loadEntireState(OutputStream s);
void loadState(Fqn subtree,OutputStream s);

There is a slight problem will method overloading, namely we have now
two methods:

void storeEntireState(byte[] state) throws Exception;
void storeEntireState(InputStream is) throws Exception;

which are properly overloaded. However, java compiler will complain if
somebody invokes

cacheloader.storeEntireState(null); 

Workaround is to declare actual parameter explicitly , i.e:


byte [] nullstate = null;
cacheloader.storeEntireState(nullstate);

so that compiler can distinguish which overloaded method to invoke. 
This is the case with our own BdbjeTest that was invoking
cl.storeEntireState(null);  

Does anyone have any complaints or concerns? If not, I would proceed
with adding 
stream based methods to CacheLoader and adding noop implementation
methods to all 
implementers of CacheLoader interface.




More information about the jbosscache-dev mailing list