com.foursoft.harness.kbl.v24.KblBSplineCurve Maven / Gradle / Ivy
Show all versions of kbl-v24 Show documentation
//
// 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: 2022.07.05 at 05:22:49 PM UTC
//
package com.foursoft.harness.kbl.v24;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
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 javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import com.foursoft.harness.kbl.v24.visitor.Visitable;
import com.foursoft.harness.kbl.v24.visitor.Visitor;
import com.foursoft.jaxb.navext.runtime.ExtendedUnmarshaller;
import com.foursoft.jaxb.navext.runtime.annotations.XmlBackReference;
import com.foursoft.jaxb.navext.runtime.annotations.XmlParent;
import com.foursoft.jaxb.navext.runtime.model.Identifiable;
import com.foursoft.jaxb.navext.runtime.model.ModifiableIdentifiable;
/**
* Java class for B_spline_curve complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="B_spline_curve">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="Degree" type="{http://www.w3.org/2001/XMLSchema}integer"/>
* <element name="Control_points" type="{http://www.w3.org/2001/XMLSchema}IDREFS"/>
* </sequence>
* <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" />
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "B_spline_curve", namespace = "http://www.prostep.org/Car_electric_container/KBL2.3/KBLSchema", propOrder = {
"degree",
"controlPoints"
})
public class KblBSplineCurve implements Serializable, Visitable, Identifiable, ModifiableIdentifiable
{
private final static long serialVersionUID = 1L;
@XmlElement(name = "Degree", required = true)
protected BigInteger degree;
/**
* ref to Cartesian_point
*
*/
@XmlList
@XmlElement(name = "Control_points", required = true, type = java.lang.Object.class)
@XmlIDREF
@XmlSchemaType(name = "IDREFS")
@XmlBackReference(destinationField = "refBSplineCurve")
protected List controlPoints;
@XmlAttribute(name = "id", required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String xmlId;
@XmlTransient
@XmlParent
private KblSegment parentSegment;
/**
* Gets the value of the degree property.
*
* @return
* possible object is
* {@link BigInteger }
*
*/
public BigInteger getDegree() {
return degree;
}
/**
* Sets the value of the degree property.
*
* @param value
* allowed object is
* {@link BigInteger }
*
*/
public void setDegree(BigInteger value) {
this.degree = value;
}
/**
* Gets the value of the xmlId property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getXmlId() {
return xmlId;
}
/**
* Sets the value of the xmlId property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setXmlId(String value) {
this.xmlId = value;
}
/**
* Gets the value of the controlPoints 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 controlPoints property.
*
*
* For example, to add a new item, do as follows:
*
* getControlPoints().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Object }
*
*
* ref to Cartesian_point
*
*/
public List getControlPoints() {
if (controlPoints == null) {
controlPoints = new ArrayList();
}
return this.controlPoints;
}
/**
* 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 KblSegment } 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 KblSegment getParentSegment() {
return parentSegment;
}
publicR accept(Visitor aVisitor)
throws E
{
return aVisitor.visitKblBSplineCurve(this);
}
public boolean beforeMarshal(Marshaller marshaller) {
if ((controlPoints!= null)&&controlPoints.isEmpty()) {
controlPoints = null;
}
return true;
}
@Override
public String toString() {
return this.getClass().getSimpleName() + "[" + this.getXmlId() + "]";
}
}