class EmployeeQueryBuilder extends AbstractQueryBuilder<Employee> {

	@Override
	protected BaseQueryBuilder build(final Employee context, final BaseQueryBuilder builder) {
		return builder
				.where()
				.openBracket()
					.addAndCondition(EMPLOYEETYPE_CONDITION, context.getEmployeeType())
					.addAndCondition(PERSON_CONDITION, context.getPerson())
					.addAndCondition(GENDERTYPE_CONDITION, context.getGenderType())
					.addAndCondition(DEPARTMENT_CONDITION, context.getDepartment())
					.addAndCondition(POST_CONDITION, context.getPost())
					.addAndCondition(JOBTYPE_CONDITION, context.getJobType())
					.addAndCondition(EMPLOYEESTATUS_CONDITION, context.getEmployeeStatus())
					.addAndCondition(ORDER_CONDITON, context.getOrder())
					.addAndCondition(PARENT_CONDITION, context.getParent())
					.addAndCondition(NAME_CONDITION, context.getName())
					.addAndCondition(FIRSTNAME_CONDITION, context.getFirstName())
					.addAndCondition(FATHERNAME_CONDITION, context.getFatherName())
					.addAndCondition(SURNAME_CONDITION, context.getSurname())
					.addAndCondition(BIRTHDATE_CONDITION, context.getBirthDate())
					.addAndCondition(INVNUM_CONDITION, context.getInvNum())
					.addAndCondition(RATE_CONDITION, context.getRate())
					.addAndCondition(ISPLURALITY_CONDITION, context.getIsPlurality())
					.addAndCondition(ISPENSIONER_CONDITION, context.getIsPensioner())
					.addAndCondition(BEGDATE_CONDITION, context.getBegDate())
					.addAndCondition(ENDDATE_CONDITION, context.getEndDate())
					.addAndCondition(DOCSERIES_CONDITION, context.getDocSeries())
					.addAndCondition(DOCNUM_CONDITION, context.getDocNum())
					.addAndCondition(PHONE_CONDITION, context.getPhone())
					.addAndCondition(EMAIL_CONDITION, context.getEmail())
				.closeBracket();
	}

}