Parcelled

A fast annotation processor that auto-generates the Parcelable methods without writing them.

License

License

GroupId

GroupId

com.zeoflow
ArtifactId

ArtifactId

parcelled-compiler
Last Version

Last Version

1.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

Parcelled
A fast annotation processor that auto-generates the Parcelable methods without writing them.
Project URL

Project URL

https://github.com/zeoflow/parcelled
Source Code Management

Source Code Management

https://github.com/zeoflow/parcelled

Download parcelled-compiler

How to add to project

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

Dependencies

runtime (3)

Group / Artifact Type Version
com.zeoflow : parcelled-runtime jar 1.1.1
com.squareup : javapoet jar 1.13.0
com.google.guava : guava jar 24.1-jre

Project Modules

There are no modules declared in this project.

Parcelled - Android Library

Intro

A fast annotation processor that auto-generates the Parcelable methods without writing them.

Getting Started

For information on how to get started Parcelled, take a look at our Getting Started guide.

Submitting Bugs or Feature Requests

Bugs or feature requests should be submitted at our GitHub Issues section.

How does it work?

1. Depend on our library

Parcelled for Android is available through Google's Maven Repository. To use it:

  1. Open the build.gradle file for your application.
  2. Make sure that the repositories section includes Google's Maven Repository google(). For example:
allprojects {
    repositories {
        google()
        jcenter()
    }
}
  1. Add the library to the dependencies section:
dependencies {
    // ...

    // parcelled version
    def parcelled_version = "1.0.0"

    // Java Project
    implementation("com.zeoflow:parcelled-runtime:$parcelled_version")
    annotationProcessor("com.zeoflow:parcelled-compiler:$parcelled_version")

    // Kotlin Project
    implementation("com.zeoflow:parcelled-runtime:$parcelled_version")
    kapt("com.zeoflow:parcelled-compiler:$parcelled_version")

    // ...
}

2. Usage

2.1 Import

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

2.2 Class Declaration

@Parcelled(version = 1)
public abstract class CustomBean implements Parcelable {

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

    @ParcelledVersion(after = 1, before = 2)
    @Nullable
    public String lastName;

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

    public static CustomBean create(
      @NonNull String firstName,
      @NonNull String lastName,
      @NonNull Date birthday
    ) {
        return new Parcelled_Person(firstName, lastName, birthday);
    }
}

License

Copyright 2020 ZeoFlow

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.

๐Ÿ† Contributors ๐Ÿ†

com.zeoflow

ZeoFlow

From ZeoFlow with โค๏ธ to Developers

Versions

Version
1.1.1
1.1.0
1.0.0