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

org.unlaxer.jaddress.parser.PartialParsingResultImpl Maven / Gradle / Ivy

The newest version!
package org.unlaxer.jaddress.parser;

import java.util.List;
import java.util.Optional;

import javax.annotation.Nullable;

public class PartialParsingResultImpl implements PartialParsingResult{
	
	private ParsingState parsingState;
	ResolverResultHolder resolverResultHolder;
	private Optional result;
	private final ParsingTarget parsingTarget;
	
	public PartialParsingResultImpl(ParsingTarget parsingTarget) {
		this(parsingTarget , null);
	}
	public PartialParsingResultImpl(ParsingTarget parsingTarget ,@Nullable AddressElements addressElements) {
		super();
		this.parsingTarget = parsingTarget;
		parsingState = ParsingState.パース開始;
		this.result  = Optional.ofNullable(addressElements);
		resolverResultHolder = new ResolverResults();
		parsingTarget.resolverResults().stream().forEach(this::add);
	}

	@Override
	public ParsingState parsingState() {
		return parsingState;
	}

	@Override
	public void add(ResolverResult resolverResult) {
		resolverResultHolder.add(resolverResult);
	}

	@Override
	public void set(ParsingState parsingState) {
		this.parsingState = parsingState;
	}

	@Override
	public Optional result() {
		return result;
	}
	@Override
	public void set(AddressElements addressElements) {
		
		result = Optional.ofNullable(addressElements);
	}
	@Override
	public ParsingTarget parsingTarget() {
		return parsingTarget;
	}
	@Override
	public List processedProcessor() {
		return resolverResultHolder.processedProcessor();
	}
	@Override
	public List processed() {
		return resolverResultHolder.processed();
	}
	@Override
	public List matched() {
		return resolverResultHolder.matched();
	}
	@Override
	public String toString() {
		return parsingState.name()+"["+result.map(AddressElements::toString).orElse("")+"]";
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy