Comments (5)
Yeah, I'm thinking we can change this a lot and go to a factory model similar to how Automatonymous does it for activities.
from machete.
Yeah was a little confused at first with the current syntax because CreateTranslator sort of implies that a new Translator is created when in reality the Translator is executing a new Translate. So, instead of CreateTranslate it should be just .Translate(...) similar to .Query(...).
Also, some of other things would be:
-
Drop the word Map from the names of Translate base classes like HL7ComponentTranslateMap, HL7SegmentTranslateMap, etc.
-
Change signature of base classes from:
public abstract class HL7SegmentTranslateMap<TResult, TInput, TSchema> :
HL7EntityTranslateMap<TResult, TInput, TSchema>
where TSchema : HL7Entity
where TInput : TSchema, HL7Segment
where TResult : TSchema, HL7Segment
...and...
public abstract class HL7ComponentTranslateMap<TResult, TInput, TSchema> :
HL7EntityTranslateMap<TResult, TInput, TSchema>
where TSchema : HL7Entity
where TInput : TSchema, HL7Component
where TResult : TSchema, HL7Component
In all the examples we have, TResult and TInput are the same so why different inputs. For example,
HL7ComponentTranslateMap<MSG, MSG, HL7Entity>
...could look like this...
HL7ComponentTranslate<MSG, HL7Entity>
from machete.
Yeah but Map is consistent with other usages, although people using Machete aren't defining their own schema, so they'd be unfamiliar with the Map
suffix anyway.
In this case, it's really to create a translator, right? So...
HL7ComponentTranslator<MSG, HL7Entity>
Or is it a Translation
which is used to create the Translator
which actually performs the translation.
from machete.
I still like the word Translator to be reserved for the engine and Translate be reserved for describing the action.
The reason why I don't like Map here is because it implies mapping to a schema almost.
from machete.
So I think I've converted this all to use the default constructor.
from machete.
Related Issues (20)
- X12 - incorrect mapping HOT 13
- Add Apache 2.0 license on source code HOT 1
- Documentation and Project Page Update HOT 3
- Cannot stream parse through multiple layouts in the same transaction in X12 HOT 1
- Map condition doesn't work when SegmentList is followed by Segment of same entity type HOT 1
- Create a way to initialize entities through Translate API
- X12 Select applicative throwing NullReferenceException when segment missing HOT 2
- Accessing missing Layout through indexer off of Select applicative throwing ValueMissingException HOT 4
- Fix issues with HL7 2.6 schema HOT 1
- Create way to override entity registration
- DateTimePeriod in X12 Schema not implemented HOT 3
- Layout parser failing to parse X12 loop HOT 1
- Layout parser failing to parse loop 2300 when PAT segment missing
- Not able to add user-defined layouts when registering the schema
- Add ability to return all registered layouts and entities
- Need ability to format a Layout
- Really poor performance with streaming parser HOT 4
- Update 5010 AAA segment HOT 2
- 5010 CTT Segment - Description should be string HOT 2
- Support H3 Segment for 5010 spec HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from machete.