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.Property;
024 import javafx.beans.property.ReadOnlyBooleanProperty;
025 import javafx.beans.property.ReadOnlyIntegerProperty;
026 import javafx.beans.property.SetProperty;
027 import javafx.beans.value.ChangeListener;
028 import javafx.beans.value.ObservableValue;
029 import javafx.collections.ObservableSet;
030 import javafx.collections.SetChangeListener;
031
032 import javax.annotation.Nonnull;
033 import java.util.Collection;
034 import java.util.Iterator;
035
036 import static java.util.Objects.requireNonNull;
037
038 /**
039 * @author Andres Almiray
040 * @since 2.11.0
041 */
042 public class SetPropertyDecorator<E> extends SetProperty<E> {
043 private final SetProperty<E> delegate;
044
045 public SetPropertyDecorator(@Nonnull SetProperty<E> delegate) {
046 this.delegate = requireNonNull(delegate, "Argument 'delegate' must not be null");
047 }
048
049 @Nonnull
050 protected final SetProperty<E> getDelegate() {
051 return delegate;
052 }
053
054 @Override
055 public void setValue(ObservableSet<E> v) {
056 delegate.setValue(v);
057 }
058
059 @Override
060 public void bindBidirectional(Property<ObservableSet<E>> other) {
061 delegate.bindBidirectional(other);
062 }
063
064 @Override
065 public void unbindBidirectional(Property<ObservableSet<E>> other) {
066 delegate.unbindBidirectional(other);
067 }
068
069 @Override
070 public boolean equals(Object o) {
071 return this == o || delegate.equals(o);
072 }
073
074 @Override
075 public int hashCode() {
076 return delegate.hashCode();
077 }
078
079 @Override
080 public String toString() {
081 return getClass().getName() + ":" + delegate.toString();
082 }
083
084 @Override
085 public void bindContentBidirectional(ObservableSet<E> set) {
086 delegate.bindContentBidirectional(set);
087 }
088
089 @Override
090 public void unbindContentBidirectional(Object object) {
091 delegate.unbindContentBidirectional(object);
092 }
093
094 @Override
095 public void bindContent(ObservableSet<E> set) {
096 delegate.bindContent(set);
097 }
098
099 @Override
100 public void unbindContent(Object object) {
101 delegate.unbindContent(object);
102 }
103
104 @Override
105 public ObservableSet<E> getValue() {
106 return delegate.getValue();
107 }
108
109 @Override
110 public int getSize() {
111 return delegate.getSize();
112 }
113
114 @Override
115 public ReadOnlyIntegerProperty sizeProperty() {
116 return delegate.sizeProperty();
117 }
118
119 @Override
120 public ReadOnlyBooleanProperty emptyProperty() {
121 return delegate.emptyProperty();
122 }
123
124 @Override
125 public BooleanBinding isEqualTo(ObservableSet<?> other) {
126 return delegate.isEqualTo(other);
127 }
128
129 @Override
130 public BooleanBinding isNotEqualTo(ObservableSet<?> other) {
131 return delegate.isNotEqualTo(other);
132 }
133
134 @Override
135 public BooleanBinding isNull() {
136 return delegate.isNull();
137 }
138
139 @Override
140 public BooleanBinding isNotNull() {
141 return delegate.isNotNull();
142 }
143
144 @Override
145 public StringBinding asString() {
146 return delegate.asString();
147 }
148
149 @Override
150 public int size() {
151 return delegate.size();
152 }
153
154 @Override
155 public boolean isEmpty() {
156 return delegate.isEmpty();
157 }
158
159 @Override
160 public boolean contains(Object obj) {
161 return delegate.contains(obj);
162 }
163
164 @Override
165 public Iterator<E> iterator() {
166 return delegate.iterator();
167 }
168
169 @Override
170 public Object[] toArray() {
171 return delegate.toArray();
172 }
173
174 @Override
175 public <T> T[] toArray(T[] array) {
176 return delegate.toArray(array);
177 }
178
179 @Override
180 public boolean add(E element) {
181 return delegate.add(element);
182 }
183
184 @Override
185 public boolean remove(Object obj) {
186 return delegate.remove(obj);
187 }
188
189 @Override
190 public boolean containsAll(Collection<?> objects) {
191 return delegate.containsAll(objects);
192 }
193
194 @Override
195 public boolean addAll(Collection<? extends E> elements) {
196 return delegate.addAll(elements);
197 }
198
199 @Override
200 public boolean removeAll(Collection<?> objects) {
201 return delegate.removeAll(objects);
202 }
203
204 @Override
205 public boolean retainAll(Collection<?> objects) {
206 return delegate.retainAll(objects);
207 }
208
209 @Override
210 public void clear() {
211 delegate.clear();
212 }
213
214 @Override
215 public ObservableSet<E> get() {
216 return delegate.get();
217 }
218
219 @Override
220 public void addListener(ChangeListener<? super ObservableSet<E>> listener) {
221 delegate.addListener(listener);
222 }
223
224 @Override
225 public void removeListener(ChangeListener<? super ObservableSet<E>> listener) {
226 delegate.removeListener(listener);
227 }
228
229 @Override
230 public void addListener(InvalidationListener listener) {
231 delegate.addListener(listener);
232 }
233
234 @Override
235 public void removeListener(InvalidationListener listener) {
236 delegate.removeListener(listener);
237 }
238
239 @Override
240 public void addListener(SetChangeListener<? super E> listener) {
241 delegate.addListener(listener);
242 }
243
244 @Override
245 public void removeListener(SetChangeListener<? super E> listener) {
246 delegate.removeListener(listener);
247 }
248
249 @Override
250 public Object getBean() {
251 return delegate.getBean();
252 }
253
254 @Override
255 public String getName() {
256 return delegate.getName();
257 }
258
259 @Override
260 public void bind(ObservableValue<? extends ObservableSet<E>> observable) {
261 delegate.bind(observable);
262 }
263
264 @Override
265 public void unbind() {
266 delegate.unbind();
267 }
268
269 @Override
270 public boolean isBound() {
271 return delegate.isBound();
272 }
273
274 @Override
275 public void set(ObservableSet<E> value) {
276 delegate.set(value);
277 }
278 }
|