All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.foursoft.vecmodel.vec113.VecModuleFamily Maven / Gradle / Ivy

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 
// See https://javaee.github.io/jaxb-v2/ 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2021.08.10 at 09:49:21 AM UTC 
//


package com.foursoft.vecmodel.vec113;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlIDREF;
import javax.xml.bind.annotation.XmlList;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
import com.foursoft.vecmodel.common.HasDescription;
import com.foursoft.vecmodel.common.HasIdentification;
import com.foursoft.vecmodel.common.HasModifiableIdentification;
import com.foursoft.vecmodel.vec113.visitor.Visitable;
import com.foursoft.vecmodel.vec113.visitor.Visitor;
import com.foursoft.xml.ExtendedUnmarshaller;
import com.foursoft.xml.annotations.XmlBackReference;
import com.foursoft.xml.annotations.XmlParent;


/**
 * 

A ModuleFamily is a mechanism to group mutually exclusive modules. This could be for example something like "audio equipment", "diesel engine".

*

In other words, a module family groups different variants of the same basic feature. In a real car configuration only one member of the family can participate. For the example module family "audio equipment" the members may be named: "Basic Audio Equipment", "Standard Audio Equipment", "Premium / High End Audio Equipment".

* *

Java class for ModuleFamily complex type. * *

The following schema fragment specifies the expected content contained within this class. * *

 * <complexType name="ModuleFamily">
 *   <complexContent>
 *     <extension base="{http://www.prostep.org/ecad-if/2011/vec}ExtendableElement">
 *       <sequence>
 *         <element name="Identification" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         <element name="Description" type="{http://www.prostep.org/ecad-if/2011/vec}AbstractLocalizedString" maxOccurs="unbounded" minOccurs="0"/>
 *         <element name="ModuleInFamily" type="{http://www.w3.org/2001/XMLSchema}IDREFS"/>
 *       </sequence>
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ModuleFamily", propOrder = { "identification", "descriptions", "moduleInFamily" }) public class VecModuleFamily extends VecExtendableElement implements Serializable, HasDescription , HasIdentification, HasModifiableIdentification, Visitable { private final static long serialVersionUID = 1L; /** *

Specifies a unique identification of the ModuleFamily. The identification is guaranteed to be unique within the ModuleFamilySpecification. Over all VEC-documents a ModuleFamily-instance can be trusted to be the same if the ModuleFamilySpecification-instance is the same and the identification of the ModuleFamily is the same.

* */ @XmlElement(name = "Identification") protected String identification; /** *

Room for additional, human readable information about the ModuleFamily.

* */ @XmlElement(name = "Description") protected List descriptions; @XmlList @XmlElement(name = "ModuleInFamily", required = true, type = java.lang.Object.class) @XmlIDREF @XmlSchemaType(name = "IDREFS") @XmlBackReference(destinationField = "refModuleFamily") protected List moduleInFamily; @XmlTransient @XmlParent private VecModuleFamilySpecification parentModuleFamilySpecification; /** * Gets the value of the identification property. *

*

Specifies a unique identification of the ModuleFamily. The identification is guaranteed to be unique within the ModuleFamilySpecification. Over all VEC-documents a ModuleFamily-instance can be trusted to be the same if the ModuleFamilySpecification-instance is the same and the identification of the ModuleFamily is the same.

* * @return * possible object is * {@link String } * */ public String getIdentification() { return identification; } /** * Sets the value of the identification property. * * @param value * allowed object is * {@link String } * * @see #getIdentification() */ public void setIdentification(String value) { this.identification = value; } /** * Gets the value of the descriptions property. * *

* This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the descriptions property. * *

* For example, to add a new item, do as follows: *

     *    getDescriptions().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link VecAbstractLocalizedString } * *

*

Room for additional, human readable information about the ModuleFamily.

* */ public List getDescriptions() { if (descriptions == null) { descriptions = new ArrayList(); } return this.descriptions; } /** * Gets the value of the moduleInFamily property. * *

* This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the moduleInFamily property. * *

* For example, to add a new item, do as follows: *

     *    getModuleInFamily().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link Object } * * */ public List getModuleInFamily() { if (moduleInFamily == null) { moduleInFamily = new ArrayList(); } return this.moduleInFamily; } /** * Gets a reference to the parent of this object in the XML DOM Tree. If this class can have different parents in DOM, this property is initialized with the parent, if the parent is a {@link VecModuleFamilySpecification } otherwise it will be null
* Warning!: This is a readonly property! It has to be initialized during the unmarshalling process by the {@link ExtendedUnmarshaller }.
This property is consistent to the state of object model at the time of unmarshalling. It does not reflect any changes done in the object model after the unmarshalling.
* This property has no effect when the object is marshalled to xml. * */ public VecModuleFamilySpecification getParentModuleFamilySpecification() { return parentModuleFamilySpecification; } publicR accept(Visitor aVisitor) throws E { return aVisitor.visitVecModuleFamily(this); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy