mcharmas/android-parcelable-intellij-plugin

IntelliJ Plugin for Android Parcelable boilerplate code generation.

Java

2,117

103 commits

updated Feb 15, 2021

See the code

README

IntelliJ/Android Studio Plugin for Android Parcelable boilerplate code generation

This tool generates an Android Parcelable implementation based on fields in the class.

Installation

Plugin is uploaded to plugin repository. If you like, you can install it manually:

  1. Download ParcelableGenerator release
  2. Open IntelliJ/Android Studio
  3. Preferences -> Plugins -> Install plugin from disk....
  4. Choose the downloaded jar file

Usage

Just press ALT + Insert (or your equivalent keybinding for code generation) in your editor and select Parcelable. It allows you to select the fields to be parceled.

Screenshot

Supported parcelable types

  • Types implementing Parcelable
  • Custom support (avoids Serializable/Parcelable implementation) for: Date, Bundle
  • Types implementing Serializable
  • List of Parcelable objects
  • Enumerations
  • Primitive types: long, short, int, float, double, boolean, byte, String
  • Primitive type wrappers (written with Parcel.writeValue(Object)): Short, Integer, Long, Float, Double, Boolean, Byte
  • Primitive type arrays: boolean[], byte[], char[], double[], float[], int[], long[]
  • List type of any object (Warning: validation is not performed)
  • Map support — Note: this implementation always assumes HashMap is desired
  • SparseArray support

TODO

  • Validation of List arguments
  • Display warning about not serialized fields
  • Active Objects support (Binders and stuff)

Contributors

License

Copyright (C) 2015 Michał Charmas (http://blog.charmas.pl)
Copyright (C) 2015 Dallas Gutauckis (http://dallasgutauckis.com)

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.

mcharmas/android-parcelable-intellij-plugin

IntelliJ Plugin for Android Parcelable boilerplate code generation.

Java

2,117

103 commits

updated Feb 15, 2021

See the code

README

IntelliJ/Android Studio Plugin for Android Parcelable boilerplate code generation

This tool generates an Android Parcelable implementation based on fields in the class.

Installation

Plugin is uploaded to plugin repository. If you like, you can install it manually:

  1. Download ParcelableGenerator release
  2. Open IntelliJ/Android Studio
  3. Preferences -> Plugins -> Install plugin from disk....
  4. Choose the downloaded jar file

Usage

Just press ALT + Insert (or your equivalent keybinding for code generation) in your editor and select Parcelable. It allows you to select the fields to be parceled.

Screenshot

Supported parcelable types

  • Types implementing Parcelable
  • Custom support (avoids Serializable/Parcelable implementation) for: Date, Bundle
  • Types implementing Serializable
  • List of Parcelable objects
  • Enumerations
  • Primitive types: long, short, int, float, double, boolean, byte, String
  • Primitive type wrappers (written with Parcel.writeValue(Object)): Short, Integer, Long, Float, Double, Boolean, Byte
  • Primitive type arrays: boolean[], byte[], char[], double[], float[], int[], long[]
  • List type of any object (Warning: validation is not performed)
  • Map support — Note: this implementation always assumes HashMap is desired
  • SparseArray support

TODO

  • Validation of List arguments
  • Display warning about not serialized fields
  • Active Objects support (Binders and stuff)

Contributors

License

Copyright (C) 2015 Michał Charmas (http://blog.charmas.pl)
Copyright (C) 2015 Dallas Gutauckis (http://dallasgutauckis.com)

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.

Significant stargazers

John Carlson

394 followers · starred Oct 2016

Ben Weiss

3,587 followers · starred Jan 2013

Dan Lew

2,796 followers · starred Apr 2014

Stéphane Nicolas

543 followers · starred Oct 2014