Symbols is a Java library to generate static strings constants for attribute names using annotation processor.
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.
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
};
}
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.
- Fritter Factory: Library to automatically populate models, to be used in automatic tests or user made tests.
Symbols is Android Friendly
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>
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.