[ https://issues.apache.org/jira/browse/PIVOT-743?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sandro Martini updated PIVOT-743: --------------------------------- Affects Version/s: 2.0 Fix Version/s: 2.1 I'm not against this, but at the moment I'd prefer to not complicate too much the usage in standard (not-OSGi) cases, so I assign it to 2.1 for the moment. On the Applets issue maybe this could be more important for us (could have more occurrences in our usual cases) in the short term. What others say ? > pivot & static > -------------- > > Key: PIVOT-743 > URL: https://issues.apache.org/jira/browse/PIVOT-743 > Project: Pivot > Issue Type: Improvement > Affects Versions: 2.0 > Reporter: Andrei Pozolotin > Fix For: 2.1 > > > Greg, hello: > 1) in this example you say: > http://pivot.apache.org/tutorials/list-buttons.html > "Note that this example makes use of the global resource cache to store the > loaded images." > 2) which reminds of the "java evil singleton pattern" > http://java.sun.com/developer/technicalArticles/Programming/singletons/ > http://www.ibm.com/developerworks/webservices/library/co-single/index.html > http://beust.com/weblog/2011/03/10/rehabilitating-the-singleton-pattern/ > http://tech.puredanger.com/2007/07/03/pattern-hate-singleton/ > and the consensus seems to be: > "Singletons are fine as long as you don't implement them with static" > 3) and pivot uses them freely; few examples > public abstract class ApplicationContext { > protected static ArrayList<Display> displays = new ArrayList<Display>(); > protected static ArrayList<Application> applications = new > ArrayList<Application>(); > private static HashMap<URI, Object> resourceCache = new HashMap<URI, > Object>(); > private static ResourceCacheDictionary resourceCacheDictionary = new > ResourceCacheDictionary(); > public abstract class Theme { > private static Theme theme = null; > 4) do you think is it feasible to convert all of pivot into SPI: > ServiceLoader<PivotFrameworkFactory> loader = > ServiceLoader.load(PivotFrameworkFactory.class); > PivotFrameworkFactory factory = loader.iterator().next(); > Map<String, Object> config = new HashMap<String, Object>(); > PivotFramework framework = factory.newFramework(config); > 5) the two use cases that affect me now: > a) applet reload shares static > b) pivot + osgi (not sure yet if I can find a workaround; possibly depends on > what you do about PIVOT-742 PIVOT-22) > thank you; > Andrei -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira