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

org.snakeyaml.engine.v2.api.LoadSettings Maven / Gradle / Ivy

/**
 * Copyright (c) 2018, http://www.snakeyaml.org
 * 

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *

* http://www.apache.org/licenses/LICENSE-2.0 *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.snakeyaml.engine.v2.api; import org.snakeyaml.engine.v2.common.SpecVersion; import org.snakeyaml.engine.v2.env.EnvConfig; import org.snakeyaml.engine.v2.nodes.Tag; import org.snakeyaml.engine.v2.resolver.ScalarResolver; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.function.Function; import java.util.function.IntFunction; import java.util.function.UnaryOperator; /** * Fine tuning parsing/loading * Description for all the fields can be found in the builder */ public final class LoadSettings { private final String label; private final Map tagConstructors; private final ScalarResolver scalarResolver; private final IntFunction defaultList; private final IntFunction defaultSet; private final IntFunction defaultMap; private final UnaryOperator versionFunction; private final Integer bufferSize; private final boolean allowDuplicateKeys; private final boolean allowRecursiveKeys; private final int maxAliasesForCollections; private final boolean useMarks; private final Optional envConfig; //general private final Map customProperties; LoadSettings(String label, Map tagConstructors, ScalarResolver scalarResolver, IntFunction defaultList, IntFunction defaultSet, IntFunction defaultMap, UnaryOperator versionFunction, Integer bufferSize, boolean allowDuplicateKeys, boolean allowRecursiveKeys, int maxAliasesForCollections, boolean useMarks, Map customProperties, Optional envConfig) { this.label = label; this.tagConstructors = tagConstructors; this.scalarResolver = scalarResolver; this.defaultList = defaultList; this.defaultSet = defaultSet; this.defaultMap = defaultMap; this.versionFunction = versionFunction; this.bufferSize = bufferSize; this.allowDuplicateKeys = allowDuplicateKeys; this.allowRecursiveKeys = allowRecursiveKeys; this.maxAliasesForCollections = maxAliasesForCollections; this.useMarks = useMarks; this.customProperties = customProperties; this.envConfig = envConfig; } public static final LoadSettingsBuilder builder() { return new LoadSettingsBuilder(); } public String getLabel() { return label; } public Map getTagConstructors() { return tagConstructors; } public ScalarResolver getScalarResolver() { return scalarResolver; } public IntFunction getDefaultList() { return defaultList; } public IntFunction getDefaultSet() { return defaultSet; } public IntFunction getDefaultMap() { return defaultMap; } public Integer getBufferSize() { return bufferSize; } public boolean getAllowDuplicateKeys() { return allowDuplicateKeys; } public boolean getAllowRecursiveKeys() { return allowRecursiveKeys; } public boolean getUseMarks() { return useMarks; } public Function getVersionFunction() { return versionFunction; } public Object getCustomProperty(SettingKey key) { return customProperties.get(key); } public int getMaxAliasesForCollections() { return maxAliasesForCollections; } public Optional getEnvConfig() { return envConfig; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy