/************************************************************************* * * * EJBCA Community: The OpenSource Certificate Authority * * * * This software is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or any later version. * * * * See terms of license at gnu.org. * * * *************************************************************************/ package org.cesecore.keybind; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; /** * This class wraps the result of an internal key binding validation. It contains a defensive copy of the properties map * allowing values entered as strings to be recast as their proper values, and also contains lists of invalid values for * diagnostic purposes. * * @version $Id: InternalKeyBindingPropertyValidationWrapper.java 19902 2014-09-30 14:32:24Z anatom $ * */ public class InternalKeyBindingPropertyValidationWrapper { private Map> invalidValues = new HashMap>(); private List unknownProperties = new ArrayList(); private Map propertiesCopy = new LinkedHashMap(); public boolean arePropertiesValid() { return invalidValues.isEmpty() && unknownProperties.isEmpty(); } public Map> getInvalidValues() { return invalidValues; } public List getUnknownProperties() { return unknownProperties; } public Map getPropertiesCopy() { return propertiesCopy; } public void addInvalidValue(String value, Class expected) { invalidValues.put(value, expected); } public void addUnknownProperty(String value) { unknownProperties.add(value); } public void addProperty(String key, Serializable value) { propertiesCopy.put(key, value); } }