Hi Kevin,
> Sorry if I'm asking you to repeat yourself, but:
> I suppose, to take a few steps back, what is your actual application
> domain, i.e. an outline of one or two of the classes that you *want* to
> appear in the Isis viewers, and the kind of actions you want to expose?
The application domain is a catalogue of Japanese animation, the creators and
writers/directors of such, as well as characters and the IPs (Intellectual
Properties) they belong to. An example of a domain entity here would be Series
(a kind of Adaptation), with a value for amount of episodes, along with
operations for adding characters to the series, adding alternative (different
language) names for the series, and so on.
> And where does Emfatic fit in? In my mind, I'm imagining something
> like a UML tool, where you use a GUI to draw classes and their
> properties, then a code-generator produces the actual Java classes.
> Now you want to use Isis to manage (create) and render these classes
> onto a UI?
>
I'm using a text editor to define my domain classes, and then feed that into a
code generator to output domain classes which I can ideally slot right into an
Isis project. An example class in EMF would be the following:
class Adaptation {
val Title[+] titles;
ref IP[1] adaptationOf;
op Title addToTitles(Title title);
op String title();
}
the keyword val indicates that the variable is to be contained within the
object, while ref indicates a pointer (Title and IP are other domain classes).
op defines a method and its name, return type, and parameters. The [ ] are for
multiplicity.
> And, to go one step more philosophical, what are actually trying to
> achieve with Isis?
>
> Regards,
> Kevin
The current objective I would say is to examine the possibility and
practicality of integrating a model-driven software development approach with
the Isis framework in order to enable domain-driven design using
model-generated code that can then use the naked objects framework and its
benefits with Isis.
Hope that clears some things up.
Thank you again,
- Iain.