Skip to content

Instantly share code, notes, and snippets.

@Matthewacon
Last active April 2, 2016 02:03
Show Gist options
  • Save Matthewacon/a119b13673b36eb292eb4e0b526edab7 to your computer and use it in GitHub Desktop.
Save Matthewacon/a119b13673b36eb292eb4e0b526edab7 to your computer and use it in GitHub Desktop.
lobboostj's todo

TODO

General

  • API
  • Documentation
  • Tests
  • Obfuscation
  • CI build server
  • Automatic Releases
  • Wiki with examples

Specific

Wrappers

  • BasicWrapper API
  • AbstractWrapper API

Types

Streams

  • Not implemented yet

Dynamic Types

  • Dynamically created generic consumer
  • Generic type interface for multiple function argument types in 1 variable

Readers

  • Multithreaded with a node controller thread

Writers

  • Multithreaded with a node controller thread

Thread Models

Concurrency

  • Basic thread at top of tree hierarchy
  • Concurrent thread
  • Asynchronous Threading
  • Thread Traces
Concurrent Thread
  • Automatic assignment of child threads to respective parent
  • Automatic concurrency with all other threads in the same thread group
  • Specific resource handling (individual variables)
Thread Traces
  • Logs all but internal calls (calls to System and the libboostj framework)
  • Overrides the default stack trace
  • Logs hierarchically (From the position in a thread) -- POTENTIAL DESIGN
  • Logs dynamically (Static instance for an entire application) -- POTENTIAL DESIGN
  • Parent and child threads can be deduced from a thread trace
  • Thread lock retrieving (states)
  • Thread resource handling (locking, sharing, protected, etc..)

####Asynchronization

  • Dynamic function execution as anonymous extensions of Basic Thread
  • Seamless interface (lambda)
    • Lambda automatically autoboxes to an extension of Consumer
  • Destroys anonymous thread when the generic ".retrieve()" method is invoked
  • Thread sleeps when execution is finished
  • "async" keyword automatically compiles to an anonymous extension of the generic async class

Reflection

Static Model

  • Code injection
  • Object modifier fetching
  • Object modifier setting
  • Object value fetching
  • Object value setting
  • Dynamic object instantiation (ie. create objects that extend other objects)

Generics

  • Generic type instantiation
  • Generic array creation
  • Generic value scoping
  • Generic value setting
  • DYNAMIC GENERICS

Dynamic Model

  • Final object
  • No function arguments, reflection based off of instantiated object

Compiler features

  • Json configurable syntax
  • Keyword insertions
  • Obfuscation (using Vigncrypt when it's finished)
  • Object compression (using Octopressor when it's finished)
  • Dynamic enums

####Dynamic Enums

  • Constant instantiation from Json configurations
  • Allow class extensions
  • Pre-compiled to allow for variable scoping while programming
  • Allow instance generics

Security

####Accessor Interface

  • Accessor classes list
    • Automated addition of declaring class to list
  • Foreign accessibility to class resources
  • Automated call checking (Uses thread model, and Reflection API)
  • Manual call checking (Uses Reflection API only)
  • Disallow internal API calls from non-Accessor classes
  • Disallow internal API calls from subclasses or implementors unless they are explicitly in the list
  • Allow higher authority threads to change Accessor classes even if they are not in the list

Tools

Json

  • Json parser (implements multithreaded stream)
  • Json Objects resolve to objects with predefined types
  • Arrays resolve to generic arrays
  • Json printer
  • Json writer from java objects

Wrappers

Primitive Types
  • Direct wrapper types
Compound Types
  • Collections
  • Sets
  • Lists
  • Maps
  • Arrays
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment