All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.elephantdrummer.classconfig.base.AtConfig Maven / Gradle / Ivy

The newest version!
package com.elephantdrummer.classconfig.base;

import java.lang.annotation.Annotation;

import com.elephantdrummer.annotation.DayOfWeek;
import com.elephantdrummer.annotation.trigger.After;
import com.elephantdrummer.annotation.trigger.At;
import com.elephantdrummer.annotation.trigger.Before;
import com.elephantdrummer.annotation.trigger.TimeZoneEnum;

/**
 * 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 AtConfig extends AtConfigBase{
	

	
	private AfterConfig after;
	private BeforeConfig before;
	
	public At getAt() {
		return new At() {

			@Override
			public Class annotationType() {
				return At.class;
			}

			@Override
			public int year() {
				return getYear();
			}

			@Override
			public int month() {
				return getMonth();
			}

			@Override
			public int day() {
				return getDay();
			}

			@Override
			public DayOfWeek[] dayOfWeek() {
				return getDayOfWeek();
			}

			@Override
			public int hour() {
				return getHour();
			}

			@Override
			public int minute() {
				return getMinute();
			}

			@Override
			public int second() {
				return getSecond();
			}

			@Override
			public TimeZoneEnum timezone() {
				return getTimeZone();
			}

			@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;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy