2016-09-30 1 views
1

OrientDB 그래프와 상호 작용하기 위해 일부 Java 코드로 작업 중입니다. 현재 OCommandRequest의 인터페이스를보고 있습니다. execute() 메서드는 우리가 실행 한 쿼리에 따라 다른 결과를 반환 할 수 있지만 가능한 것은 무엇인지 확신 할 수 없습니다.OrientDB OCommandRequest.execute()는 무엇을 반환합니까?

나는 looked at the code을 가지고 있지만, 나는 자바에 대해 새로운 것을 알고있다. 지금까지 나는 OCommandRequest가 인터페이스라는 것을 알았지 만 그것은 코드에서 쓰레드를 당기는 것에 관한 것입니다.

OrientDB Documentation에는 어떤 리턴 유형이 가능한지, 리턴 될 때 값이 의미하는 바를 알 수 있도록 많은 것을 찾지 못했습니다.

massapi에서 찾은 몇 가지 예제를 기반으로 몇 가지 예를 들어 보았습니다. 때로는 Integer를 반환하고 다른 경우에는 Boolean을 반환하지만 반복자를 다시 얻은 경우도 있습니다.

내 질문은 : OCommandRequest.execute()가 반환하는 것과 그 이유를 특징 짓는 문서가 있습니까? 이상적으로는 형식화 된 문서가 좋지만 인터페이스가 구현되는 위치를 찾기위한 코드에 대한 포인터도 도움이 될 것이며 스레드를 좀 더 끌어 올릴 수 있습니다.

지금은

, 나는 이전에 링크 된 massapi 사이트에서 예제 중 하나를 모방하고있어 (하지만 정말 질의 응답을 처리 할 수있는 축복의 방법으로 간주되어 있는지 확실하지 않습니다) :

OCommandRequest command = graph.command(new OCommandSQL(query)); 
Object result = command.execute(); 
if(result instanceof Integer) { 
    // do stuff if an integer was returned 
} else if(result instanceof Boolean) { 
    // do stuff if a boolean was returned 
} else if(result instanceof Iterable<OrientVertex>) { 
    // do stuff if an iterable list of vertices was returned 
} else { 
    // any other types? 
} 

누군가가 줄 수있는 포인터는 확실히 유용합니다.

감사합니다.

+0

것은이 유용 할 수있다 :


어쨌든 당신은 반환 유형을 보려면이 코드를 사용할 수 있습니까? http://orientdb.com/javadoc/latest/ –

+1

@IvanMainetti 이미 Javadoc에 대해 알고 있습니다 ... 나는 그것에 대해 조사해 왔습니다. 심지어 내 질문에 OComandRequest Javadocs에 연결 ... 나는 여전히 인터페이스를 구현하는 코드를 찾지 못했습니다. execute() 메서드에서 반환 할 수있는 형식을 찾으려고합니다. 지금까지 내가 실행 한 쿼리에 따라 bool, int 또는 Iterable <>을 반환 할 수 있음을 알고 있습니다. 나는 하나가 다른 것으로 돌아가는 원인을 찾아내는 것이 낫다. 예를 들어, 쿼리'SELECT FROM V'가'Iterable '를 반환 할 것으로 기대하지만, Integer처럼 다른 결과를 반환 할 수 있습니까? 그렇다면 언제? – TxAG98

답변

1

실행에 대한 SQL 명령에 대한 문서가 없습니다.

반환 유형을 확인하려면 직접 자신의 클래스를 참조해야합니다. 예를 들면. DROP CLASS은 부울을 반환합니다.

OCommandRequest command = g.command(new OCommandSQL(q));  
Object result = command.execute(); 
System.out.println(q+"\n"+result.getClass().toString()+"\n"); 
+1

맞아 ... 나는 지금 그와 비슷한 것을 가지고있다. 테이블에 어떤 문서가 있는지 궁금 해서요. 무엇을 반환하는지 보여주는 것입니다. 즉, DROP CLASS ...는 부울을 반환하고, DELETE EDGE ...는 Integer와 그 값을 반환합니다. 'SELECT FROM E'는 반복문 을 반환하지만'SELECT FROM V'는 Iterable 를 반환합니다 ... 또한 문제가 발생하면 어떨까요? null이됩니까? 예외? 그것은 현재로서는 부족한 지식으로 유지되는 것처럼 들리니 편리한 자료가 될 것입니다. – TxAG98

관련 문제