<commit_before>package com.kryptnostic.v2.storage.models;

import java.util.Map;
import java.util.Set;
import java.util.UUID;

import javax.annotation.concurrent.Immutable;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.kryptnostic.v2.constants.Names;

@Immutable
public class ObjectTreeLoadRequest {
    private static final int           DEFAULT_DEPTH = 0;
    private final Set<UUID>            objectIds;
    private final Map<UUID, LoadLevel> typeLoadLevels;
    private final int                  loadDepth;

    public ObjectTreeLoadRequest( Set<UUID> objectIds, Map<UUID, LoadLevel> typeLoadLevels ) {
        this( objectIds, typeLoadLevels, Optional.of( DEFAULT_DEPTH ) );
    }

    @JsonCreator
    public ObjectTreeLoadRequest(
            @JsonProperty( Names.OBJECT_IDS ) Set<UUID> objectIds,
            @JsonProperty( Names.LOAD_LEVELS ) Map<UUID, LoadLevel> typeLoadLevels,
            @JsonProperty( Names.DEPTH ) Optional<Integer> loadDepth ) {
        this.objectIds = objectIds;
        this.typeLoadLevels = typeLoadLevels;
        this.loadDepth = loadDepth.or( DEFAULT_DEPTH );
    }

    @JsonProperty( Names.OBJECT_IDS )
    public Set<UUID> getObjectIds() {
        return objectIds;
    }

    @JsonProperty( Names.LOAD_LEVELS )
    public Map<UUID, LoadLevel> getTypeLoadLevels() {
        return typeLoadLevels;
    }

    @JsonProperty( Names.DEPTH )
    public int getLoadDepth() {
        return loadDepth;
    }
}<commit_msg>LoadLevels are options instead of hierarchical<commit_after>package com.kryptnostic.v2.storage.models;

import java.util.Map;
import java.util.Set;
import java.util.UUID;

import javax.annotation.concurrent.Immutable;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.kryptnostic.v2.constants.Names;

@Immutable
public class ObjectTreeLoadRequest {
    private static final int           DEFAULT_DEPTH = 0;
    private final Set<UUID>            objectIds;
    private final Map<UUID, Set<LoadLevel>> typeLoadLevels;
    private final int                  loadDepth;

    public ObjectTreeLoadRequest( Set<UUID> objectIds, Map<UUID, Set<LoadLevel>> typeLoadLevels ) {
        this( objectIds, typeLoadLevels, Optional.of( DEFAULT_DEPTH ) );
    }

    @JsonCreator
    public ObjectTreeLoadRequest(
            @JsonProperty( Names.OBJECT_IDS ) Set<UUID> objectIds,
            @JsonProperty( Names.LOAD_LEVELS ) Map<UUID, Set<LoadLevel>> typeLoadLevels,
            @JsonProperty( Names.DEPTH ) Optional<Integer> loadDepth ) {
        this.objectIds = objectIds;
        this.typeLoadLevels = typeLoadLevels;
        this.loadDepth = loadDepth.or( DEFAULT_DEPTH );
    }

    @JsonProperty( Names.OBJECT_IDS )
    public Set<UUID> getObjectIds() {
        return objectIds;
    }

    @JsonProperty( Names.LOAD_LEVELS )
    public Map<UUID, Set<LoadLevel>> getTypeLoadLevels() {
        return typeLoadLevels;
    }

    @JsonProperty( Names.DEPTH )
    public int getLoadDepth() {
        return loadDepth;
    }
}
{'fraction_non_alphanumeric': 0.09133562715045355, 'fraction_numerical': 0.001876759461995621, 'mean_word_length': 3.2301587301587302, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, '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': '3525225', 'n_tokens_mistral': 989, 'n_tokens_neox': 952, 'n_words': 201}