проблемы с получением значения элемента, который был не изменен - PullRequest
0 голосов
/ 11 марта 2020

I unmarshaled CDA (международный документ медицинского стандарта) xml документ, и мне нужно получить значение из семейства элементов - @XmlElementRef(name = "family", namespace = "urn:hl7-org:v3", type = JAXBElement.class, required = false). Я попытался получить значение следующим образом - String firstName = clinicalDocument.getAuthor().get(5).getAssignedAuthor().getAssignedPerson().getName().get(1); Структура классов следующая.

<code>@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "POCD_MT000040.ClinicalDocument", propOrder = {
    "realmCode",
    "typeId",
    "templateId",
    "id",
    "code",
    "title",
    "effectiveTime",
    "confidentialityCode",
    "languageCode",
    "setId",
    "versionNumber",
    "copyTime",
    "recordTarget",
    "author",
    "dataEnterer",
    "informant",
    "custodian",
    "informationRecipient",
    "legalAuthenticator",
    "authenticator",
    "participant",
    "inFulfillmentOf",
    "documentationOf",
    "relatedDocument",
    "authorization",
    "componentOf",
    "component"
})
public class POCDMT000040ClinicalDocument {

    protected List<CS> realmCode;
    @XmlElement(required = true)
    protected POCDMT000040InfrastructureRootTypeId typeId;
    protected List<II> templateId;
    @XmlElement(required = true)
    protected II id;
    @XmlElement(required = true)
    protected CE code;
    protected ST title;
    @XmlElement(required = true)
    protected TS effectiveTime;
    @XmlElement(required = true)
    protected CE confidentialityCode;
    protected CS languageCode;
    protected II setId;
    protected INT versionNumber;
    protected TS copyTime;
    @XmlElement(required = true)
    protected List<POCDMT000040RecordTarget> recordTarget;
    @XmlElement(required = true)
    protected List<POCDMT000040Author> author;
    protected POCDMT000040DataEnterer dataEnterer;
    protected List<POCDMT000040Informant12> informant;
    @XmlElement(required = true)
    protected POCDMT000040Custodian custodian;
    protected List<POCDMT000040InformationRecipient> informationRecipient;
    protected POCDMT000040LegalAuthenticator legalAuthenticator;
    protected List<POCDMT000040Authenticator> authenticator;
    protected List<POCDMT000040Participant1> participant;
    protected List<POCDMT000040InFulfillmentOf> inFulfillmentOf;
    protected List<POCDMT000040DocumentationOf> documentationOf;
    protected List<POCDMT000040RelatedDocument> relatedDocument;
    protected List<POCDMT000040Authorization> authorization;
    protected POCDMT000040Component1 componentOf;
    @XmlElement(required = true)
    protected POCDMT000040Component2 component;
    @XmlAttribute(name = "nullFlavor")
    protected List<String> nullFlavor;
    @XmlAttribute(name = "classCode")
    protected ActClinicalDocument classCode;
    @XmlAttribute(name = "moodCode")
    protected List<String> moodCode;

    public List<CS> getRealmCode() {
        if (realmCode == null) {
            realmCode = new ArrayList<CS>();
        }
        return this.realmCode;
    }

    public POCDMT000040InfrastructureRootTypeId getTypeId() {
        return typeId;
    }


    public void setTypeId(POCDMT000040InfrastructureRootTypeId value) {
        this.typeId = value;
    }


    public List<II> getTemplateId() {
        if (templateId == null) {
            templateId = new ArrayList<II>();
        }
        return this.templateId;
    }


    public II getId() {
        return id;
    }


    public void setId(II value) {
        this.id = value;
    }


    public CE getCode() {
        return code;
    }


    public void setCode(CE value) {
        this.code = value;
    }


    public ST getTitle() {
        return title;
    }


    public void setTitle(ST value) {
        this.title = value;
    }


    public TS getEffectiveTime() {
        return effectiveTime;
    }


    public void setEffectiveTime(TS value) {
        this.effectiveTime = value;
    }


    public CE getConfidentialityCode() {
        return confidentialityCode;
    }


    public void setConfidentialityCode(CE value) {
        this.confidentialityCode = value;
    }


    public CS getLanguageCode() {
        return languageCode;
    }


    public void setLanguageCode(CS value) {
        this.languageCode = value;
    }


