package org.araqne.logdb.hprof; import org.apache.felix.ipojo.annotations.Component; import org.apache.felix.ipojo.annotations.Invalidate; import org.apache.felix.ipojo.annotations.Requires; import org.apache.felix.ipojo.annotations.Validate; import org.araqne.logdb.AbstractQueryCommandParser; import org.araqne.logdb.QueryCommand; import org.araqne.logdb.QueryContext; import org.araqne.logdb.QueryParserService; @Component(name = "jmap-command-parser") public class JmapCommandParser extends AbstractQueryCommandParser { @Requires private QueryParserService parserService; public JmapCommandParser() { setDescriptions("Load heap dump information in hprof binary file.", "hprof 바이너리 포맷으로 된 파일의 힙 덤프 정보를 조회합니다."); } @Validate public void start() { parserService.addCommandParser(this); } @Invalidate public void stop() { if (parserService != null) parserService.removeCommandParser(this); } @Override public String getCommandName() { return "jmap"; } @Override public QueryCommand parse(QueryContext context, String commandString) { return new JmapCommand(commandString.substring(getCommandName().length() + 1)); } }