/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.syncope.common.rest.api.beans; import java.util.Date; import javax.validation.constraints.NotNull; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; import org.apache.syncope.common.lib.AbstractBaseBean; public class BulkExecDeleteQuery extends AbstractBaseBean { private static final long serialVersionUID = 3846547401120638351L; public static class Builder { private final BulkExecDeleteQuery instance = new BulkExecDeleteQuery(); public Builder key(final String key) { instance.setKey(key); return this; } public Builder startedBefore(final Date date) { instance.setStartedBefore(date); return this; } public Builder startedAfter(final Date date) { instance.setStartedAfter(date); return this; } public Builder endedBefore(final Date date) { instance.setEndedBefore(date); return this; } public Builder endedAfter(final Date date) { instance.setEndedAfter(date); return this; } public BulkExecDeleteQuery build() { return instance; } } private String key; private Date startedBefore; private Date startedAfter; private Date endedBefore; private Date endedAfter; public String getKey() { return key; } @NotNull @PathParam("key") public void setKey(final String key) { this.key = key; } public Date getStartedBefore() { if (startedBefore != null) { return new Date(startedBefore.getTime()); } return null; } @QueryParam("startedBefore") public void setStartedBefore(final Date startedBefore) { if (startedBefore != null) { this.startedBefore = new Date(startedBefore.getTime()); } else { this.startedBefore = null; } } public Date getStartedAfter() { if (startedAfter != null) { return new Date(startedAfter.getTime()); } return null; } @QueryParam("startedAfter") public void setStartedAfter(final Date startedAfter) { if (startedAfter != null) { this.startedAfter = new Date(startedAfter.getTime()); } else { this.startedAfter = null; } } public Date getEndedBefore() { if (endedBefore != null) { return new Date(endedBefore.getTime()); } return null; } @QueryParam("endedBefore") public void setEndedBefore(final Date endedBefore) { if (endedBefore != null) { this.endedBefore = new Date(endedBefore.getTime()); } else { this.endedBefore = null; } } public Date getEndedAfter() { if (endedAfter != null) { return new Date(endedAfter.getTime()); } return null; } @QueryParam("endedAfter") public void setEndedAfter(final Date endedAfter) { if (endedAfter != null) { this.endedAfter = new Date(endedAfter.getTime()); } else { this.endedAfter = null; } } }