SetPropertyDecorator.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.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 }