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

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

package org.unlaxer.jaddress.parser;

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

import javax.annotation.Nullable;

public class PartialParsingResultImpl implements PartialParsingResult{
	
	private ParsingState parsingState;
	private final List resolverResultOfBoolean;
	private final List resolverResultOfEnum;
	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;
		resolverResultOfBoolean = new ArrayList<>();
		resolverResultOfEnum = new ArrayList<>();
		parsingState = ParsingState.パース開始;
		this.result  = Optional.ofNullable(addressElements); 
	}

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

	@Override
	public void add(ResolverResult resolverResult) {
		ResolverResultKind kind = resolverResult.kind;
		
		if(kind.isBooleanType()) {
			resolverResultOfBoolean.add(resolverResult);
		}else {
			resolverResultOfEnum.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 resolverResultOfBoolean() {
		return resolverResultOfBoolean;
	}
	@Override
	public List resolverResultOfEnum() {
		return resolverResultOfEnum;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy