From dda6e0c4ddf6e4bb4cd777e24ccb22acbb3790a7 Mon Sep 17 00:00:00 2001 From: Denis Anisimov Date: Sun, 21 Sep 2014 19:32:13 +0300 Subject: Make DefaultFieldGroupFieldFactory singleton (#11038). Change-Id: I40250fadfe78d663d1cb7614f4f8818216e773a4 --- .../data/fieldgroup/DefaultFieldGroupFieldFactory.java | 16 ++++++++++++++++ server/src/com/vaadin/data/fieldgroup/FieldGroup.java | 3 ++- 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'server/src') diff --git a/server/src/com/vaadin/data/fieldgroup/DefaultFieldGroupFieldFactory.java b/server/src/com/vaadin/data/fieldgroup/DefaultFieldGroupFieldFactory.java index b1bf58199a..9c2e4b2f83 100644 --- a/server/src/com/vaadin/data/fieldgroup/DefaultFieldGroupFieldFactory.java +++ b/server/src/com/vaadin/data/fieldgroup/DefaultFieldGroupFieldFactory.java @@ -36,10 +36,26 @@ import com.vaadin.ui.RichTextArea; import com.vaadin.ui.Table; import com.vaadin.ui.TextField; +/** + * This class contains a basic implementation for {@link FieldGroupFieldFactory} + * .The class is singleton, use {@link #get()} method to get reference to the + * instance. + * + * @author Vaadin Ltd + */ public class DefaultFieldGroupFieldFactory implements FieldGroupFieldFactory { + private static final DefaultFieldGroupFieldFactory INSTANCE = new DefaultFieldGroupFieldFactory(); + public static final Object CAPTION_PROPERTY_ID = "Caption"; + protected DefaultFieldGroupFieldFactory() { + } + + public static DefaultFieldGroupFieldFactory get() { + return INSTANCE; + } + @Override public T createField(Class type, Class fieldType) { if (Enum.class.isAssignableFrom(type)) { diff --git a/server/src/com/vaadin/data/fieldgroup/FieldGroup.java b/server/src/com/vaadin/data/fieldgroup/FieldGroup.java index 27515d15af..c5aab5a053 100644 --- a/server/src/com/vaadin/data/fieldgroup/FieldGroup.java +++ b/server/src/com/vaadin/data/fieldgroup/FieldGroup.java @@ -68,7 +68,8 @@ public class FieldGroup implements Serializable { /** * The field factory used by builder methods. */ - private FieldGroupFieldFactory fieldFactory = new DefaultFieldGroupFieldFactory(); + private FieldGroupFieldFactory fieldFactory = DefaultFieldGroupFieldFactory + .get(); /** * Constructs a field binder. Use {@link #setItemDataSource(Item)} to set a -- cgit v1.2.3