Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fluid API #460

Merged
merged 66 commits into from
Oct 31, 2016
Merged

Fluid API #460

merged 66 commits into from
Oct 31, 2016

Conversation

DaanVanYperen
Copy link
Collaborator

@DaanVanYperen DaanVanYperen commented Sep 11, 2016

Working. Components on classpath go in, fluid interface comes out. Room for performance improvements in the plugin. See #458 for more information.

Getting started

  1. Install this branch locally. (specifically artemis-fluid and child modules).
  2. https://github.com/junkdog/artemis-odb/wiki/Fluid-Entities

Todo

  • Generation of E.class.
  • Generation of SuperMapper.class
    • Provide access to all ComponentMappers
  • Basic maven and gradle plugins
    • Performance tuned component collection.
    • Ambiguous field/method fail early.
    • Generation to agnostic model
    • Example code generation implementation with JavaPoet.
    • Scan components on classpath, including libraries
  • Multiworld support.
  • Documentation (Wiki)

    preferences.prefixComponentGetter = "get" // prefix for E::[get]pos()
    preferences.prefixComponentCreate = "" // prefix for E::[]pos()
    preferences.prefixComponentHas = "has" // prefix for E::[has]Pos()
    preferences.prefixComponentRemove = "remove" // prefix for E::[remove]Pos()
    preferences.generateTagMethods = true // add tag convenience methods.
    preferences.generateGroupMethods = true // add group convenience methods.
    preferences.generateBooleanComponentAccessors = true // Generate boolean accessors for flag components?
    preferences.swallowGettersWithParameters = false // Globally swallow getters?
@jeffzi
Copy link

jeffzi commented Sep 18, 2016

First of all, thanks for the awesome work :)

Pos::set(x,y) generates E::pos(p0,p1) It would be nicer to use the same parameter names as the setmethod.

@DaanVanYperen
Copy link
Collaborator Author

DaanVanYperen commented Sep 22, 2016

@junkdog if you're happy where it sits give it a MERGE so I can start working on other things D:

@DaanVanYperen
Copy link
Collaborator Author

@shatterboom since we reflect over class files there's no easy way to obtain parameter names, unless compiling with debug information or running sort of metadata weaving utility. It's part of #461.

@DaanVanYperen
Copy link
Collaborator Author

@junkdog :'(

@junkdog
Copy link
Owner

junkdog commented Oct 31, 2016

on Sep 11

ewww.... there should have been more 🍪 🍪 🍪 and much less 🕐

@junkdog junkdog merged commit 182cbd6 into master Oct 31, 2016
@junkdog
Copy link
Owner

junkdog commented Oct 31, 2016

want to do the spaces to tab conversion? feels revisionist to commit it myself.

@DaanVanYperen DaanVanYperen deleted the 458-fluid-entity-api branch December 22, 2016 10:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants