Java Doc for ReleaseStrategy.java in  » Database-ORM » MMBase » org » mmbase » cache » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Database ORM » MMBase » org.mmbase.cache 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.mmbase.cache.ReleaseStrategy

All known Subclasses:   org.mmbase.cache.ChainedReleaseStrategy,  org.mmbase.cache.BetterStrategy,  org.mmbase.cache.BasicReleaseStrategy,  org.mmbase.cache.ConstraintsMatchingStrategy,
ReleaseStrategy
abstract public class ReleaseStrategy (Code)

This class is the base for all cache release strategies. You should extend this to create your own. It will contain a number of usefull utility methods to analyze query objecs and cached search results. Feel free to add those In case you miss one developing your own strategies.


author:
   Ernst Bunders
since:
   MMBase-1.8
version:
   $Id: ReleaseStrategy.java,v 1.23 2007/02/24 21:57:51 nklasens Exp $

Inner Class :public static class StrategyResult
Inner Class :final protected static class Timer


Constructor Summary
public  ReleaseStrategy()
    

Method Summary
public  voidclear()
    
abstract protected  booleandoEvaluate(NodeEvent event, SearchQuery query, List<MMObjectNode> cachedResult)
     implement this method to create your own strategy.
abstract protected  booleandoEvaluate(RelationEvent event, SearchQuery query, List<MMObjectNode> cachedResult)
     implement this method to create your own strategy.
public  booleanequals(Object ob)
    
final public  StrategyResultevaluate(NodeEvent event, SearchQuery query, List<MMObjectNode> cachedResult)
     This method checks if evaluation should happen (active), keeps the time of the operation and updates the statistics.
final public  StrategyResultevaluate(RelationEvent event, SearchQuery query, List<MMObjectNode> cachedResult)
    
public  intgetAvgEvaluationTimeInMilis()
    
protected static  List<Constraint>getConstraintsForField(String fieldName, MMObjectBuilder builder, Constraint constraint, SearchQuery query)
     utility for specializations: get all the constraints in the query that apply to a certain field TODO MM: This method is used like this: if(getConstraintsForField(fieldName, eventBuilder, constraint, query).size() > 0){ return false;} IOW, only the size of the return list is used, and then even whether it is 0 or not.
abstract public  StringgetDescription()
    
abstract public  StringgetName()
    
protected static  List<SortOrder>getSortordersForField(String fieldName, MMObjectBuilder builder, List<SortOrder> sortOrders, SearchQuery query)
    
public  intgetTotalEvaluated()
    
public  longgetTotalEvaluationTimeMillis()
    
public  intgetTotalPreserved()
    
public  inthashCode()
    
public  booleanisEnabled()
    
public  voidsetEnabled(boolean newStatus)
    
public  StringtoString()
    


Constructor Detail
ReleaseStrategy
public ReleaseStrategy()(Code)




Method Detail
clear
public void clear()(Code)



doEvaluate
abstract protected boolean doEvaluate(NodeEvent event, SearchQuery query, List<MMObjectNode> cachedResult)(Code)
implement this method to create your own strategy.
Parameters:
  event - a node event
Parameters:
  query -
Parameters:
  cachedResult - true if the cache entry should be released



doEvaluate
abstract protected boolean doEvaluate(RelationEvent event, SearchQuery query, List<MMObjectNode> cachedResult)(Code)
implement this method to create your own strategy.
Parameters:
  event - a relation event
Parameters:
  query -
Parameters:
  cachedResult - true if the cache entry should be released



equals
public boolean equals(Object ob)(Code)



evaluate
final public StrategyResult evaluate(NodeEvent event, SearchQuery query, List<MMObjectNode> cachedResult)(Code)
This method checks if evaluation should happen (active), keeps the time of the operation and updates the statistics. To implement you own strategy override ReleaseStrategy.doEvaluate(NodeEvent event,SearchQuery query,List cachedResult) .



evaluate
final public StrategyResult evaluate(RelationEvent event, SearchQuery query, List<MMObjectNode> cachedResult)(Code)



getAvgEvaluationTimeInMilis
public int getAvgEvaluationTimeInMilis()(Code)



getConstraintsForField
protected static List<Constraint> getConstraintsForField(String fieldName, MMObjectBuilder builder, Constraint constraint, SearchQuery query)(Code)
utility for specializations: get all the constraints in the query that apply to a certain field TODO MM: This method is used like this: if(getConstraintsForField(fieldName, eventBuilder, constraint, query).size() > 0){ return false;} IOW, only the size of the return list is used, and then even whether it is 0 or not. I think it is a waste to construct a complete new list, only for that. Perhaps the method should return an Iterator?, and can be used with only 'hasNext()', constructing a longer list then necessary is avoided then.
Parameters:
  fieldName -
Parameters:
  builder -
Parameters:
  constraint -
Parameters:
  query -



getDescription
abstract public String getDescription()(Code)



getName
abstract public String getName()(Code)



getSortordersForField
protected static List<SortOrder> getSortordersForField(String fieldName, MMObjectBuilder builder, List<SortOrder> sortOrders, SearchQuery query)(Code)
utility for specializations: get all the sortorders in the query that apply to a certain field TODO MM: See remark at ReleaseStrategy.getConstraintsForField
Parameters:
  fieldName -
Parameters:
  builder -
Parameters:
  sortOrders -
Parameters:
  query -



getTotalEvaluated
public int getTotalEvaluated()(Code)



getTotalEvaluationTimeMillis
public long getTotalEvaluationTimeMillis()(Code)



getTotalPreserved
public int getTotalPreserved()(Code)



hashCode
public int hashCode()(Code)



isEnabled
public boolean isEnabled()(Code)



setEnabled
public void setEnabled(boolean newStatus)(Code)



toString
public String toString()(Code)



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.