52 lines
1.8 KiB
HTML
52 lines
1.8 KiB
HTML
|
|
|
||
|
|
<html>
|
||
|
|
<head>
|
||
|
|
<link href='./_highlighter/SyntaxHighlighter.css' rel='stylesheet' type='text/css'/>
|
||
|
|
<script language='javascript' src='./_highlighter/shAll.js'></script>
|
||
|
|
</head>
|
||
|
|
<body>
|
||
|
|
<pre name="code" class="scala" style="width:100%">
|
||
|
|
/**
|
||
|
|
* Copyright (C) 2009 Scalable Solutions.
|
||
|
|
*/
|
||
|
|
|
||
|
|
package se.scalablesolutions.akka.state
|
||
|
|
|
||
|
|
// abstracts persistence storage
|
||
|
|
trait Storage
|
||
|
|
|
||
|
|
// for Maps
|
||
|
|
trait MapStorage extends Storage {
|
||
|
|
def insertMapStorageEntriesFor(name: String, entries: List[Tuple2[AnyRef, AnyRef]])
|
||
|
|
def insertMapStorageEntryFor(name: String, key: AnyRef, value: AnyRef)
|
||
|
|
def removeMapStorageFor(name: String)
|
||
|
|
def removeMapStorageFor(name: String, key: AnyRef)
|
||
|
|
def getMapStorageEntryFor(name: String, key: AnyRef): Option[AnyRef]
|
||
|
|
def getMapStorageSizeFor(name: String): Int
|
||
|
|
def getMapStorageFor(name: String): List[Tuple2[AnyRef, AnyRef]]
|
||
|
|
def getMapStorageRangeFor(name: String, start: Option[AnyRef], finish: Option[AnyRef], count: Int): List[Tuple2[AnyRef, AnyRef]]
|
||
|
|
}
|
||
|
|
|
||
|
|
// for Vectors
|
||
|
|
trait VectorStorage extends Storage {
|
||
|
|
def insertVectorStorageEntryFor(name: String, element: AnyRef)
|
||
|
|
def insertVectorStorageEntriesFor(name: String, elements: List[AnyRef])
|
||
|
|
def updateVectorStorageEntryFor(name: String, index: Int, elem: AnyRef)
|
||
|
|
def getVectorStorageEntryFor(name: String, index: Int): AnyRef
|
||
|
|
def getVectorStorageRangeFor(name: String, start: Option[Int], finish: Option[Int], count: Int): List[AnyRef]
|
||
|
|
def getVectorStorageSizeFor(name: String): Int
|
||
|
|
}
|
||
|
|
|
||
|
|
// for Ref
|
||
|
|
trait RefStorage extends Storage {
|
||
|
|
def insertRefStorageFor(name: String, element: AnyRef)
|
||
|
|
def getRefStorageFor(name: String): Option[AnyRef]
|
||
|
|
}
|
||
|
|
</pre>
|
||
|
|
<script language='javascript'>
|
||
|
|
dp.SyntaxHighlighter.ClipboardSwf = './_highlighter/clipboard.swf';
|
||
|
|
dp.SyntaxHighlighter.HighlightAll('code');
|
||
|
|
</script>
|
||
|
|
</body>
|
||
|
|
</html>
|