Skip to content

Commit

Permalink
Merge pull request #8 from zeoflow/auto-generated-constructor
Browse files Browse the repository at this point in the history
Auto generated constructor
  • Loading branch information
teogor authored Mar 18, 2021
2 parents e974259 + f9fae2d commit 3b512a2
Show file tree
Hide file tree
Showing 7 changed files with 220 additions and 8 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ dependencies {
### 2. Usage
#### 2.1 Import
```java
import com.zeoflow.parcelled.Default;
import com.zeoflow.parcelled.Parcelled;
import com.zeoflow.parcelled.ParcelledAdapter;
import com.zeoflow.parcelled.ParcelledVersion;
Expand All @@ -61,6 +62,7 @@ import com.zeoflow.parcelled.ParcelledVersion;
public abstract class CustomBean implements Parcelable {

@Nullable
@Default(code = "null")
public String firstName;

@ParcelledVersion(after = 1, before = 2)
Expand All @@ -69,6 +71,7 @@ public abstract class CustomBean implements Parcelable {

@ParcelledAdapter(DateTypeAdapter.class)
@ParcelledVersion(before = 1)
@Default(code = "new Date()")
public Date birthday;

public static CustomBean create(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ protected void onCreate(Bundle savedInstanceState)
date.setText(getString(R.string.format_date, person.birthday.toString()));
age.setText(getString(R.string.format_age, person.age));
fullAddress.setText(getString(R.string.full_address,
TextUtils.isEmpty(person.address.street) ? "<street>" : person.address.street,
TextUtils.isEmpty(person.address.postCode) ? "<PC>" : person.address.postCode,
TextUtils.isEmpty(person.address.city) ? "<city>" : person.address.city,
TextUtils.isEmpty(person.address.country) ? "<country>" : person.address.country));
TextUtils.isEmpty(person.address.street) ? "street: " : person.address.street,
TextUtils.isEmpty(person.address.postCode) ? "\npost code: " : person.address.postCode,
TextUtils.isEmpty(person.address.city) ? "\ncity: " : person.address.city,
TextUtils.isEmpty(person.address.country) ? "\ncountry: " : person.address.country));
}
}

Expand Down
10 changes: 10 additions & 0 deletions app/src/main/java/com/zeoflow/parcelled/demo/model/Address.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,33 @@

import android.os.Parcelable;

import com.zeoflow.parcelled.Default;
import com.zeoflow.parcelled.Parcelled;

@Parcelled
public abstract class Address implements Parcelable
{

@Default(code = "null")
public String street;

@Default(code = "null")
public String postCode;

@Default(code = "null")
public String city;

@Default(code = "null")
public String country;

public static Address create(String street, String postCode, String city, String country)
{
return new Parcelled_Address(street, postCode, city, country);
}

public static Address create()
{
return new Parcelled_Address();
}

}
14 changes: 13 additions & 1 deletion app/src/main/java/com/zeoflow/parcelled/demo/model/Person.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.zeoflow.parcelled.Default;
import com.zeoflow.parcelled.Parcelled;
import com.zeoflow.parcelled.ParcelledAdapter;
import com.zeoflow.parcelled.ParcelledVersion;
Expand All @@ -30,26 +31,37 @@ public abstract class Person implements Parcelable
{

@Nullable
@Default(code = "null")
public String name;

@Nullable
@Default(code = "null")
public String firstName;

@ParcelledVersion(after = 1, before = 2)
@Nullable
@Default(code = "null")
public String lastName;

@Default(code = "new Date()")
@ParcelledAdapter(DateTypeAdapter.class)
@ParcelledVersion(before = 1)
public Date birthday;

@Default(code = "0")
public int age;

@Default(code = "Address.create()")
public Address address;

public static Person create(@NonNull String name, @NonNull String firstName, @NonNull Date birthday, int age, Address address)
{
return new Parcelled_Person(name, firstName, "Doe", birthday, age, address);
return new Parcelled_Person();
}

public static Person create()
{
return new Parcelled_Person();
}

}
3 changes: 3 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ dependencies {
### 2. Usage
#### 2.1 Import
```java
import com.zeoflow.parcelled.Default;
import com.zeoflow.parcelled.Parcelled;
import com.zeoflow.parcelled.ParcelledAdapter;
import com.zeoflow.parcelled.ParcelledVersion;
Expand All @@ -61,6 +62,7 @@ import com.zeoflow.parcelled.ParcelledVersion;
public abstract class CustomBean implements Parcelable {

@Nullable
@Default(code = "null")
public String firstName;

@ParcelledVersion(after = 1, before = 2)
Expand All @@ -69,6 +71,7 @@ public abstract class CustomBean implements Parcelable {

@ParcelledAdapter(DateTypeAdapter.class)
@ParcelledVersion(before = 1)
@Default(code = "new Date()")
public Date birthday;

public static CustomBean create(
Expand Down
Loading

0 comments on commit 3b512a2

Please sign in to comment.