/*
* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package javafx.css;
import javafx.beans.property.
ObjectPropertyBase;
import javafx.beans.value.
ObservableValue;
/**
* This class extends {@code ObjectPropertyBase} and provides a partial
* implementation of a {@code StyleableProperty}. The method
* {@link StyleableProperty#getCssMetaData()} is not implemented.
*
* This class is used to make a {@link javafx.beans.property.ObjectProperty},
* that would otherwise be implemented as a {@link ObjectPropertyBase},
* style‑able by CSS.
*
* @see javafx.beans.property.ObjectPropertyBase
* @see CssMetaData
* @see StyleableProperty
* @since JavaFX 8.0
*/
public abstract class
StyleableObjectProperty<T>
extends
ObjectPropertyBase<T> implements
StyleableProperty<T> {
/**
* The constructor of the {@code StyleableObjectProperty}.
*/
public
StyleableObjectProperty() {
super();
}
/**
* The constructor of the {@code StyleableObjectProperty}.
*
* @param initialValue
* the initial value of the wrapped {@code Object}
*/
public
StyleableObjectProperty(T
initialValue) {
super(
initialValue);
}
/** {@inheritDoc} */
@
Override
public void
applyStyle(
StyleOrigin origin, T
v) {
set(
v);
this.
origin =
origin;
}
/** {@inheritDoc} */
@
Override
public void
bind(
ObservableValue<? extends T>
observable) {
super.bind(
observable);
origin =
StyleOrigin.
USER;
}
/** {@inheritDoc} */
@
Override
public void
set(T
v) {
super.set(
v);
origin =
StyleOrigin.
USER;
}
/** {@inheritDoc} */
@
Override
public
StyleOrigin getStyleOrigin() { return
origin; }
private
StyleOrigin origin = null;
}