com.elephantdrummer.classconfig.base.EveryConfig Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of drummer Show documentation
Show all versions of drummer Show documentation
Elephant Drummer Java Job Scheduler
package com.elephantdrummer.classconfig.base;
import java.lang.annotation.Annotation;
import com.elephantdrummer.annotation.trigger.After;
import com.elephantdrummer.annotation.trigger.Before;
import com.elephantdrummer.annotation.trigger.Every;
/**
* Copyright 2018 Elephant Software Klaudiusz Wojtkowiak e-mail: [email protected]
*
* Licensed 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.
*/
public class EveryConfig extends RangeConfigBase {
public static final EveryConfig everySecond(int second) {
EveryConfig rv=new EveryConfig();
rv.setSecond(second);
return rv;
}
public static final EveryConfig everyMinute(int minute) {
EveryConfig rv=new EveryConfig();
rv.setMinute(minute);
return rv;
}
public static final EveryConfig everyHour(int hour) {
EveryConfig rv=new EveryConfig();
rv.setHour(hour);
return rv;
}
public static final EveryConfig everyDay(int day) {
EveryConfig rv=new EveryConfig();
rv.setDay(day);
return rv;
}
private AfterConfig after;
private BeforeConfig before;
public Every getEvery() {
return new Every() {
@Override
public Class extends Annotation> annotationType() {
return Every.class;
}
@Override
public int day() {
return getDay();
}
@Override
public int hour() {
return getHour();
}
@Override
public int minute() {
return getMinute();
}
@Override
public int second() {
return getSecond();
}
@Override
public int milisecond() {
return getMiliSecond();
}
@Override
public Before before() {
return getBefore()==null?null:getBefore().getBefore();
}
@Override
public After after() {
return getAfter()==null?null:getAfter().getAfter();
}
};
}
public AfterConfig getAfter() {
return after;
}
public void setAfter(AfterConfig after) {
this.after = after;
}
public BeforeConfig getBefore() {
return before;
}
public void setBefore(BeforeConfig before) {
this.before = before;
}
}