<commit_before>package jp.co.trattoria.chapter4_02;

import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;

/**
 * Q：最初は普通のフィールドを使用して、初めてxxxProperty()メソッドが呼び出されたときにだけ
 * プロパティオブジェクトを使用するように、要求に応じてプロパティを構築する方法を示せ。
 *
 * A：つまり、生成タイミングを遅らせればよい。
 */
public class Greeting {

	// private StringProperty text = new SimpleStringProperty("");
	private String text = null;
	private StringProperty property = null;

	public final StringProperty textProperty() {
		if (property == null) {
			property = new SimpleStringProperty(text);
		}

		return property;
	}

	public final void setText(String newValue) {
		if (property != null) {
			property.set(newValue);
		} else {<commit_msg>nullチェックを追加<commit_after>package jp.co.trattoria.chapter4_02;

import java.util.Objects;

import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;

/**
 * Q：最初は普通のフィールドを使用して、初めてxxxProperty()メソッドが呼び出されたときにだけ
 * プロパティオブジェクトを使用するように、要求に応じてプロパティを構築する方法を示せ。
 *
 * A：つまり、生成タイミングを遅らせればよい。
 */
public class Greeting {

	// private StringProperty text = new SimpleStringProperty("");
	private String text = "";
	private StringProperty property = null;

	public final StringProperty textProperty() {
		if (property == null) {
			property = new SimpleStringProperty(text);
		}

		return property;
	}

	/**
	 * プロパティのバリューをセットする。
	 *
	 * @param newValue
	 *            文字列
	 *
	 * @throws NullPointerException
	 *             引数がnullの場合
	 */
	public final void setText(String newValue) {
		Objects.requireNonNull(newValue);

		if (property != null) {
			property.set(newValue);
		} else {
{'fraction_non_alphanumeric': 0.10681399631675875, 'fraction_numerical': 0.003683241252302026, 'mean_word_length': 4.451505016722408, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '2006053', 'n_tokens_mistral': 694, 'n_tokens_neox': 644, 'n_words': 103}