Validate and generate Greek TIN (Tax Identification Number) / AFM (Αριθμός Φορολογικού Μητρώου). Generation function can create valid or invalid numbers including parameters for old format, individuals, legal entities and repet tolerance digits control.
https://lytrax.io/blog/projects/greek-tin-validator-generator
Get Maven artifacts using Gradle (build.gradle
):
repositories {
mavenCentral()
}
dependencies {
implementation 'io.lytrax:lytrax-afm:1.0.1'
}
Or go to project releases, download and use the latest jar package.
Import functions:
import io.lytrax.afm.ValidateAFM;
import io.lytrax.afm.GenerateAFM;
Validate a number:
ValidateAFM.Validate("090000045");
< true
ValidateAFM.Validate("123456789");
< false
Generate a valid number:
GenerateAFM generator = new GenerateAFM();
generator.reset().generateValid();
< "731385437"
Validate using ValidateAFMExtendedResult
:
import io.lytrax.afm.ValidateAFM.ValidateAFMExtendedResult;
ValidateAFMExtendedResult result = ValidateAFM.ValidateExtended("ab1234");
result.toString();
< "ValidateAFMExtendedResult { Error()=\"length\", Valid()=false }"
Generate an invalid number:
GenerateAFM generator = new GenerateAFM();
generator.reset().generateValid();
< "853003357"
Generate a valid number using function parameters:
GenerateAFM generator = new GenerateAFM();
generator
.reset()
.forceFirstDigit(3)
.repeatTolerance(1)
.valid(true)
.generate();
< "335151580"
generator
.reset()
.pre99(true)
.generateValid();
< "070825250"
generator
.reset()
.legalEntity(true)
.generateInvalid();
< "877577341"
CAUTION: Always use reset()
before each number generation when changing parameters and reusing an object of the same instance, because every parameter is saved to private variables for repeated usage.
Clone this repository and then use an IDE like Netbeans to run tests or use Apache Ant™:
git clone https://github.com/clytras/afm-java.git && cd afm-java
ant -f Src/LytraxAFM test
Run Demo:
Open LytraxAFMDemo
along with LytraxAFM
Netbeans projects, add project package dependency jar of LytraxAFM
to LytraxAFMDemo
and run.
See CHANGELOG
MIT License - see the LICENSE file for details