SetPropertyDecorator.java
001 /*
002  * Copyright 2008-2017 the original author or authors.
003  *
004  * Licensed under the Apache License, Version 2.0 (the "License");
005  * you may not use this file except in compliance with the License.
006  * You may obtain a copy of the License at
007  *
008  *     http://www.apache.org/licenses/LICENSE-2.0
009  *
010  * Unless required by applicable law or agreed to in writing, software
011  * distributed under the License is distributed on an "AS IS" BASIS,
012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013  * See the License for the specific language governing permissions and
014  * limitations under the License.
015  */
016 package griffon.javafx.beans.binding;
017 
018 import javafx.beans.InvalidationListener;
019 import javafx.beans.binding.BooleanBinding;
020 import javafx.beans.binding.StringBinding;
021 import javafx.beans.property.Property;
022 import javafx.beans.property.ReadOnlyBooleanProperty;
023 import javafx.beans.property.ReadOnlyIntegerProperty;
024 import javafx.beans.property.SetProperty;
025 import javafx.beans.value.ChangeListener;
026 import javafx.beans.value.ObservableValue;
027 import javafx.collections.ObservableSet;
028 import javafx.collections.SetChangeListener;
029 
030 import javax.annotation.Nonnull;
031 import java.util.Collection;
032 import java.util.Iterator;
033 
034 import static java.util.Objects.requireNonNull;
035 
036 /**
037  @author Andres Almiray
038  @since 2.11.0
039  */
040 public class SetPropertyDecorator<E> extends SetProperty<E> {
041     private final SetProperty<E> delegate;
042 
043     public SetPropertyDecorator(@Nonnull SetProperty<E> delegate) {
044         this.delegate = requireNonNull(delegate, "Argument 'delegate' must not be null");
045     }
046 
047     @Nonnull
048     protected final SetProperty<E> getDelegate() {
049         return delegate;
050     }
051 
052     @Override
053     public void setValue(ObservableSet<E> v) {
054         delegate.setValue(v);
055     }
056 
057     @Override
058     public void bindBidirectional(Property<ObservableSet<E>> other) {
059         delegate.bindBidirectional(other);
060     }
061 
062     @Override
063     public void unbindBidirectional(Property<ObservableSet<E>> other) {
064         delegate.unbindBidirectional(other);
065     }
066 
067     @Override
068     public boolean equals(Object o) {
069         return this == o || delegate.equals(o);
070     }
071 
072     @Override
073     public int hashCode() {
074         return delegate.hashCode();
075     }
076 
077     @Override
078     public String toString() {
079         return getClass().getName() ":" + delegate.toString();
080     }
081 
082     @Override
083     public void bindContentBidirectional(ObservableSet<E> set) {
084         delegate.bindContentBidirectional(set);
085     }
086 
087     @Override
088     public void unbindContentBidirectional(Object object) {
089         delegate.unbindContentBidirectional(object);
090     }
091 
092     @Override
093     public void bindContent(ObservableSet<E> set) {
094         delegate.bindContent(set);
095     }
096 
097     @Override
098     public void unbindContent(Object object) {
099         delegate.unbindContent(object);
100     }
101 
102     @Override
103     public ObservableSet<E> getValue() {
104         return delegate.getValue();
105     }
106 
107     @Override
108     public int getSize() {
109         return delegate.getSize();
110     }
111 
112     @Override
113     public ReadOnlyIntegerProperty sizeProperty() {
114         return delegate.sizeProperty();
115     }
116 
117     @Override
118     public ReadOnlyBooleanProperty emptyProperty() {
119         return delegate.emptyProperty();
120     }
121 
122     @Override
123     public BooleanBinding isEqualTo(ObservableSet<?> other) {
124         return delegate.isEqualTo(other);
125     }
126 
127     @Override
128     public BooleanBinding isNotEqualTo(ObservableSet<?> other) {
129         return delegate.isNotEqualTo(other);
130     }
131 
132     @Override
133     public BooleanBinding isNull() {
134         return delegate.isNull();
135     }
136 
137     @Override
138     public BooleanBinding isNotNull() {
139         return delegate.isNotNull();
140     }
141 
142     @Override
143     public StringBinding asString() {
144         return delegate.asString();
145     }
146 
147     @Override
148     public int size() {
149         return delegate.size();
150     }
151 
152     @Override
153     public boolean isEmpty() {
154         return delegate.isEmpty();
155     }
156 
157     @Override
158     public boolean contains(Object obj) {
159         return delegate.contains(obj);
160     }
161 
162     @Override
163     public Iterator<E> iterator() {
164         return delegate.iterator();
165     }
166 
167     @Override
168     public Object[] toArray() {
169         return delegate.toArray();
170     }
171 
172     @Override
173     public <T> T[] toArray(T[] array) {
174         return delegate.toArray(array);
175     }
176 
177     @Override
178     public boolean add(E element) {
179         return delegate.add(element);
180     }
181 
182     @Override
183     public boolean remove(Object obj) {
184         return delegate.remove(obj);
185     }
186 
187     @Override
188     public boolean containsAll(Collection<?> objects) {
189         return delegate.containsAll(objects);
190     }
191 
192     @Override
193     public boolean addAll(Collection<? extends E> elements) {
194         return delegate.addAll(elements);
195     }
196 
197     @Override
198     public boolean removeAll(Collection<?> objects) {
199         return delegate.removeAll(objects);
200     }
201 
202     @Override
203     public boolean retainAll(Collection<?> objects) {
204         return delegate.retainAll(objects);
205     }
206 
207     @Override
208     public void clear() {
209         delegate.clear();
210     }
211 
212     @Override
213     public ObservableSet<E> get() {
214         return delegate.get();
215     }
216 
217     @Override
218     public void addListener(ChangeListener<? super ObservableSet<E>> listener) {
219         delegate.addListener(listener);
220     }
221 
222     @Override
223     public void removeListener(ChangeListener<? super ObservableSet<E>> listener) {
224         delegate.removeListener(listener);
225     }
226 
227     @Override
228     public void addListener(InvalidationListener listener) {
229         delegate.addListener(listener);
230     }
231 
232     @Override
233     public void removeListener(InvalidationListener listener) {
234         delegate.removeListener(listener);
235     }
236 
237     @Override
238     public void addListener(SetChangeListener<? super E> listener) {
239         delegate.addListener(listener);
240     }
241 
242     @Override
243     public void removeListener(SetChangeListener<? super E> listener) {
244         delegate.removeListener(listener);
245     }
246 
247     @Override
248     public Object getBean() {
249         return delegate.getBean();
250     }
251 
252     @Override
253     public String getName() {
254         return delegate.getName();
255     }
256 
257     @Override
258     public void bind(ObservableValue<? extends ObservableSet<E>> observable) {
259         delegate.bind(observable);
260     }
261 
262     @Override
263     public void unbind() {
264         delegate.unbind();
265     }
266 
267     @Override
268     public boolean isBound() {
269         return delegate.isBound();
270     }
271 
272     @Override
273     public void set(ObservableSet<E> value) {
274         delegate.set(value);
275     }
276 }