    public II getSetId() {
        return setId;
    }


    public void setSetId(II value) {
        this.setId = value;
    }


    public INT getVersionNumber() {
        return versionNumber;
    }


    public void setVersionNumber(INT value) {
        this.versionNumber = value;
    }


    public TS getCopyTime() {
        return copyTime;
    }


    public void setCopyTime(TS value) {
        this.copyTime = value;
    }


    public List<POCDMT000040RecordTarget> getRecordTarget() {
        if (recordTarget == null) {
            recordTarget = new ArrayList<POCDMT000040RecordTarget>();
        }
        return this.recordTarget;
    }


    public List<POCDMT000040Author> getAuthor() {
        if (author == null) {
            author = new ArrayList<POCDMT000040Author>();
        }
        return this.author;
    }


    public POCDMT000040DataEnterer getDataEnterer() {
        return dataEnterer;
    }


    public void setDataEnterer(POCDMT000040DataEnterer value) {
        this.dataEnterer = value;
    }


    public List<POCDMT000040Informant12> getInformant() {
        if (informant == null) {
            informant = new ArrayList<POCDMT000040Informant12>();
        }
        return this.informant;
    }


    public POCDMT000040Custodian getCustodian() {
        return custodian;
    }


    public void setCustodian(POCDMT000040Custodian value) {
        this.custodian = value;
    }


    public List<POCDMT000040InformationRecipient> getInformationRecipient() {
        if (informationRecipient == null) {
            informationRecipient = new ArrayList<POCDMT000040InformationRecipient>();
        }
        return this.informationRecipient;
    }


    public POCDMT000040LegalAuthenticator getLegalAuthenticator() {
        return legalAuthenticator;
    }


    public void setLegalAuthenticator(POCDMT000040LegalAuthenticator value) {
        this.legalAuthenticator = value;
    }


    public List<POCDMT000040Authenticator> getAuthenticator() {
        if (authenticator == null) {
            authenticator = new ArrayList<POCDMT000040Authenticator>();
        }
        return this.authenticator;
    }


    public List<POCDMT000040Participant1> getParticipant() {
        if (participant == null) {
            participant = new ArrayList<POCDMT000040Participant1>();
        }
        return this.participant;
    }


    public List<POCDMT000040InFulfillmentOf> getInFulfillmentOf() {
        if (inFulfillmentOf == null) {
            inFulfillmentOf = new ArrayList<POCDMT000040InFulfillmentOf>();
        }
        return this.inFulfillmentOf;
    }


    public List<POCDMT000040DocumentationOf> getDocumentationOf() {
        if (documentationOf == null) {
            documentationOf = new ArrayList<POCDMT000040DocumentationOf>();
        }
        return this.documentationOf;
    }


    public List<POCDMT000040RelatedDocument> getRelatedDocument() {
        if (relatedDocument == null) {
            relatedDocument = new ArrayList<POCDMT000040RelatedDocument>();
        }
        return this.relatedDocument;
    }


    public List<POCDMT000040Authorization> getAuthorization() {
        if (authorization == null) {
            authorization = new ArrayList<POCDMT000040Authorization>();
        }
        return this.authorization;
    }


    public POCDMT000040Component1 getComponentOf() {
        return componentOf;
    }


    public void setComponentOf(POCDMT000040Component1 value) {
        this.componentOf = value;
    }


    public POCDMT000040Component2 getComponent() {
        return component;
    }


    public void setComponent(POCDMT000040Component2 value) {
        this.component = value;
    }


    public List<String> getNullFlavor() {
        if (nullFlavor == null) {
            nullFlavor = new ArrayList<String>();
        }
        return this.nullFlavor;
    }


    public ActClinicalDocument getClassCode() {
        if (classCode == null) {
            return ActClinicalDocument.DOCCLIN;
        } else {
            return classCode;
        }
    }


    public void setClassCode(ActClinicalDocument value) {
        this.classCode = value;
    }


