/* * 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.NamedArg; import javafx.beans.property.SimpleLongProperty; /** * This class extends {@code SimpleLongProperty} and provides a full * implementation of a {@code StyleableProperty}. * * This class is used to make a {@link javafx.beans.property.LongProperty}, * that would otherwise be implemented as a {@link SimpleLongProperty}, * style‑able by CSS. * * @see javafx.beans.property.SimpleLongProperty * @see CssMetaData * @see StyleableProperty * @see StyleableLongProperty * @since JavaFX 8.0 */ public class SimpleStyleableLongProperty extends StyleableLongProperty { private static final Object DEFAULT_BEAN = null; private static final String DEFAULT_NAME = ""; private final Object bean; private final String name; private final CssMetaData cssMetaData; /** * The constructor of the {@code SimpleStyleableLongProperty}. * @param cssMetaData * the CssMetaData associated with this {@code StyleableProperty} */ public SimpleStyleableLongProperty(@NamedArg("cssMetaData") CssMetaData cssMetaData) { this(cssMetaData, DEFAULT_BEAN, DEFAULT_NAME); } /** * The constructor of the {@code SimpleStyleableLongProperty}. * * @param cssMetaData * the CssMetaData associated with this {@code StyleableProperty} * @param initialValue * the initial value of the wrapped {@code Object} */ public SimpleStyleableLongProperty(@NamedArg("cssMetaData") CssMetaData cssMetaData, @NamedArg("initialValue") Long initialValue) { this(cssMetaData, DEFAULT_BEAN, DEFAULT_NAME, initialValue); } /** * The constructor of the {@code SimpleStyleableLongProperty}. * * @param cssMetaData * the CssMetaData associated with this {@code StyleableProperty} * @param bean * the bean of this {@code LongProperty} * @param name * the name of this {@code LongProperty} */ public SimpleStyleableLongProperty(@NamedArg("cssMetaData") CssMetaData cssMetaData, @NamedArg("bean") Object bean, @NamedArg("name") String name) { this.bean = bean; this.name = (name == null) ? DEFAULT_NAME : name; this.cssMetaData = cssMetaData; } /** * The constructor of the {@code SimpleStyleableLongProperty}. * * @param cssMetaData * the CssMetaData associated with this {@code StyleableProperty} * @param bean * the bean of this {@code LongProperty} * @param name * the name of this {@code LongProperty} * @param initialValue * the initial value of the wrapped {@code Object} */ public SimpleStyleableLongProperty(@NamedArg("cssMetaData") CssMetaData cssMetaData, @NamedArg("bean") Object bean, @NamedArg("name") String name, @NamedArg("initialValue") Long initialValue) { super(initialValue); this.bean = bean; this.name = (name == null) ? DEFAULT_NAME : name; this.cssMetaData = cssMetaData; } /** * {@inheritDoc} */ @Override public Object getBean() { return bean; } /** * {@inheritDoc} */ @Override public String getName() { return name; } /** {@inheritDoc} */ @Override public final CssMetaData getCssMetaData() { return cssMetaData; } }