com.foursoft.vecmodel.vec113.VecPartOccurrence 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.HashSet;
import java.util.List;
import java.util.Set;
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.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 PartOccurrence is an instance of a component with a specified part number (PartVersion).
*
* Java class for PartOccurrence complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="PartOccurrence">
* <complexContent>
* <extension base="{http://www.prostep.org/ecad-if/2011/vec}OccurrenceOrUsage">
* <sequence>
* <element name="IsSecondaryAlternative" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
* <element name="AlternativeOccurrence" type="{http://www.w3.org/2001/XMLSchema}IDREFS" minOccurs="0"/>
* <element name="InstanciatedOccurrence" type="{http://www.w3.org/2001/XMLSchema}IDREFS" minOccurs="0"/>
* <element name="Part" type="{http://www.w3.org/2001/XMLSchema}IDREF" minOccurs="0"/>
* <element name="RealizedPartUsage" type="{http://www.w3.org/2001/XMLSchema}IDREF" minOccurs="0"/>
* <element name="ReferenceElement" type="{http://www.w3.org/2001/XMLSchema}IDREFS" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PartOccurrence", propOrder = {
"isSecondaryAlternative",
"alternativeOccurrence",
"instanciatedOccurrence",
"part",
"realizedPartUsage",
"referenceElement"
})
public class VecPartOccurrence
extends VecOccurrenceOrUsage
implements Serializable, Visitable
{
private final static long serialVersionUID = 1L;
/**
* If a PartUsage is realized by more than one PartOccurrence it is possible to specify which one is the preferred. (see KBLFRM-264)
*
*/
@XmlElement(name = "IsSecondaryAlternative")
protected Boolean isSecondaryAlternative;
/**
* References the PartOcurrences that are an alternative for this PartOccurrence.
*
*/
@XmlList
@XmlElement(name = "AlternativeOccurrence", type = java.lang.Object.class)
@XmlIDREF
@XmlSchemaType(name = "IDREFS")
@XmlBackReference(destinationField = "refPartOccurrence")
protected List alternativeOccurrence;
/**
* References the PartOccurrence which is instantiated by the PartOccurrence. This reference is for example needed in the case of usage of assemblies.
*
*/
@XmlList
@XmlElement(name = "InstanciatedOccurrence", type = java.lang.Object.class)
@XmlIDREF
@XmlSchemaType(name = "IDREFS")
@XmlBackReference(destinationField = "refPartOccurrence")
protected List instanciatedOccurrence;
/**
* References the PartVersion that is instantiated by this PartOccurrence.
*
*/
@XmlElement(name = "Part", type = java.lang.Object.class)
@XmlIDREF
@XmlSchemaType(name = "IDREF")
@XmlBackReference(destinationField = "refPartOccurrence")
protected VecPartVersion part;
@XmlElement(name = "RealizedPartUsage", type = java.lang.Object.class)
@XmlIDREF
@XmlSchemaType(name = "IDREF")
@XmlBackReference(destinationField = "refPartOccurrence")
protected VecPartUsage realizedPartUsage;
/**
* References the PartOcurrence for which this PartOccurrence is an accessory.
*
*/
@XmlList
@XmlElement(name = "ReferenceElement", type = java.lang.Object.class)
@XmlIDREF
@XmlSchemaType(name = "IDREFS")
@XmlBackReference(destinationField = "refPartOccurrence")
protected List referenceElement;
@XmlTransient
private Set refModuleList = new HashSet();
@XmlTransient
private Set refPartOccurrence = new HashSet();
@XmlTransient
private Set refPartStructureSpecification = new HashSet();
@XmlTransient
@XmlParent
private VecCompositionSpecification parentCompositionSpecification;
/**
* Gets the value of the isSecondaryAlternative property.
*
*
If a PartUsage is realized by more than one PartOccurrence it is possible to specify which one is the preferred. (see KBLFRM-264)
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean isIsSecondaryAlternative() {
return isSecondaryAlternative;
}
/**
* Sets the value of the isSecondaryAlternative property.
*
* @param value
* allowed object is
* {@link Boolean }
*
* @see #isIsSecondaryAlternative()
*/
public void setIsSecondaryAlternative(Boolean value) {
this.isSecondaryAlternative = value;
}
/**
* Gets the value of the part property.
*
*
References the PartVersion that is instantiated by this PartOccurrence.
*
* @return
* possible object is
* {@link Object }
*
*/
public VecPartVersion getPart() {
return part;
}
/**
* Sets the value of the part property.
*
* @param value
* allowed object is
* {@link Object }
*
* @see #getPart()
*/
public void setPart(VecPartVersion value) {
this.part = value;
}
/**
* Gets the value of the realizedPartUsage property.
*
* @return
* possible object is
* {@link Object }
*
*/
public VecPartUsage getRealizedPartUsage() {
return realizedPartUsage;
}
/**
* Sets the value of the realizedPartUsage property.
*
* @param value
* allowed object is
* {@link Object }
*
*/
public void setRealizedPartUsage(VecPartUsage value) {
this.realizedPartUsage = value;
}
/**
* Gets a {@link Set } of all {@link VecModuleList } that have a outgoing reference to this object.
* 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 Set getRefModuleList() {
return refModuleList;
}
/**
* Gets the value of the alternativeOccurrence 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 alternativeOccurrence property.
*
*
* For example, to add a new item, do as follows:
*
* getAlternativeOccurrence().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Object }
*
*
*
References the PartOcurrences that are an alternative for this PartOccurrence.
*
*/
public List getAlternativeOccurrence() {
if (alternativeOccurrence == null) {
alternativeOccurrence = new ArrayList();
}
return this.alternativeOccurrence;
}
/**
* Gets a {@link Set } of all {@link VecPartOccurrence } that have a outgoing reference to this object.
* 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 Set getRefPartOccurrence() {
return refPartOccurrence;
}
/**
* Gets the value of the instanciatedOccurrence 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 instanciatedOccurrence property.
*
*
* For example, to add a new item, do as follows:
*
* getInstanciatedOccurrence().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Object }
*
*
*
References the PartOccurrence which is instantiated by the PartOccurrence. This reference is for example needed in the case of usage of assemblies.
*
*/
public List getInstanciatedOccurrence() {
if (instanciatedOccurrence == null) {
instanciatedOccurrence = new ArrayList();
}
return this.instanciatedOccurrence;
}
/**
* Gets the value of the referenceElement 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 referenceElement property.
*
*
* For example, to add a new item, do as follows:
*
* getReferenceElement().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Object }
*
*
*
References the PartOcurrence for which this PartOccurrence is an accessory.
*
*/
public List getReferenceElement() {
if (referenceElement == null) {
referenceElement = new ArrayList();
}
return this.referenceElement;
}
/**
* Gets a {@link Set } of all {@link VecPartStructureSpecification } that have a outgoing reference to this object.
* 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 Set getRefPartStructureSpecification() {
return refPartStructureSpecification;
}
/**
* 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 VecCompositionSpecification } 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 VecCompositionSpecification getParentCompositionSpecification() {
return parentCompositionSpecification;
}
publicR accept(Visitor aVisitor)
throws E
{
return aVisitor.visitVecPartOccurrence(this);
}
}