<commit_before>package at.spot.core.model;

import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;

import javax.annotation.Resource;

import org.apache.commons.collections4.comparators.NullComparator;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.joda.time.DateTime;

import at.spot.core.infrastructure.annotation.Property;
import at.spot.core.infrastructure.handler.ItemPropertyHandler;
import at.spot.core.support.util.ClassUtil;

public abstract class Item implements Serializable, Comparable<Item> {

	private static final long serialVersionUID = 1L;

	@Resource
	protected ItemPropertyHandler handler;

	protected transient boolean forceDirty = false;
	protected final List<String> dirtyAttributes = new ArrayList<>();

	protected Map<String, Boolean> propertiesInitializationState = new HashMap<>();

	protected Long pk;
	protected String typeCode;

	@Property
	protected DateTime lastModifiedAt;

	@Property
	protected DateTime createdAt;

	/**
	 * If this object is used as a proxy, eg. in a collection or relation, this is
	 * true. The item property handler then knows it has to load it on the fly.
	 */
	public transient boolean isProxy;

	public Item() {
		this.createdAt = new DateTime();
		this.isProxy = false;
	}<commit_msg>fixed Item (new item property handler)<commit_after>package at.spot.core.model;

import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;

import javax.annotation.Resource;

import org.apache.commons.collections4.comparators.NullComparator;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.joda.time.DateTime;

import at.spot.core.infrastructure.annotation.Property;
import at.spot.core.infrastructure.handler.ItemPropertyHandler;
import at.spot.core.support.util.ClassUtil;

public abstract class Item implements Serializable, Comparable<Item> {

	private static final long serialVersionUID = 1L;

	@Resource
	protected transient ItemPropertyHandler handler;

	protected transient boolean forceDirty = false;
	protected final transient Map<String, Boolean> propertiesInitializationState = new HashMap<>();
	protected final List<String> dirtyAttributes = new ArrayList<>();

	protected Long pk;
	protected String typeCode;

	@Property
	protected DateTime lastModifiedAt;

	@Property
	protected DateTime createdAt;

	/**
	 * If this object is used as a proxy, eg. in a collection or relation, this is
	 * true. The item property handler then knows it has to load it on the fly.
	 */
	public transient boolean isProxy;

	public Item() {
		this.createdAt = new DateTime();
		this.isProxy = false;
	}
{'fraction_non_alphanumeric': 0.0883367839889579, 'fraction_numerical': 0.002070393374741201, 'mean_word_length': 5.1680851063829785, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, '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': '3404860', 'n_tokens_mistral': 826, 'n_tokens_neox': 794, 'n_words': 252}