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

open.source.exchange.parser.TemporalUnitParser Maven / Gradle / Ivy

package open.source.exchange.parser;

import java.time.temporal.TemporalUnit;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import open.source.exchange.model.ExBase;
import open.source.exchange.model.ExDuration;
import open.source.exchange.model.ExTemporalUnit;

@Log4j2
@Service
@RequiredArgsConstructor
public class TemporalUnitParser {

	@Autowired
	private ObjectParser objectParser;

	public ExTemporalUnit parse(TemporalUnit temporalUnit) {

		log.trace("parse -> (temporalUnit) {}", temporalUnit);
		ExTemporalUnit exTemporalUnit = null;

		if (null != temporalUnit) {
			ExBase exBase = objectParser.parse(temporalUnit);
			exTemporalUnit = new ExTemporalUnit(exBase);

			boolean isDateBased = temporalUnit.isDateBased();
			exTemporalUnit.setDateBased(isDateBased);

			boolean isDurationEstimated = temporalUnit.isDurationEstimated();
			exTemporalUnit.setDurationEstimated(isDurationEstimated);

			boolean isTimeBased = temporalUnit.isTimeBased();
			exTemporalUnit.setTimeBased(isTimeBased);

			// Note : do not parse below, cyclic dependency, infinite recursive loop
			// temporalUnit.getDuration();
		}
		return exTemporalUnit;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy