/* * JBoss, Home of Professional Open Source * Copyright 2014 Red Hat Inc. and/or its affiliates and other contributors * as indicated by the @authors tag. All rights reserved. */ package org.jboss.elasticsearch.tools.content; import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** * Basic implementation of {@link PreprocessChainContext}. * * @author Vlastimil Elias (velias at redhat dot com) */ public class PreprocessChainContextImpl implements PreprocessChainContext { protected List<DataWarning> warnings = new ArrayList<>(); @Override public void addDataWarning(String preprocessorName, String warningMessage) { if (preprocessorName == null || warningMessage == null) { throw new IllegalArgumentException("preprocessorName nor warningMessage can be null"); } warnings.add(new DataWarning(preprocessorName, warningMessage)); } /** * Get list of watnings. * * @return list of warnings, newer null */ public List<DataWarning> getWarnings() { return warnings; } /** * Check if some warning is available. * * @return true if there is any warning available. */ public boolean isWarning() { return !warnings.isEmpty(); } @Override public String toString() { return "PreprocessChainContextImpl [warnings=" + warnings + "]"; } public static final class DataWarning implements Serializable { private String preprocessorName; private String warningMessage; public DataWarning(String preprocessorName, String warningMessage) { super(); this.preprocessorName = preprocessorName; this.warningMessage = warningMessage; } public String getPreprocessorName() { return preprocessorName; } public String getWarningMessage() { return warningMessage; } @Override public String toString() { return "DataWarning [preprocessorName=" + preprocessorName + ", warningMessage=" + warningMessage + "]"; } } }