Commit Graph

54 Commits

Author SHA1 Message Date
Collin Smith
5c7b5216f4 Updated android gradle plugin 4.2.0 -> 7.0.1 2021-11-30 16:03:44 -08:00
Collin Smith
ef89a85165 Updated gradle wrapper to 7.3 2021-11-30 14:13:04 -08:00
Collin Smith
2ace310ca3 Fixed compatibility with ByteOutput 2021-01-10 18:33:31 -08:00
Collin Smith
1215ff3358 Migrated manifest code generation to ManifestCodeGenerator 2021-01-10 01:45:01 -08:00
Collin Smith
da85e342a2 Refined primary key overriding system
Declaring class will take priority, otherwise use any declared in parent class hierarchy
This can be more well-defined later if more concrete needed
2021-01-09 20:04:28 -08:00
Collin Smith
27e94d8122 Generated tables Table#primaryKey() will return string representation of first field name instead of primary key variable name 2021-01-08 19:02:37 -08:00
Collin Smith
2ab7c7ceb0 Suppressed undeclared primary key warning when schema tagged as indexed 2021-01-08 19:01:49 -08:00
Collin Smith
fe19de2033 Removed unused injectorClassName (deprecated in previous commit) 2021-01-08 19:01:06 -08:00
Collin Smith
23449e2ef0 Added support for injecting references to records in foreign tables
Removed interface-based Injector implementation in favor of statically-based one
Injector required manifest fields which were generated after, causing errors
Created Manifest abstraction with Manifest#inject to perform injections
Added Manifest injection to Table constructor to enforce injection within Table#get
2021-01-07 14:04:41 -08:00
Collin Smith
4604d9c837 Updated comment 2021-01-06 23:28:26 -08:00
Collin Smith
f96011b9aa Improved lookup function to use upper case 2021-01-04 18:41:17 -08:00
Collin Smith
9fa2244429 Added support for record lookup via string primary key
Added support for record lookup via string primary key
TsvParser implements recordName(int) primaryKey(String) and primaryKey()
Added fast-forward recordName(int) into Parser base class to ParserInput
Merged parse record code within Table impl into parseRecord method call
2021-01-04 15:13:27 -08:00
Collin Smith
cc672557cd Added additional argument to Table class to initialize string lookup table 2021-01-04 14:36:13 -08:00
Collin Smith
257a8d3b40 Committing ParserMapper and RunesMapper implementation
Deprecated, but a good start if ever moved forward with
2020-12-27 20:03:37 -08:00
Collin Smith
cc807f60fa Implemented Table#preload
Implemented Table#preload
Removed Table#initialize() call from within Table#initialize(ParserInput)
2020-12-27 20:01:47 -08:00
Collin Smith
138c62c225 Created definitions for numRecords and numFields within ParserInput 2020-12-27 19:59:58 -08:00
Collin Smith
10178dfebc Created Schema#preload to trigger preloading of table records 2020-12-21 14:27:23 -08:00
Collin Smith
e602b1660c Permit static final fields 2020-12-21 14:19:32 -08:00
Collin Smith
7e7dfa0213 Implemented foreign key into :core test case
Fixed issue where parser was generating code for foreign keys
Added additional test case to output tsv field names and ids map
Added MonStats2 foreign key to MonStats schema
Generated TableManifest fields are now statically instanced
2020-12-20 00:35:16 -08:00
Collin Smith
e0b4904efe Added support for foreign keys within schemas 2020-12-19 14:20:24 -08:00
Collin Smith
4e9f356b12 Removed table config annotations 2020-12-18 00:56:49 -08:00
Collin Smith
2996e164f2 Added additional documentation to Table and refactored parser init function call 2020-12-18 00:55:58 -08:00
Collin Smith
c736412b4b Created Tables and TsvParser impl in :core
Created Tables and TsvParser impl in :core
Added lazy loading of table records
2020-12-17 22:33:32 -08:00
Collin Smith
2511b7cfe5 Refactored ParserInput into Parser
Parser is now an abstract class
Parser requires overriding constructor to set ParserInput
Table initializes parser upon first parser(ParserInput) call
2020-12-17 17:52:50 -08:00
Collin Smith
33caecc32c Updated parser and table code generators
Changed signatures of TsvParser and renamed to ParserInput
Removed Parser#hasNext
Implemented Table#recordClass()
TableCodeGenerator generates a public constructor
2020-12-17 15:38:55 -08:00
Collin Smith
0465816f26 Code cleanup 2020-12-16 18:53:39 -08:00
Collin Smith
fc09a8213c Added generation of table manifest 2020-12-16 18:07:48 -08:00
Collin Smith
a5fd0e8b14 Made MonStatsParserImpl a concrete impl of Parser 2020-12-16 11:50:16 -08:00
Collin Smith
c82e615772 Created Parser interface and generation 2020-12-16 11:36:11 -08:00
Collin Smith
1308eb410c Added FieldElement#fieldNames
Added FieldElement#fieldNames
FormatElement now validates and generates an array of formatted field names
2020-12-16 03:11:20 -08:00
Collin Smith
160109fdc9 Created Table#newSerializer
Created Table#newSerializer
Added default impl for MonStatsTableImpl#newSerializer
Created SchemaElement#serializerClassName
Refactored CodeGenerator#formatName to return a fq ClassName
Added null check for generated SchemaElement
Renamed CodeGenerator#generate variable to typeSpecBuilder
2020-12-16 01:12:21 -08:00
Collin Smith
f9fe8d0c63 Made MonStatsSerializerImpl a concrete class 2020-12-16 01:09:14 -08:00
Collin Smith
2d546442c0 Reformatted code 2020-12-16 00:25:55 -08:00
Collin Smith
d12a301703 Created TableCodeGenerator
Created and implemented TableCodeGenerator
Added stack trace printing for SchemaProcessor file io errors
Created Table#indexed
2020-12-16 00:22:47 -08:00
Collin Smith
77532fe576 Added field for Schema annotation 2020-12-16 00:05:37 -08:00
Collin Smith
1e3e2dd457 Added DeclaredType resolution to TableElement 2020-12-15 23:54:58 -08:00
Collin Smith
44282ad9ba Created CodeGenerator
Refactored some code generator responsibilities from SerializerCodeGenerator to CodeGenerator
2020-12-15 23:50:19 -08:00
Collin Smith
be46bab71e Code formatting 2020-12-15 23:34:42 -08:00
Collin Smith
d2451b08c1 Changed type param to R from T for record type 2020-12-15 23:32:56 -08:00
Collin Smith
e603b3a1f4 Implemented Table interface as abstract class 2020-12-15 23:32:29 -08:00
Collin Smith
92ed0d3af2 Removed generating class parameter 2020-12-15 23:30:45 -08:00
Collin Smith
f16f8dc0ea Added transient support, committing SerializerCodeGenerator 2020-12-15 22:02:47 -08:00
Collin Smith
b578137fdc Added support for Serializer impl generation 2020-12-15 19:14:42 -08:00
Collin Smith
c90b96a22a Added type and constructor checking for Schema 2020-12-15 17:32:45 -08:00
Collin Smith
dc733d29a5 Renamed columns to fields 2020-12-15 17:20:02 -08:00
Collin Smith
188d44b624 Refined primary key field error handling 2020-12-15 17:17:33 -08:00
Collin Smith
8bcca53490 Added some validation to FieldElement 2020-12-15 17:07:43 -08:00
Collin Smith
645d2eb25b Moved field annotation responsibilities to FieldElement
FieldElement processes Format and PrimaryKey annotations
Created AnnotationElement root class
2020-12-15 16:56:03 -08:00
Collin Smith
c33390503e Reformat code 2020-12-15 15:41:04 -08:00
Collin Smith
5180e4b185 Added static method to check primary key type 2020-12-15 14:15:25 -08:00