Skip to content

Instantly share code, notes, and snippets.

View wisnukurniawan's full-sized avatar

Wisnu Kurniawan wisnukurniawan

View GitHub Profile
@wisnukurniawan
wisnukurniawan / Builder Pattern example 1
Last active January 13, 2017 07:07
Builder Pattern Tutorial
/**
* Created by wisnu on 13/01/2017.
*/
public class Rumah {
private String kamarMandi;
private String ruangTamu;
private String tempatTidur;
//variabel opsional
private String kolamRenang;
@wisnukurniawan
wisnukurniawan / Builder Pattern Example 2
Created January 13, 2017 07:12
Builder Pattern Tutorial
/**
* Created by wisnu on 13/01/2017.
*/
public class Rumah {
private String kamarMandi;
private String ruangTamu;
private String tempatTidur;
//optional parameter
private String garasi;
private String kolamRenang;
@wisnukurniawan
wisnukurniawan / Implementasi Builder Pattern
Created January 13, 2017 07:16
Builder Pattern Tutorial
public static void main(String[] args) {
Rumah rumah1 = new RumahBuilder("KM","RT", "TD")
.setGarasi("GR").setKolamRenang("KR").build();
Rumah rumah2 = new RumahBuilder("KM","RT", "TD")
.setGarasi("GR").build();
Rumah rumah3 = new RumahBuilder("KM","RT", "TD")
.build();
}
@wisnukurniawan
wisnukurniawan / Model
Created January 13, 2017 22:49
Retrofit2
/**
* Created by wisnu on 14/01/2017.
*/
public class DataRepo {
@SerializedName("login")
String login;
@SerializedName("contributions")
int contributions;
@wisnukurniawan
wisnukurniawan / Model
Created January 13, 2017 22:57
Retrofit2
/**
* Created by wisnu on 14/01/2017.
*/
public class DataSearch {
@SerializedName("items")
List<Item> items;
public List<Item> getItems() {
return items;
}
@wisnukurniawan
wisnukurniawan / Model
Created January 13, 2017 22:58
Retrofit2
/**
* Created by wisnu on 14/01/2017.
*/
public class Item {
@SerializedName("full_name")
String repoName;
@SerializedName("url")
String url;
/**
* Created by wisnu on 12/01/2017.
* Ini buat endpoint
*/
public interface ServiceApi {
@GET("/repos/{owner}/{repo}/contributors")
Call<List<DataRepo>> contributors(
@Path("owner") String owner,
@Path("repo") String repo
);
@wisnukurniawan
wisnukurniawan / Network
Created January 13, 2017 23:13
Retrofit2
/**
* Created by wisnu on 12/01/2017.
*/
public class ClientApi {
public static final String API_BASE_URL = "https://api.github.com";
private static OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
private static Retrofit.Builder builder =
new Retrofit.Builder()
@wisnukurniawan
wisnukurniawan / Test
Created January 13, 2017 23:16
Retrofit2
/**
* Created by wisnu on 12/01/2017.
*/
public class Test {
public static void main(String... args) {
ServiceApi client = ClientApi.createService(ServiceApi.class);
Call<List<DataRepo>> call = client.contributors("vmg", "redcarpet");
Call<DataSearch> call1 = client.searching("jadwalsholat", "stars");
@wisnukurniawan
wisnukurniawan / Pager.java
Created April 24, 2017 09:00 — forked from mttkay/Pager.java
A simple Rx based pager
public class Pager<I, O> {
private static final Observable FINISH_SEQUENCE = Observable.never();
private PublishSubject<Observable<I>> pages;
private Observable<I> nextPage = finish();
private Subscription subscription = Subscriptions.empty();
private final PagingFunction<I> pagingFunction;
private final Func1<I, O> pageTransformer;