/** * Add model class packages after the object has been instantiated * * @param addedModelClasses map with version number as key and package names has value */ public void addModels(Map<String, String[]> addedModelClasses) { if (customModelClasses == null) { customModelClasses = new HashMap<String, String[]>(); } for (Entry<String, String[]> entry : addedModelClasses.entrySet()) { addModel(entry.getKey(), entry.getValue()); } }
/** * {@inheritDoc } */ public Class<? extends Message> getMessageClass(String name, String version, boolean isExplicit) throws HL7Exception { if (!isExplicit) { name = getMessageStructureForEvent(name, Version.versionOf(version)); } String key = "message" + name + version; Class<? extends Message> retVal = cache.get(key); if (retVal != null) return retVal; retVal = findClass("message", name, version); if (retVal == null) { retVal = delegate.getMessageClass(name, version, isExplicit); } if (retVal != null) cache.putIfAbsent(key, retVal); return retVal; }
/** * {@inheritDoc } */ public Class<? extends Segment> getSegmentClass(String name, String version) throws HL7Exception { String key = "segment" + name + version; Class<? extends Segment> retVal = cache.get(key); if (retVal != null) return retVal; retVal = findClass("segment", name, version); if (retVal == null) { retVal = delegate.getSegmentClass(name, version); } if (retVal != null) cache.putIfAbsent(key, retVal); return retVal; }
ModelClassFactory cmf = new CustomModelClassFactory("ca.uhn.hl7v2.examples.custommodel");
/** * {@inheritDoc } */ public Class<? extends Type> getTypeClass(String name, String version) throws HL7Exception { String key = "datatype" + name + version; Class<? extends Type> retVal = cache.get(key); if (retVal != null) return retVal; retVal = findClass("datatype", name, version); if (retVal == null) { retVal = delegate.getTypeClass(name, version); } if (retVal != null) cache.putIfAbsent(key, retVal); return retVal; }
/** * {@inheritDoc } */ public Class<? extends Message> getMessageClass(String name, String version, boolean isExplicit) throws HL7Exception { if (!isExplicit) { name = getMessageStructureForEvent(name, Version.versionOf(version)); } String key = "message" + name + version; Class<? extends Message> retVal = cache.get(key); if (retVal != null) return retVal; retVal = findClass("message", name, version); if (retVal == null) { retVal = delegate.getMessageClass(name, version, isExplicit); } if (retVal != null) cache.putIfAbsent(key, retVal); return retVal; }
/** * {@inheritDoc } */ public Class<? extends Type> getTypeClass(String name, String version) throws HL7Exception { String key = "datatype" + name + version; Class<? extends Type> retVal = cache.get(key); if (retVal != null) return retVal; retVal = findClass("datatype", name, version); if (retVal == null) { retVal = delegate.getTypeClass(name, version); } if (retVal != null) cache.putIfAbsent(key, retVal); return retVal; }
/** * Add model class packages after the object has been instantiated * * @param addedModelClasses map with version number as key and package names has value */ public void addModels(Map<String, String[]> addedModelClasses) { if (customModelClasses == null) { customModelClasses = new HashMap<String, String[]>(); } for (Entry<String, String[]> entry : addedModelClasses.entrySet()) { addModel(entry.getKey(), entry.getValue()); } }
/** * {@inheritDoc } */ public Class<? extends Group> getGroupClass(String name, String version) throws HL7Exception { String key = "group" + name + version; Class<? extends Group> retVal = cache.get(key); if (retVal != null) return retVal; retVal = findClass("group", name, version); if (retVal == null) { retVal = delegate.getGroupClass(name, version); } if (retVal != null) cache.putIfAbsent(key, retVal); return retVal; }
/** * Constructor * * @param packageName The base package name to use. * <p> * When searching, package specified here will be appended with .[version].[structure type]. * </p> * <p> * So, for instance, when looking for a v2.5 segment object, if "<code>com.foo</code>" is passed in, HAPI will look in "<code>com.foo.v25.segment.*</code>" * </p> */ public CustomModelClassFactory(String packageName) { this(new HashMap<String, String[]>()); if (!packageName.endsWith(".")) { packageName += "."; } for (Version v : Version.values()) { addModel(v.getVersion(), new String[] {packageName + v.getPackageVersion()}); } }
/** * {@inheritDoc } */ public Class<? extends Group> getGroupClass(String name, String version) throws HL7Exception { String key = "group" + name + version; Class<? extends Group> retVal = cache.get(key); if (retVal != null) return retVal; retVal = findClass("group", name, version); if (retVal == null) { retVal = delegate.getGroupClass(name, version); } if (retVal != null) cache.putIfAbsent(key, retVal); return retVal; }
/** * Constructor * * @param packageName The base package name to use. * <p> * When searching, package specified here will be appended with .[version].[structure type]. * </p> * <p> * So, for instance, when looking for a v2.5 segment object, if "<code>com.foo</code>" is passed in, HAPI will look in "<code>com.foo.v25.segment.*</code>" * </p> */ public CustomModelClassFactory(String packageName) { this(new HashMap<String, String[]>()); if (!packageName.endsWith(".")) { packageName += "."; } for (Version v : Version.values()) { addModel(v.getVersion(), new String[] {packageName + v.getPackageVersion()}); } }
/** * {@inheritDoc } */ public Class<? extends Segment> getSegmentClass(String name, String version) throws HL7Exception { String key = "segment" + name + version; Class<? extends Segment> retVal = cache.get(key); if (retVal != null) return retVal; retVal = findClass("segment", name, version); if (retVal == null) { retVal = delegate.getSegmentClass(name, version); } if (retVal != null) cache.putIfAbsent(key, retVal); return retVal; }