├── .gitignore ├── LICENSE ├── README.md ├── README_en.md ├── docs ├── user_guide.md └── user_guide_cn.md ├── pom.xml └── src ├── main └── java │ └── cn │ └── jimmyshi │ └── beanquery │ ├── BeanPropertyMatcher.java │ ├── BeanQuery.java │ ├── BeanQueryCustomizedMatchers.java │ ├── DefaultNullValuePropertyValueGetter.java │ ├── MatcherPredicate.java │ ├── Selector.java │ ├── comparators │ ├── ComparableObjectComparator.java │ ├── DefaultSortOrderableComparator.java │ ├── DelegatedSortOrderableComparator.java │ ├── PropertyComparator.java │ └── SortOrderableComparator.java │ └── selectors │ ├── BeanSelector.java │ ├── ClassSelector.java │ ├── CompositeSelector.java │ ├── DefaultSelector.java │ ├── KeyValueMapSelector.java │ ├── NestedKeyValueMapSelector.java │ ├── PropertySelector.java │ └── StringSelector.java └── test ├── java └── cn │ └── jimmyshi │ └── beanquery │ ├── BeanPropertyMatcherTest.java │ ├── DataLoader.java │ ├── DefaultNullValuePropertyValueGetterTest.java │ ├── comparators │ ├── ComparableObjectComparatorTest.java │ ├── DefaultSortOrderableComparatorTest.java │ └── PropertyComparatorTest.java │ ├── example │ ├── Address.java │ ├── Author.java │ ├── BeanQueryExample.java │ └── Book.java │ └── selectors │ ├── BeanSelectorTest.java │ ├── ClassSelectorTest.java │ ├── CompositeSelectorTest.java │ ├── KeyValueMapSelectorTest.java │ ├── NestedKeyValueMapSelectorTest.java │ ├── PropertySelectorTest.java │ ├── SelectorTestBase.java │ └── StringSelectorTest.java └── resources └── jsonData ├── expected ├── shouldBooksShortedByName.json ├── shouldInPriceAscOrder.json ├── shouldInPriceDescOrder.json ├── shouldIncludeNullValueWhenSortingAsc.json ├── shouldIncludeNullValueWhenSortingDesc.json ├── shouldNotChangeOrder.json ├── shouldReturnAllFields.json ├── shouldReturnFieldsOnly.json ├── shouldReturnFieldsOnlyWithAllOfAndExcept.json ├── testChainedOrderByProperties.json ├── testChainedOrderByPropertiesDesc.json ├── testNestedResultFeature.json ├── testNotExistingProperties.json ├── testSelectListNestedProperties.json ├── testSelectMapNestedProperties.json ├── testSelectNestedProperties.json ├── testSelectNullProperties.json ├── testUsingCollectionHamcestMatchers.json ├── testUsingMapHamcrestMatchers.json └── testUsingMultipleWhereConditions.json └── source ├── forChainedOrder.json ├── forMultipleWhereConditions.json ├── forOrders.json ├── forOrdersWithNullValue.json ├── main.json └── withoutAuthorMapAndList.json /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/README.md -------------------------------------------------------------------------------- /README_en.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/README_en.md -------------------------------------------------------------------------------- /docs/user_guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/docs/user_guide.md -------------------------------------------------------------------------------- /docs/user_guide_cn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/docs/user_guide_cn.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/BeanPropertyMatcher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/BeanPropertyMatcher.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/BeanQuery.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/BeanQuery.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/BeanQueryCustomizedMatchers.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/BeanQueryCustomizedMatchers.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/DefaultNullValuePropertyValueGetter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/DefaultNullValuePropertyValueGetter.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/MatcherPredicate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/MatcherPredicate.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/Selector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/Selector.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/comparators/ComparableObjectComparator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/comparators/ComparableObjectComparator.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/comparators/DefaultSortOrderableComparator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/comparators/DefaultSortOrderableComparator.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/comparators/DelegatedSortOrderableComparator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/comparators/DelegatedSortOrderableComparator.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/comparators/PropertyComparator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/comparators/PropertyComparator.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/comparators/SortOrderableComparator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/comparators/SortOrderableComparator.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/selectors/BeanSelector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/selectors/BeanSelector.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/selectors/ClassSelector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/selectors/ClassSelector.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/selectors/CompositeSelector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/selectors/CompositeSelector.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/selectors/DefaultSelector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/selectors/DefaultSelector.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/selectors/KeyValueMapSelector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/selectors/KeyValueMapSelector.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/selectors/NestedKeyValueMapSelector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/selectors/NestedKeyValueMapSelector.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/selectors/PropertySelector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/selectors/PropertySelector.java -------------------------------------------------------------------------------- /src/main/java/cn/jimmyshi/beanquery/selectors/StringSelector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/main/java/cn/jimmyshi/beanquery/selectors/StringSelector.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/BeanPropertyMatcherTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/BeanPropertyMatcherTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/DataLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/DataLoader.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/DefaultNullValuePropertyValueGetterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/DefaultNullValuePropertyValueGetterTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/comparators/ComparableObjectComparatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/comparators/ComparableObjectComparatorTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/comparators/DefaultSortOrderableComparatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/comparators/DefaultSortOrderableComparatorTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/comparators/PropertyComparatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/comparators/PropertyComparatorTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/example/Address.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/example/Address.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/example/Author.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/example/Author.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/example/BeanQueryExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/example/BeanQueryExample.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/example/Book.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/example/Book.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/selectors/BeanSelectorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/selectors/BeanSelectorTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/selectors/ClassSelectorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/selectors/ClassSelectorTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/selectors/CompositeSelectorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/selectors/CompositeSelectorTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/selectors/KeyValueMapSelectorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/selectors/KeyValueMapSelectorTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/selectors/NestedKeyValueMapSelectorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/selectors/NestedKeyValueMapSelectorTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/selectors/PropertySelectorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/selectors/PropertySelectorTest.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/selectors/SelectorTestBase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/selectors/SelectorTestBase.java -------------------------------------------------------------------------------- /src/test/java/cn/jimmyshi/beanquery/selectors/StringSelectorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/java/cn/jimmyshi/beanquery/selectors/StringSelectorTest.java -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/shouldBooksShortedByName.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/shouldBooksShortedByName.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/shouldInPriceAscOrder.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/shouldInPriceAscOrder.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/shouldInPriceDescOrder.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/shouldInPriceDescOrder.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/shouldIncludeNullValueWhenSortingAsc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/shouldIncludeNullValueWhenSortingAsc.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/shouldIncludeNullValueWhenSortingDesc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/shouldIncludeNullValueWhenSortingDesc.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/shouldNotChangeOrder.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/shouldNotChangeOrder.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/shouldReturnAllFields.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/shouldReturnAllFields.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/shouldReturnFieldsOnly.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/shouldReturnFieldsOnly.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/shouldReturnFieldsOnlyWithAllOfAndExcept.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/shouldReturnFieldsOnlyWithAllOfAndExcept.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testChainedOrderByProperties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testChainedOrderByProperties.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testChainedOrderByPropertiesDesc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testChainedOrderByPropertiesDesc.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testNestedResultFeature.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testNestedResultFeature.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testNotExistingProperties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testNotExistingProperties.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testSelectListNestedProperties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testSelectListNestedProperties.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testSelectMapNestedProperties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testSelectMapNestedProperties.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testSelectNestedProperties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testSelectNestedProperties.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testSelectNullProperties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testSelectNullProperties.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testUsingCollectionHamcestMatchers.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testUsingCollectionHamcestMatchers.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testUsingMapHamcrestMatchers.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testUsingMapHamcrestMatchers.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/expected/testUsingMultipleWhereConditions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/expected/testUsingMultipleWhereConditions.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/source/forChainedOrder.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/source/forChainedOrder.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/source/forMultipleWhereConditions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/source/forMultipleWhereConditions.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/source/forOrders.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/source/forOrders.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/source/forOrdersWithNullValue.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/source/forOrdersWithNullValue.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/source/main.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/source/main.json -------------------------------------------------------------------------------- /src/test/resources/jsonData/source/withoutAuthorMapAndList.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jimmy-Shi/bean-query/HEAD/src/test/resources/jsonData/source/withoutAuthorMapAndList.json --------------------------------------------------------------------------------