    public List<String> getMoodCode() {
        if (moodCode == null) {
            moodCode = new ArrayList<String>();
        }
        return this.moodCode;
    }

}



    public List<CS> getRealmCode() {
        if (realmCode == null) {
            realmCode = new ArrayList<CS>();
        }
        return this.realmCode;
    }


    public POCDMT000040InfrastructureRootTypeId getTypeId() {
        return typeId;
    }


    public void setTypeId(POCDMT000040InfrastructureRootTypeId value) {
        this.typeId = value;
    }


    public List<II> getTemplateId() {
        if (templateId == null) {
            templateId = new ArrayList<II>();
        }
        return this.templateId;
    }


    public List<II> getId() {
        if (id == null) {
            id = new ArrayList<II>();
        }
        return this.id;
    }


    public CE getCode() {
        return code;
    }


    public void setCode(CE value) {
        this.code = value;
    }


    public List<AD> getAddr() {
        if (addr == null) {
            addr = new ArrayList<AD>();
        }
        return this.addr;
    }


    public List<TEL> getTelecom() {
        if (telecom == null) {
            telecom = new ArrayList<TEL>();
        }
        return this.telecom;
    }


    public POCDMT000040Person getAssignedPerson() {
        return assignedPerson;
    }


    public void setAssignedPerson(POCDMT000040Person value) {
        this.assignedPerson = value;
    }

    public POCDMT000040AuthoringDevice getAssignedAuthoringDevice() {
        return assignedAuthoringDevice;
    }


    public void setAssignedAuthoringDevice(POCDMT000040AuthoringDevice value) {
        this.assignedAuthoringDevice = value;
    }


    public POCDMT000040Organization getRepresentedOrganization() {
        return representedOrganization;
    }


    public void setRepresentedOrganization(POCDMT000040Organization value) {
        this.representedOrganization = value;
    }


    public List<String> getNullFlavor() {
        if (nullFlavor == null) {
            nullFlavor = new ArrayList<String>();
        }
        return this.nullFlavor;
    }


    public String getClassCode() {
        if (classCode == null) {
            return "ASSIGNED";
        } else {
            return classCode;
        }
    }


    public void setClassCode(String value) {
        this.classCode = value;
    }

}




    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "POCD_MT000040.Person", propOrder = {
        "realmCode",
        "typeId",
        "templateId",
        "name"
    })
    public class POCDMT000040Person {

        protected List<CS> realmCode;
        protected POCDMT000040InfrastructureRootTypeId typeId;
        protected List<II> templateId;
        protected List<PN> name;
        @XmlAttribute(name = "nullFlavor")
        protected List<String> nullFlavor;
        @XmlAttribute(name = "classCode")
        protected List<String> classCode;
        @XmlAttribute(name = "determinerCode")
        protected String determinerCode;


        public List<CS> getRealmCode() {
            if (realmCode == null) {
                realmCode = new ArrayList<CS>();
            }
            return this.realmCode;
        }


        public POCDMT000040InfrastructureRootTypeId getTypeId() {
            return typeId;
        }


        public void setTypeId(POCDMT000040InfrastructureRootTypeId value) {
            this.typeId = value;
        }


        public List<II> getTemplateId() {
            if (templateId == null) {
                templateId = new ArrayList<II>();
            }
            return this.templateId;
        }


        public List<PN> getName() {
            if (name == null) {
                name = new ArrayList<PN>();
            }
            return this.name;
        }


        public List<String> getNullFlavor() {
            if (nullFlavor == null) {
                nullFlavor = new ArrayList<String>();
            }
            return this.nullFlavor;
        }


        public List<String> getClassCode() {
            if (classCode == null) {
                classCode = new ArrayList<String>();
            }
            return this.classCode;
        }


        public String getDeterminerCode() {
            if (determinerCode == null) {
                return "INSTANCE";
            } else {
                return determinerCode;
            }
        }


        public void setDeterminerCode(String value) {
            this.determinerCode = value;
        }

    }




    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "PN")
    public class PN
        extends EN
    {


    }




