ObjectPropertyDecorator.java
001 /*
002  * SPDX-License-Identifier: Apache-2.0
003  *
004  * Copyright 2008-2017 the original author or authors.
005  *
006  * Licensed under the Apache License, Version 2.0 (the "License");
007  * you may not use this file except in compliance with the License.
008  * You may obtain a copy of the License at
009  *
010  *     http://www.apache.org/licenses/LICENSE-2.0
011  *
012  * Unless required by applicable law or agreed to in writing, software
013  * distributed under the License is distributed on an "AS IS" BASIS,
014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015  * See the License for the specific language governing permissions and
016  * limitations under the License.
017  */
018 package griffon.javafx.beans.binding;
019 
020 import javafx.beans.InvalidationListener;
021 import javafx.beans.binding.BooleanBinding;
022 import javafx.beans.binding.StringBinding;
023 import javafx.beans.property.ObjectProperty;
024 import javafx.beans.property.Property;
025 import javafx.beans.value.ChangeListener;
026 import javafx.beans.value.ObservableObjectValue;
027 import javafx.beans.value.ObservableValue;
028 
029 import javax.annotation.Nonnull;
030 import java.util.Locale;
031 
032 import static java.util.Objects.requireNonNull;
033 
034 /**
035  @author Andres Almiray
036  @since 2.11.0
037  */
038 public class ObjectPropertyDecorator<T> extends ObjectProperty<T> {
039     private final ObjectProperty<T> delegate;
040 
041     public ObjectPropertyDecorator(@Nonnull ObjectProperty<T> delegate) {
042         this.delegate = requireNonNull(delegate, "Argument 'delegate' must not be null");
043     }
044 
045     @Nonnull
046     protected final ObjectProperty<T> getDelegate() {
047         return delegate;
048     }
049 
050     @Override
051     public void setValue(T v) {
052         delegate.setValue(v);
053     }
054 
055     @Override
056     public void bindBidirectional(Property<T> other) {
057         delegate.bindBidirectional(other);
058     }
059 
060     @Override
061     public void unbindBidirectional(Property<T> other) {
062         delegate.unbindBidirectional(other);
063     }
064 
065     @Override
066     public boolean equals(Object o) {
067         return this == o || delegate.equals(o);
068     }
069 
070     @Override
071     public int hashCode() {
072         return delegate.hashCode();
073     }
074 
075     @Override
076     public String toString() {
077         return getClass().getName() ":" + delegate.toString();
078     }
079 
080     @Override
081     public T getValue() {
082         return delegate.getValue();
083     }
084 
085     @Override
086     public BooleanBinding isEqualTo(ObservableObjectValue<?> other) {
087         return delegate.isEqualTo(other);
088     }
089 
090     @Override
091     public BooleanBinding isEqualTo(Object other) {
092         return delegate.isEqualTo(other);
093     }
094 
095     @Override
096     public BooleanBinding isNotEqualTo(ObservableObjectValue<?> other) {
097         return delegate.isNotEqualTo(other);
098     }
099 
100     @Override
101     public BooleanBinding isNotEqualTo(Object other) {
102         return delegate.isNotEqualTo(other);
103     }
104 
105     @Override
106     public BooleanBinding isNull() {
107         return delegate.isNull();
108     }
109 
110     @Override
111     public BooleanBinding isNotNull() {
112         return delegate.isNotNull();
113     }
114 
115     @Override
116     public StringBinding asString() {
117         return delegate.asString();
118     }
119 
120     @Override
121     public StringBinding asString(String format) {
122         return delegate.asString(format);
123     }
124 
125     @Override
126     public StringBinding asString(Locale locale, String format) {
127         return delegate.asString(locale, format);
128     }
129 
130     @Override
131     public T get() {
132         return delegate.get();
133     }
134 
135     @Override
136     public void addListener(ChangeListener<? super T> listener) {
137         delegate.addListener(listener);
138     }
139 
140     @Override
141     public void removeListener(ChangeListener<? super T> listener) {
142         delegate.removeListener(listener);
143     }
144 
145     @Override
146     public void addListener(InvalidationListener listener) {
147         delegate.addListener(listener);
148     }
149 
150     @Override
151     public void removeListener(InvalidationListener listener) {
152         delegate.removeListener(listener);
153     }
154 
155     @Override
156     public Object getBean() {
157         return delegate.getBean();
158     }
159 
160     @Override
161     public String getName() {
162         return delegate.getName();
163     }
164 
165     @Override
166     public void bind(ObservableValue<? extends T> observable) {
167         delegate.bind(observable);
168     }
169 
170     @Override
171     public void unbind() {
172         delegate.unbind();
173     }
174 
175     @Override
176     public boolean isBound() {
177         return delegate.isBound();
178     }
179 
180     @Override
181     public void set(T value) {
182         delegate.set(value);
183     }
184 }