/* * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package javafx.beans.property; /** * This class provides a full implementation of a {@link Property} wrapping an * arbitrary {@code Object}. * * @see ObjectPropertyBase * * * @param * the type of the wrapped {@code Object} * @since JavaFX 2.0 */ public class SimpleObjectProperty extends ObjectPropertyBase { private static final Object DEFAULT_BEAN = null; private static final String DEFAULT_NAME = ""; private final Object bean; private final String name; /** * {@inheritDoc} */ @Override public Object getBean() { return bean; } /** * {@inheritDoc} */ @Override public String getName() { return name; } /** * The constructor of {@code ObjectProperty} */ public SimpleObjectProperty() { this(DEFAULT_BEAN, DEFAULT_NAME); } /** * The constructor of {@code ObjectProperty} * * @param initialValue * the initial value of the wrapped value */ public SimpleObjectProperty(T initialValue) { this(DEFAULT_BEAN, DEFAULT_NAME, initialValue); } /** * The constructor of {@code ObjectProperty} * * @param bean * the bean of this {@code ObjectProperty} * @param name * the name of this {@code ObjectProperty} */ public SimpleObjectProperty(Object bean, String name) { this.bean = bean; this.name = (name == null) ? DEFAULT_NAME : name; } /** * The constructor of {@code ObjectProperty} * * @param bean * the bean of this {@code ObjectProperty} * @param name * the name of this {@code ObjectProperty} * @param initialValue * the initial value of the wrapped value */ public SimpleObjectProperty(Object bean, String name, T initialValue) { super(initialValue); this.bean = bean; this.name = (name == null) ? DEFAULT_NAME : name; } }