AutoValue: QueryMap Extension

AutoValue extension to add toQueryMap() for Retrofit.

Лицензия

Лицензия

Категории

Категории

Auto Библиотеки уровня приложения Code Generators
Группа

Группа

com.oguzbabaoglu
Идентификатор

Идентификатор

auto-value-querymap
Последняя версия

Последняя версия

1.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

AutoValue: QueryMap Extension
AutoValue extension to add toQueryMap() for Retrofit.
Ссылка на сайт

Ссылка на сайт

https://github.com/oguzbabaoglu/auto-value-querymap/
Система контроля версий

Система контроля версий

https://github.com/oguzbabaoglu/auto-value-querymap/

Скачать auto-value-querymap

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.oguzbabaoglu/auto-value-querymap/ -->
<dependency>
    <groupId>com.oguzbabaoglu</groupId>
    <artifactId>auto-value-querymap</artifactId>
    <version>1.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.oguzbabaoglu/auto-value-querymap/
implementation 'com.oguzbabaoglu:auto-value-querymap:1.0'
// https://jarcasting.com/artifacts/com.oguzbabaoglu/auto-value-querymap/
implementation ("com.oguzbabaoglu:auto-value-querymap:1.0")
'com.oguzbabaoglu:auto-value-querymap:jar:1.0'
<dependency org="com.oguzbabaoglu" name="auto-value-querymap" rev="1.0">
  <artifact name="auto-value-querymap" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.oguzbabaoglu', module='auto-value-querymap', version='1.0')
)
libraryDependencies += "com.oguzbabaoglu" % "auto-value-querymap" % "1.0"
[com.oguzbabaoglu/auto-value-querymap "1.0"]

Зависимости

compile (4)

Идентификатор библиотеки Тип Версия
com.squareup : javapoet jar 1.7.0
com.google.auto.value : auto-value jar 1.3-rc1
com.google.auto.service : auto-service jar 1.0-rc2
com.google.auto : auto-common jar 0.6

test (3)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.12
com.google.truth : truth jar 0.27
com.google.testing.compile : compile-testing jar 0.9

Модули Проекта

Данный проект не имеет модулей.

AutoValue: QueryMap Extension

An extension for Google's AutoValue that implements a "toQueryMap" method for Retrofit's QueryMap.

Usage

Include auto-value-querymap in your project and add a public abstract Map<String, String> toQueryMap() method to your @AutoValue annotated class.

You can also annotate your properties using @Param to define an alternate key name in the QueryMap.

@AutoValue public abstract class Foo {
  abstract String bar();                  // Will be mapped as "bar":"<value of bar>"
  @Param("Bazoo") abstract String baz();  // Will be mapped as "Bazoo":"<value of baz>"

  // This method is what auto-value-querymap will implement.
  public abstract Map<String, String> toQueryMap();
  
  // Retrofit will convert this to "?bar=<value of bar>&Bazoo=<value of baz>"
}

Now build your project and auto-value-querymap will implement the method.

  • null values will not be added to the map (Not allowed by QueryMap)
  • all values will be converted to String using String.valueOf()
  • the map will preserve order of decleration of the fields

Download

Android

Add a Gradle dependency to the apt and provided configuration.

apt 'com.oguzbabaoglu:auto-value-querymap:1.0'
provided 'com.oguzbabaoglu:auto-value-querymap:1.0'

(Using the android-apt plugin)

Java

Add a Gradle dependency to the apt and compileOnly configuration.

apt 'com.oguzbabaoglu:auto-value-querymap:1.0'
compileOnly 'com.oguzbabaoglu:auto-value-querymap:1.0'

(Using the gradle-apt-plugin plugin)

Credit

Based on the existing auto-value-map extension by Cynny.

License

Copyright 2016 Oguz Babaoglu.

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.

Версии библиотеки

Версия
1.0