diff options
author | Denis <denis@vaadin.com> | 2016-12-15 17:03:07 +0200 |
---|---|---|
committer | Teemu Suo-Anttila <tsuoanttila@users.noreply.github.com> | 2016-12-15 17:03:07 +0200 |
commit | 6185ad5d4e8d81fe9e59580b48343ec9d74bc8dc (patch) | |
tree | 739fd9fd0bca3e6b9f41b71f6e1d36be0c4b9c52 /server | |
parent | ca049c845d26a7106699715071b5cc9df0425c73 (diff) | |
download | vaadin-framework-6185ad5d4e8d81fe9e59580b48343ec9d74bc8dc.tar.gz vaadin-framework-6185ad5d4e8d81fe9e59580b48343ec9d74bc8dc.zip |
Move old Sort related classes into compatibility module. (#7999)
Fixes vaadin/framework8-issues#563
Diffstat (limited to 'server')
4 files changed, 2 insertions, 377 deletions
diff --git a/server/src/main/java/com/vaadin/data/sort/Sort.java b/server/src/main/java/com/vaadin/data/sort/Sort.java deleted file mode 100644 index fe082149e9..0000000000 --- a/server/src/main/java/com/vaadin/data/sort/Sort.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright 2000-2016 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.vaadin.data.sort; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -import com.vaadin.shared.data.sort.SortDirection; - -/** - * Fluid Sort API. Provides a convenient, human-readable way of specifying - * multi-column sort order. - * - * @since 7.4 - * @author Vaadin Ltd - */ -public class Sort implements Serializable { - - private final Sort previous; - private final SortOrder order; - - /** - * Initial constructor, called by the static by() methods. - * - * @param propertyId - * a property ID, corresponding to a property in the data source - * @param direction - * a sort direction value - */ - private Sort(Object propertyId, SortDirection direction) { - previous = null; - order = new SortOrder(propertyId, direction); - } - - /** - * Chaining constructor, called by the non-static then() methods. This - * constructor links to the previous Sort object. - * - * @param previous - * the sort marker that comes before this one - * @param propertyId - * a property ID, corresponding to a property in the data source - * @param direction - * a sort direction value - */ - private Sort(Sort previous, Object propertyId, SortDirection direction) { - this.previous = previous; - order = new SortOrder(propertyId, direction); - - Sort s = previous; - while (s != null) { - if (s.order.getPropertyId() == propertyId) { - throw new IllegalStateException( - "Can not sort along the same property (" + propertyId - + ") twice!"); - } - s = s.previous; - } - - } - - /** - * Start building a Sort order by sorting a provided column in ascending - * order. - * - * @param propertyId - * a property id, corresponding to a data source property - * @return a sort object - */ - public static Sort by(Object propertyId) { - return by(propertyId, SortDirection.ASCENDING); - } - - /** - * Start building a Sort order by sorting a provided column. - * - * @param propertyId - * a property id, corresponding to a data source property - * @param direction - * a sort direction value - * @return a sort object - */ - public static Sort by(Object propertyId, SortDirection direction) { - return new Sort(propertyId, direction); - } - - /** - * Continue building a Sort order. The provided property is sorted in - * ascending order if the previously added properties have been evaluated as - * equals. - * - * @param propertyId - * a property id, corresponding to a data source property - * @return a sort object - */ - public Sort then(Object propertyId) { - return then(propertyId, SortDirection.ASCENDING); - } - - /** - * Continue building a Sort order. The provided property is sorted in - * specified order if the previously added properties have been evaluated as - * equals. - * - * @param propertyId - * a property id, corresponding to a data source property - * @param direction - * a sort direction value - * @return a sort object - */ - public Sort then(Object propertyId, SortDirection direction) { - return new Sort(this, propertyId, direction); - } - - /** - * Build a sort order list, ready to be passed to Grid - * - * @return a sort order list. - */ - public List<SortOrder> build() { - - int count = 1; - Sort s = this; - while (s.previous != null) { - s = s.previous; - ++count; - } - - List<SortOrder> order = new ArrayList<>(count); - - s = this; - do { - order.add(0, s.order); - s = s.previous; - } while (s != null); - - return order; - } -} diff --git a/server/src/main/java/com/vaadin/data/sort/SortOrder.java b/server/src/main/java/com/vaadin/data/sort/SortOrder.java deleted file mode 100644 index 16efda3628..0000000000 --- a/server/src/main/java/com/vaadin/data/sort/SortOrder.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2000-2016 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.vaadin.data.sort; - -import java.io.Serializable; - -import com.vaadin.shared.data.sort.SortDirection; - -/** - * Sort order descriptor. Links together a {@link SortDirection} value and a - * Vaadin container property ID. - * - * @since 7.4 - * @author Vaadin Ltd - */ -public class SortOrder implements Serializable { - - private final Object propertyId; - private final SortDirection direction; - - /** - * Create a SortOrder object. Both arguments must be non-null. - * - * @param propertyId - * id of the data source property to sort by - * @param direction - * value indicating whether the property id should be sorted in - * ascending or descending order - */ - public SortOrder(Object propertyId, SortDirection direction) { - if (propertyId == null) { - throw new IllegalArgumentException("Property ID can not be null!"); - } - if (direction == null) { - throw new IllegalArgumentException( - "Direction value can not be null!"); - } - this.propertyId = propertyId; - this.direction = direction; - } - - /** - * Returns the property ID. - * - * @return a property ID - */ - public Object getPropertyId() { - return propertyId; - } - - /** - * Returns the {@link SortDirection} value. - * - * @return a sort direction value - */ - public SortDirection getDirection() { - return direction; - } - - @Override - public String toString() { - return propertyId + " " + direction; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + direction.hashCode(); - result = prime * result + propertyId.hashCode(); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } else if (obj == null) { - return false; - } else if (getClass() != obj.getClass()) { - return false; - } - - SortOrder other = (SortOrder) obj; - if (direction != other.direction) { - return false; - } else if (!propertyId.equals(other.propertyId)) { - return false; - } - return true; - } - -} diff --git a/server/src/main/java/com/vaadin/event/SortEvent.java b/server/src/main/java/com/vaadin/event/SortEvent.java deleted file mode 100644 index c69daa695e..0000000000 --- a/server/src/main/java/com/vaadin/event/SortEvent.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright 2000-2016 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.vaadin.event; - -import java.io.Serializable; -import java.util.List; - -import com.vaadin.data.sort.SortOrder; -import com.vaadin.shared.Registration; -import com.vaadin.ui.Component; - -/** - * Event describing a change in sorting of a {@link Container}. Fired by - * {@link SortNotifier SortNotifiers}. - * - * @see SortListener - * - * @since 7.4 - * @author Vaadin Ltd - */ -public class SortEvent extends Component.Event { - - private final List<SortOrder> sortOrder; - private final boolean userOriginated; - - /** - * Creates a new sort order change event with a sort order list. - * - * @param source - * the component from which the event originates - * @param sortOrder - * the new sort order list - * @param userOriginated - * <code>true</code> if event is a result of user interaction, - * <code>false</code> if from API call - */ - public SortEvent(Component source, List<SortOrder> sortOrder, - boolean userOriginated) { - super(source); - this.sortOrder = sortOrder; - this.userOriginated = userOriginated; - } - - /** - * Gets the sort order list. - * - * @return the sort order list - */ - public List<SortOrder> getSortOrder() { - return sortOrder; - } - - /** - * Returns whether this event originated from actions done by the user. - * - * @return true if sort event originated from user interaction - */ - public boolean isUserOriginated() { - return userOriginated; - } - - /** - * Listener for sort order change events. - */ - @FunctionalInterface - public interface SortListener extends Serializable { - /** - * Called when the sort order has changed. - * - * @param event - * the sort order change event - */ - public void sort(SortEvent event); - } - - /** - * The interface for adding and removing listeners for {@link SortEvent - * SortEvents}. - */ - public interface SortNotifier extends Serializable { - /** - * Adds a sort order change listener that gets notified when the sort - * order changes. - * - * @param listener - * the sort order change listener to add - * @return a registration object for removing the listener - */ - public Registration addSortListener(SortListener listener); - - /** - * Removes a sort order change listener previously added using - * {@link #addSortListener(SortListener)}. - * - * @param listener - * the sort order change listener to remove - * @deprecated use a {@link Registration} returned by - * {@link #addSortListener(SortListener)} - */ - @Deprecated - public void removeSortListener(SortListener listener); - } -} diff --git a/server/src/main/java/com/vaadin/ui/components/grid/SortOrderProvider.java b/server/src/main/java/com/vaadin/ui/components/grid/SortOrderProvider.java index 046719e978..2851b9d100 100644 --- a/server/src/main/java/com/vaadin/ui/components/grid/SortOrderProvider.java +++ b/server/src/main/java/com/vaadin/ui/components/grid/SortOrderProvider.java @@ -31,8 +31,8 @@ import com.vaadin.ui.Grid.Column; * @author Vaadin Ltd */ @FunctionalInterface -public interface SortOrderProvider - extends SerializableFunction<SortDirection, Stream<SortOrder<String>>> { +public interface SortOrderProvider extends + SerializableFunction<SortDirection, Stream<SortOrder<String>>> { /** * Generates the sort orders when rows are sorted by a column. |