def get_objectives_by_query(self, objective_query=None):
if objective_query is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>if '<STR_LIT>' in objective_query._query_terms:<EOL><INDENT>url_path = construct_url('<STR_LIT>',<EOL>bank_id=self._objective_bank_id,<EOL>obj_id=objective_query._query_terms['<STR_LIT>'].split('<STR_LIT:=>')[<NUM_LIT:1>])<EOL>url_path += '<STR_LIT>'<EOL><DEDENT>elif '<STR_LIT>' in objective_query._query_terms:<EOL><INDENT>url_path = construct_url('<STR_LIT>',<EOL>bank_id=self._objective_bank_id,<EOL>obj_id=objective_query._query_terms['<STR_LIT>'].split('<STR_LIT:=>')[<NUM_LIT:1>])<EOL>url_path += '<STR_LIT>'<EOL><DEDENT>else:<EOL><INDENT>url_path = construct_url('<STR_LIT>', obj_id=None)<EOL><DEDENT>for term in objective_query._query_terms:<EOL><INDENT>if term not in ['<STR_LIT>', '<STR_LIT>']:<EOL><INDENT>url_path += '<STR_LIT>'.format(objective_query._query_terms[term])<EOL><DEDENT><DEDENT>url_path = url_path.replace('<STR_LIT:&>', '<STR_LIT:?>', <NUM_LIT:1>)<EOL>return objects.ObjectiveList(self._get_request(url_path))<EOL>
Gets a list of Objectives matching the given objective query.

        arg:    objectiveQuery (osid.learning.ObjectiveQuery): the
                objective query
        return: (osid.learning.ObjectiveList) - the returned
                ObjectiveList
        raise:  NullArgument - objectiveQuery is null
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        raise:  Unsupported - objectiveQuery is not of this service
        compliance: mandatory - This method must be implemented.