Skip to content
This repository has been archived by the owner on Jun 21, 2024. It is now read-only.

Latest commit

 

History

History
88 lines (65 loc) · 2.42 KB

README.md

File metadata and controls

88 lines (65 loc) · 2.42 KB

Symbols

Symbols is a Java library to generate static strings constants for attribute names using annotation processor.

Tell me more

In some cases, in Java (ex: when using reflection methods) we need to refer to class attributes. To do so we usually create static strings of the names of the attributes. This is boiler-plate code and its an origin of problems (ex: when changing attributes names). Symbols helps to solve this problem.

Show me the codes!

Lets imagine that we have the following POJO, that we annotate with Symbolize.

@Symbolize
public class Person {
    String name;
    String surname;
    int age;
}

Symbols will (using annotation processing) generate the following class for you:

public class PersonSymbols {
	public static final String CLASS_NAME= "Person";

	public static final String NAME = "name";
	public static final String SURNAME = "surname";
	public static final String AGE = "age";


	public static final String[] ATTRIBUTES = {
	        		NAME ,
    	    		SURNAME ,
    	    		AGE
    		};
}

Why should I use this?

This library is mainly to be used by others for reflection functionallities, however it can also be used, for example to define a database for a model. Where you use it is up to you.

Where is being used

  • Fritter Factory: Library to automatically populate models, to be used in automatic tests or user made tests.

Android friendly

Symbols is Android Friendly

Download

Grab via Gradle:

repositories { jcenter() }

compile 'one.equinox:symbols:+'

or via Maven:

<repository>
  <id>jcenter</id>
  <url>http://jcenter.bintray.com</url>
</repository>

<dependency>
    <groupId>one.equinox</groupId>
    <artifactId>symbols</artifactId>
    <version>+</version>
</dependency>

License

 Copyright 2016 Equinox.one

 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.