<commit_before>package com.arondor.common.reflection.reflect.runtime;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.arondor.common.reflection.api.instantiator.InstantiationContext;
import com.arondor.common.reflection.api.instantiator.SharedObjectResolver;
import com.arondor.common.reflection.model.config.ObjectConfiguration;
import com.arondor.common.reflection.model.config.ObjectConfigurationMap;

public class SimpleInstantiationContext implements InstantiationContext
{
    private Map<String, Object> instances = new HashMap<String, Object>();

    public Object getSharedObject(String name)
    {
        Object object = instances.get(name);
        if (object != null)
        {
            return object;
        }
        for (SharedObjectResolver resolver : sharedObjectResolvers)
        {
            object = resolver.getSharedObject(name);
            if (object != null)
            {
                return object;
            }
        }
        return null;
    }

    public void putSharedObject(String name, Object reference)
    {
        instances.put(name, reference);
    }

    public ObjectConfiguration getSharedObjectConfiguration(String name)
    {
        if (objetConfigurations == null)
        {
            return null;
        }
        return objetConfigurations.get(name);
    }

    private Map<String, ObjectConfiguration> objetConfigurations;

    public void setSharedObjectConfigurations(ObjectConfigurationMap objetConfigurations)
    {
        this.objetConfigurations = objetConfigurations;
    }

    private List<SharedObjectResolver> sharedObjectResolvers = new ArrayList<SharedObjectResolver>();

    public void addSharedObjectResolver(SharedObjectResolver sharedObjectResolver)
    {
        sharedObjectResolvers.add(sharedObjectResolver);
    }

}<commit_msg>Change InstantiationContext API<commit_after>package com.arondor.common.reflection.reflect.runtime;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.arondor.common.reflection.api.instantiator.InstantiationContext;
import com.arondor.common.reflection.api.instantiator.SharedObjectResolver;
import com.arondor.common.reflection.model.config.ObjectConfiguration;
import com.arondor.common.reflection.model.config.ObjectConfigurationMap;

public class SimpleInstantiationContext implements InstantiationContext
{
    private Map<String, Object> instances = new HashMap<String, Object>();

    public Object getSharedObject(String name)
    {
        Object object = instances.get(name);
        if (object != null)
        {
            return object;
        }
        for (SharedObjectResolver resolver : sharedObjectResolvers)
        {
            object = resolver.getSharedObject(name);
            if (object != null)
            {
                return object;
            }
        }
        return null;
    }

    public void putSharedObject(String name, Object reference)
    {
        instances.put(name, reference);
    }

    public ObjectConfiguration getSharedObjectConfiguration(String name)
    {
        if (objetConfigurations == null)
        {
            return null;
        }
        return objetConfigurations.get(name);
    }

    private final Map<String, ObjectConfiguration> objetConfigurations = new HashMap<String, ObjectConfiguration>();

    public void setSharedObjectConfigurations(ObjectConfigurationMap objetConfigurations)
    {
        addSharedObjectConfigurations(objetConfigurations);
    }

    public void addSharedObjectConfigurations(ObjectConfigurationMap objetConfigurations)
    {
        for (Map.Entry<String, ObjectConfiguration> entry : objetConfigurations.entrySet())
        {
            this.objetConfigurations.put(entry.getKey(), entry.getValue());
        }
    }

    private List<SharedObjectResolver> sharedObjectResolvers = new ArrayList<SharedObjectResolver>();

    public void addSharedObjectResolver(SharedObjectResolver sharedObjectResolver)
    {
        sharedObjectResolvers.add(sharedObjectResolver);
    }
}
{'fraction_non_alphanumeric': 0.07951515151515151, 'fraction_numerical': 0.0, 'mean_word_length': 3.1803444782168184, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4633645', 'n_tokens_mistral': 1059, 'n_tokens_neox': 1038, 'n_words': 204}