public class InMem extends Object implements Serializable
ConcurrentSkipListMap
.Modifier and Type | Field and Description |
---|---|
protected static org.rapidoid.beany.PropertyFilter |
SEARCHABLE_PROPS |
Constructor and Description |
---|
InMem(String filename,
EntitySerializer serializer,
EntityConstructor constructor,
Set<Class<?>> relClasses,
String asUsername) |
Modifier and Type | Method and Description |
---|---|
InMem |
as(String username) |
void |
clear() |
void |
delete(long id) |
void |
delete(Object record) |
void |
destroy() |
<E> void |
each(org.rapidoid.lambda.Operation<E> lambda) |
<E> List<E> |
find(Class<E> clazz,
org.rapidoid.lambda.Predicate<E> match,
Comparator<E> orderBy) |
<E> List<E> |
find(Class<E> clazz,
String query,
Object... args) |
<E> List<E> |
find(Iterable<Long> ids) |
<E> List<E> |
find(org.rapidoid.lambda.Predicate<E> match) |
<E> List<E> |
find(String searchPhrase) |
<E> E |
get(long id) |
<E> E |
get(long id,
Class<E> clazz) |
<E> List<E> |
getAll(Class<E> clazz) |
<E> List<E> |
getAll(Collection<Long> ids) |
<E> List<E> |
getAll(long[] ids) |
<E> E |
getIfExists(long id) |
long |
getVersionOf(long id) |
void |
halt() |
void |
initAndLoad() |
long |
insert(Object record) |
boolean |
isActive() |
void |
loadFrom(InputStream in) |
Map<String,Object> |
loadMetadata(InputStream in) |
static boolean |
matches(Object record,
String query,
Object... args) |
long |
persist(Object record) |
long |
persistedIdOf(Object record) |
void |
prefill(Object entity) |
<T> T |
readColumn(long id,
String column) |
void |
refresh(Object record) |
void |
saveTo(OutputStream output) |
void |
shutdown() |
int |
size() |
protected <E> List<E> |
sorted(List<E> records,
Comparator<E> orderBy) |
void |
start() |
InMem |
sudo() |
String |
toString() |
void |
transaction(Runnable transaction,
boolean readOnly)
Simple, persisted in-memory NoSQL DB, based on
ConcurrentSkipListMap .ACID transactional semantics: - Atomicity with automatic rollback in case of exception, - Consistency - only with constraints enforced programmatically inside transaction, - Isolation is serializable (with global lock), - Durability through on-commit callbacks (this method is blocking). |
void |
transaction(Runnable transaction,
boolean readOnly,
org.rapidoid.lambda.Callback<Void> txCallback)
ACID transactional semantics:
- Atomicity with automatic rollback in case of exception, - Consistency - only with constraints enforced programmatically inside transaction, - Isolation is serializable (with global lock), - Durability through on-commit callbacks. |
void |
update(long id,
Object record) |
void |
update(Object record) |
protected String |
username() |
protected static final org.rapidoid.beany.PropertyFilter SEARCHABLE_PROPS
public InMem(String filename, EntitySerializer serializer, EntityConstructor constructor, Set<Class<?>> relClasses, String asUsername)
protected String username()
public void initAndLoad()
public long insert(Object record)
public void delete(long id)
public void delete(Object record)
public <E> E get(long id)
public <E> E getIfExists(long id)
public <E> E get(long id, Class<E> clazz)
public void refresh(Object record)
public void update(long id, Object record)
public void update(Object record)
public long persist(Object record)
public long persistedIdOf(Object record)
public <T> T readColumn(long id, String column)
protected <E> List<E> sorted(List<E> records, Comparator<E> orderBy)
public <E> List<E> getAll(long[] ids)
public <E> List<E> getAll(Collection<Long> ids)
public <E> List<E> find(org.rapidoid.lambda.Predicate<E> match)
public <E> List<E> find(Class<E> clazz, org.rapidoid.lambda.Predicate<E> match, Comparator<E> orderBy)
public <E> void each(org.rapidoid.lambda.Operation<E> lambda)
public void transaction(Runnable transaction, boolean readOnly)
ConcurrentSkipListMap
.public void transaction(Runnable transaction, boolean readOnly, org.rapidoid.lambda.Callback<Void> txCallback)
public void saveTo(OutputStream output)
public Map<String,Object> loadMetadata(InputStream in)
public void loadFrom(InputStream in)
public void shutdown()
public boolean isActive()
public void start()
public void halt()
public void destroy()
public int size()
public void clear()
public InMem sudo()
public long getVersionOf(long id)
public void prefill(Object entity)
Copyright © 2014–2015 Nikolche Mihajlovski. All rights reserved.