ja:FileModel a rdfs:Class ; rdfs:subClassOf ja:NamedModel ; rdfs:label "Assembler.FileModel" ; rdfs:comment """a FileModel is a file-backed NamedModel implemented as a MemoryModel with the name given by the modelName and in the directory given by fromDirectory.""" . ja:fromDirectory a rdf:Property ; rdfs:label "Assembler.fromDirectory" ; rdfs:comment """property of a FileModel giving the directory in which the modelName is to be resolved. Query: is the current behaviour of FileModels to be preserved?""" ; rdfs:domain ja:FileModel . # # database models #
An Assembler knows how to create one or more kinds of objects from a specification written in RDF as per the assembler vocabulary. The core method is:
Assembler::create( Assembler sub, Resource root ) → Object
root is the RDF node which is the subject of the description. sub is the assembler to use for any sub-components of the root. The method:
Assembler::create( Resource root ) → Object
calls the core create passing itself as the first argument.
If an assembler cannot construct an appropriate object from the description, it throws a ICannotDoThat exception.
This factory creates versions of connectionAssembler with specified usernames and passwords locked in, using the method:
create( String userName, String password ) → Connection
This Assembler is an AssemblerGroup initialised with the Assembler constants above. An AssemblerGroup selects an Assembler component by picking the most specific type of the root object and then invoking the Assembler which has been added to deal with that type using the method:
implementWith( Resource type, Assembler impl ) → this
Additional type→impl mappings can be added by the user, if required, or a fresh AssemblerGroup can be constructed using the method:
copy() → AssemblerGroup
which creates a copy of this AssemblerGroup, or:
static AssemblerGroup.create()
which creates a new empty AssemblerGroup.