|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcontrabase.api.ContrabaseResults
public class ContrabaseResults
API에서 Select 를 요청했을때 리포지토리에 데이터를 가지고 오는데 한꺼번에 가져오는것이 아니라 API의 캐쉬에 일정량을 담아서 가져오고 검색된 모든 결 데이터가 나올때 까지 반복하는 클래스
| Nested Class Summary | |
|---|---|
private static class |
ContrabaseResults.RepositoryCache
Repository 에서 조건이나 key 값에 일치하는 결과를 리포지토리의 cache에 담아놓고 API가 요청하면 반환해주는 클래스 |
| Field Summary | |
|---|---|
private java.util.HashMap<java.lang.String,ContrabaseResults.RepositoryCache> |
caches
|
private contrabase.network.MapReduce |
mapReduce
|
private int |
maxCacheSize
|
private java.util.List<contrabase.api.RepositoryInfo> |
repositories
|
| Constructor Summary | |
|---|---|
ContrabaseResults(java.util.List<contrabase.api.RepositoryInfo> repositories)
생성자 (최대 캐쉬 사이즈는 기본 값으로 설정된다.) |
|
ContrabaseResults(java.util.List<contrabase.api.RepositoryInfo> repositories,
int maxCacheSize)
생성자 (최대 캐쉬 사이즈를 지정한다.) |
|
| Method Summary | |
|---|---|
private boolean[] |
generateRequestable(int size)
전송 요청을 할 대상들을 true로 표시한다. |
private contrabase.ObjectContainer |
getOneObject()
외부 정렬을 해서, 객체 하나를 가져온다. |
private boolean |
hasEmptyCache()
캐쉬중에 비어있는 리스트가 하나라도 있는지 체크한다. |
boolean |
hasNext()
다음 노드가 있는지 확인한다. |
private void |
initialize(java.util.List<contrabase.api.RepositoryInfo> repositories)
초기화 함수. |
private boolean |
isEnd()
끝났는지 확인한다. |
java.lang.Object |
next()
다음 노드를 객체로 가져온다. |
contrabase.ObjectContainer |
nextObjectContainer()
다음 노드를 ObjectContainer 에 담아서 가져온다. |
private boolean |
refillCache()
캐쉬를 리필한다. |
private contrabase.network.Message[] |
sendRequestsToRepositories(contrabase.network.Message request,
boolean[] requestable)
리포지토리들에 요청을 보낸다. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private contrabase.network.MapReduce mapReduce
private java.util.HashMap<java.lang.String,ContrabaseResults.RepositoryCache> caches
private int maxCacheSize
private java.util.List<contrabase.api.RepositoryInfo> repositories
| Constructor Detail |
|---|
public ContrabaseResults(java.util.List<contrabase.api.RepositoryInfo> repositories)
throws contrabase.network.ContrabaseNetworkException
contrabase.network.ContrabaseNetworkException
public ContrabaseResults(java.util.List<contrabase.api.RepositoryInfo> repositories,
int maxCacheSize)
throws contrabase.network.ContrabaseNetworkException
contrabase.network.ContrabaseNetworkException| Method Detail |
|---|
private final void initialize(java.util.List<contrabase.api.RepositoryInfo> repositories)
throws contrabase.network.ContrabaseNetworkException
messengers -
contrabase.network.ContrabaseNetworkException
java.lang.InterruptedExceptionprivate boolean refillCache()
private boolean[] generateRequestable(int size)
size -
private contrabase.network.Message[] sendRequestsToRepositories(contrabase.network.Message request,
boolean[] requestable)
request - responses - requestable - size -
private boolean isEnd()
public boolean hasNext()
private boolean hasEmptyCache()
public contrabase.ObjectContainer nextObjectContainer()
throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
java.io.IOException
public java.lang.Object next()
throws java.lang.ClassNotFoundException,
java.io.IOException
java.lang.ClassNotFoundException
java.io.IOExceptionprivate contrabase.ObjectContainer getOneObject()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||