@Path("/")
 @POST
 @Produces(MediaType.APPLICATION_JSON)
 @Consumes(MediaType.APPLICATION_JSON)
 @ApiOperation(value = "creates company", httpMethod = "POST", notes = "creates company")
 public Status postCompany(
     @ApiParam(name = "company", value = "Company Object needs to be created", required = true)
         Company company) {
   return companyServiceImpl.postCompany(company);
 }
 @Path("/list")
 @GET
 @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON)
 @ApiOperation(
     value = "Get list of company",
     httpMethod = "GET",
     notes = "Fetch the company details")
 public List<CompanyBO> getCompanyList(
     @PathParam("companyType") String companyType, @QueryParam("companyId") long companyId) {
   return companyServiceImpl.getCompanyList(companyType, companyId);
 }
 @Path("/searchCompany")
 @POST
 @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON)
 @ApiOperation(
     value = "Get list of specific company",
     httpMethod = "POST",
     notes = "Fetch the details of specific company")
 public List<CompanyBO> searchCompany(
     @ApiParam(name = "company", value = "Company Object", required = true) Company companyPost) {
   return companyServiceImpl.searchCompany(companyPost);
 }
 @Path("/{id}")
 @GET
 @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON)
 @ApiOperation(
     value = "Get list of specific company",
     httpMethod = "GET",
     notes = "Fetch the details of specific company")
 public CompanyBO getCompany(
     @ApiParam(name = "id", value = "id of the company", required = true) @PathParam("id")
         long companyId) {
   return companyServiceImpl.getCompany(companyId);
 }
 @Path("/{id}")
 @DELETE
 @Produces(MediaType.APPLICATION_JSON)
 @Consumes(MediaType.APPLICATION_JSON)
 @ApiOperation(
     value = "deletes existing company",
     httpMethod = "DELETE",
     notes = "deletes existing company")
 public Status deleteCompany(
     @ApiParam(name = "id", value = "Id of the company needs to be deleted", required = true)
         @PathParam("id")
         long company_id) {
   return companyServiceImpl.deleteCompany(company_id);
 }
 @Path("/changeActivation/{id}/{isActive}")
 @PUT
 @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON)
 @ApiOperation(
     value = "change customer activation",
     httpMethod = "Put",
     notes = "changes customer activation")
 public Status changeActivation(
     @ApiParam(name = "id", value = "isActive field needs to be updated", required = true)
         @PathParam("id")
         long id,
     @PathParam("isActive") boolean isActive) {
   return companyServiceImpl.changeActivation(id, isActive);
 }
  @Path("/{id}")
  @PUT
  @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON)
  @ApiOperation(
      value = "updates existing company",
      httpMethod = "PUT",
      notes = "updates existing company")
  public Status updateCompany(
      @ApiParam(name = "id", value = "Id of the company needs to be updated", required = true)
          @PathParam("company_id")
          long companyId,
      @ApiParam(name = "company", value = "Company Object needs to be updated", required = true)
          Company company) {

    return companyServiceImpl.updateCompany(companyId, company);
  }