/**
 * 
 *             A name for a person, organization, place or thing. A
 *             sequence of name parts, such as given name or family
 *             name, prefix, suffix, etc. Examples for entity name
 *             values are "Jim Bob Walton, Jr.", "Health Level Seven,
 *             Inc.", "Lake Tahoe", etc. An entity name may be as simple
 *             as a character string or may consist of several entity name
 *             parts, such as, "Jim", "Bob", "Walton", and "Jr.", "Health
 *             Level Seven" and "Inc.", "Lake" and "Tahoe".
 *          
 * 
 * <p>Java class for EN complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="EN"&gt;
 *   &lt;complexContent&gt;
 *     &lt;extension base="{urn:hl7-org:v3}ANY"&gt;
 *       &lt;sequence&gt;
 *         &lt;choice maxOccurs="unbounded" minOccurs="0"&gt;
 *           &lt;element name="delimiter" type="{urn:hl7-org:v3}en.delimiter"/&gt;
 *           &lt;element name="family" type="{urn:hl7-org:v3}en.family"/&gt;
 *           &lt;element name="given" type="{urn:hl7-org:v3}en.given"/&gt;
 *           &lt;element name="prefix" type="{urn:hl7-org:v3}en.prefix"/&gt;
 *           &lt;element name="suffix" type="{urn:hl7-org:v3}en.suffix"/&gt;
 *         &lt;/choice&gt;
 *         &lt;element name="validTime" type="{urn:hl7-org:v3}IVL_TS" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *       &lt;attribute name="use" type="{urn:hl7-org:v3}set_EntityNameUse" /&gt;
 *     &lt;/extension&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * 
@XmlAccessorType (XmlAccessType.FIELD) @XmlType (name = "EN", propOrder = {"content"}) @XmlSeeAlso ({PN.class, ON.class, TN.class}) publi c class EN {@XmlElementRefs ({@XmlElementRef (name = "delimiter", namespace = "urn: hl7-org: v3", type = JAXBElement .class, required = false), @XmlElementRef (name = "данное", namespace = "urn: hl7-org: v3", type = JAXBElement.class, required = false), @XmlElementRef (name = "validTime", пространство имен = "urn: hl7-org: v3", type = JAXBElement.class, обязательный = false), @XmlElementRef (name = "family", пространство имен = "urn: hl7-org: v3", type = JAXBElement.class, обязательный = false), @XmlElementRef (name = "prefix", namespace = "urn: hl7-org: v3", type = JAXBElement.class, required = false), @XmlElementRef (name = "суффикс", namespace = "urn: hl7-org: v3 ", type = JAXBElement.class, обязательно = false)}) @XmlMixed защищенный список содержимое; @XmlAttribute (name = "use") защищенный список use; / ** * * Имя человека, организации, места или вещи. * Последовательность частей имени, таких как имя или фамилия *, префикс, суффикс и т. Д. c. Примерами значений имени * объекта являются «Джим Боб Уолтон-младший», «Уровень здоровья семь, * В c.», «Озеро Тахо» и др. c. Имя объекта может быть простым * как строка символов или может состоять из нескольких частей имени объекта *, таких как «Джим», «Боб», «Уолтон» и «Младший», «Здоровье * Уровень семь» и «В c.», «Озеро» и «Тахо». * Получает значение свойства содержимого. * *

* Этот метод доступа возвращает ссылку на текущий список, * не снимок. Поэтому любая модификация, которую вы вносите в возвращаемый список *, будет присутствовать внутри объекта JAXB. * Вот почему нет метода set для свойства content. * *

* Например, чтобы добавить новый элемент, выполните следующие действия: *

 *    getContent().add(newItem);
 * 
* * *

* Объекты следующих типов разрешены в списке * {@link String} * {@link JAXBElement} {@ code <} {@ link EnDelimiter} {@ code>} * {@link JAXBElement} {@ code <} {@ link EnGiven} {@ code>} * {@link JAXBElement} {@ code <} {@ link IVLTS} {@ code>} * {@link JAXBElement} {@ code <} {@ link EnFamily} {@ code>} * {@link JAXBElement} {@ code <} {@ link EnPrefix} { @code>} * {@link JAXBElement} {@ code <} {@ link EnSuffix} {@ code>} * * * / publi c List getContent () {if (content == null) {content = новый ArrayList (); } вернуть this.content; } / ** * Получает значение свойства use. * *

* Этот метод доступа возвращает ссылку на текущий список, * не снимок. Поэтому любая модификация, которую вы вносите в возвращаемый список *, будет присутствовать внутри объекта JAXB. * Вот почему нет метода set для свойства use. * *

* Например, чтобы добавить новый элемент, выполните следующие действия: *

 *    getUse().add(newItem);
 * 
* * *

* Объекты следующих типов разрешены в списке * {@link String} * * * / publi c List getUse () {if (use == null) {use = new ArrayList (); } return this.use; }}

1 Ответ

0 голосов
/ 22 марта 2020

Я просто меняю свое pojo и решаю свою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...