Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.mujoco.xml.Mujoco 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.
//
package org.mujoco.xml;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.beans.VetoableChangeListener;
import java.beans.VetoableChangeSupport;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import com.kscs.util.jaxb.BoundList;
import com.kscs.util.jaxb.BoundListProxy;
import com.kscs.util.jaxb.Buildable;
import com.kscs.util.jaxb.Copyable;
import com.kscs.util.jaxb.PartialCopyable;
import com.kscs.util.jaxb.PropertyTree;
import com.kscs.util.jaxb.PropertyTreeUse;
import com.kscs.util.jaxb.PropertyVisitor;
import org.mujoco.xml.MuJoCoDefault.DefaultmainType;
import org.mujoco.xml.MuJoCoDefault.EqualityType;
import org.mujoco.xml.asset.BoneType;
import org.mujoco.xml.asset.HfieldType;
import org.mujoco.xml.asset.TextureType;
import org.mujoco.xml.attributetypes.AngleType;
import org.mujoco.xml.attributetypes.CollisionType;
import org.mujoco.xml.attributetypes.CompositetypeType;
import org.mujoco.xml.attributetypes.ConeType;
import org.mujoco.xml.attributetypes.CoordinateType;
import org.mujoco.xml.attributetypes.InertiafromgeomType;
import org.mujoco.xml.attributetypes.IntegratorType;
import org.mujoco.xml.attributetypes.JacobianType;
import org.mujoco.xml.attributetypes.SolverType;
import org.mujoco.xml.body.CompositeType;
import org.mujoco.xml.body.CompositegeomType;
import org.mujoco.xml.body.CompositejointType;
import org.mujoco.xml.body.CompositesiteType;
import org.mujoco.xml.body.PinType;
import org.mujoco.xml.compiler.CompilerType;
import org.mujoco.xml.compiler.LengthrangeType;
import org.mujoco.xml.contact.ExcludeType;
import org.mujoco.xml.custom.ElementType;
import org.mujoco.xml.custom.NumericType;
import org.mujoco.xml.custom.TextType;
import org.mujoco.xml.custom.TupleType;
import org.mujoco.xml.equality.ConnectType;
import org.mujoco.xml.equality.DistanceType;
import org.mujoco.xml.equality.WeldType;
import org.mujoco.xml.keyframe.KeyType;
import org.mujoco.xml.option.FlagType;
import org.mujoco.xml.option.OptionType;
import org.mujoco.xml.root.IncludeType;
import org.mujoco.xml.root.MujocoType;
import org.mujoco.xml.sensor.ActuatorType;
import org.mujoco.xml.sensor.FrameType;
import org.mujoco.xml.sensor.SensorType;
import org.mujoco.xml.sensor.SubtreeType;
import org.mujoco.xml.sensor.UserType;
import org.mujoco.xml.size.SizeType;
import org.mujoco.xml.statistic.StatisticType;
import org.mujoco.xml.tendon.FixedType;
import org.mujoco.xml.tendon.PulleyType;
import org.mujoco.xml.tendon.SpatialType;
import org.mujoco.xml.visual.GlobalType;
import org.mujoco.xml.visual.HeadlightType;
import org.mujoco.xml.visual.MapType;
import org.mujoco.xml.visual.QualityType;
import org.mujoco.xml.visual.RgbaType;
import org.mujoco.xml.visual.ScaleType;
/**
* Java class for anonymous complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType>
* <complexContent>
* <extension base="{root}mujocoType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="compiler">
* <complexType>
* <complexContent>
* <extension base="{compiler}compilerType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="lengthrange" type="{compiler}lengthrangeType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
* </element>
* <element name="option">
* <complexType>
* <complexContent>
* <extension base="{option}optionType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="flag" type="{option}flagType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
* </element>
* <element name="size" type="{size}sizeType"/>
* <element name="visual">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="global" type="{visual}globalType"/>
* <element name="quality" type="{visual}qualityType"/>
* <element name="headlight" type="{visual}headlightType"/>
* <element name="map" type="{visual}mapType"/>
* <element name="scale" type="{visual}scaleType"/>
* <element name="rgba" type="{visual}rgbaType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="statistic" type="{statistic}statisticType"/>
* <element name="default">
* <complexType>
* <complexContent>
* <extension base="{default}defaultmainType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="mesh" type="{default}meshType"/>
* <element name="material" type="{default}materialType"/>
* <element name="joint" type="{default}jointType"/>
* <element name="geom" type="{default}geomType"/>
* <element name="site" type="{default}siteType"/>
* <element name="camera" type="{default}cameraType"/>
* <element name="light" type="{default}lightType"/>
* <element name="pair" type="{default}pairType"/>
* <element name="equality" type="{default}equalityType"/>
* <element name="tendon" type="{default}tendonType"/>
* <element name="general" type="{default}generalType"/>
* <element name="motor" type="{default}motorType"/>
* <element name="position" type="{default}positionType"/>
* <element name="velocity" type="{default}velocityType"/>
* <element name="cylinder" type="{default}cylinderType"/>
* <element name="muscle" type="{default}muscleType"/>
* <element name="default" type="{}defaultType" minOccurs="0"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
* </element>
* <element name="custom">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="numeric" type="{custom}numericType"/>
* <element name="text" type="{custom}textType"/>
* <element name="tuple">
* <complexType>
* <complexContent>
* <extension base="{custom}tupleType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="element" type="{custom}elementType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
* </element>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="asset">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="texture" type="{asset}textureType"/>
* <element name="hfield" type="{asset}hfieldType"/>
* <element name="mesh" type="{asset}meshType"/>
* <element name="skin">
* <complexType>
* <complexContent>
* <extension base="{asset}skinType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="bone" type="{asset}boneType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
* </element>
* <element name="material" type="{asset}materialType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="worldbody">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="geom" type="{body}geomType"/>
* <element name="site" type="{body}siteType"/>
* <element name="camera" type="{body}cameraType"/>
* <element name="light" type="{body}lightType"/>
* <element name="composite">
* <complexType>
* <complexContent>
* <extension base="{body}compositeType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="joint" type="{body}compositejointType"/>
* <element name="tendon" type="{body}tendonType"/>
* <element name="geom" type="{body}compositegeomType"/>
* <element name="site" type="{body}compositesiteType"/>
* <element name="skin" type="{body}skinType"/>
* <element name="pin" type="{body}pinType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
* </element>
* <element name="body" type="{}bodyarchType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="contact">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="pair" type="{contact}pairType"/>
* <element name="exclude" type="{contact}excludeType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="equality">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="connect" type="{equality}connectType"/>
* <element name="weld" type="{equality}weldType"/>
* <element name="joint" type="{equality}jointType"/>
* <element name="tendon" type="{equality}tendonType"/>
* <element name="distance" type="{equality}distanceType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="tendon">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="spatial">
* <complexType>
* <complexContent>
* <extension base="{tendon}spatialType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="site" type="{tendon}siteType"/>
* <element name="geom" type="{tendon}geomType"/>
* <element name="pulley" type="{tendon}pulleyType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
* </element>
* <element name="fixed">
* <complexType>
* <complexContent>
* <extension base="{tendon}fixedType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="joint" type="{tendon}jointType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
* </element>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="actuator">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="general" type="{actuator}generalType"/>
* <element name="motor" type="{actuator}motorType"/>
* <element name="position" type="{actuator}positionType"/>
* <element name="velocity" type="{actuator}velocityType"/>
* <element name="cylinder" type="{actuator}cylinderType"/>
* <element name="muscle" type="{actuator}muscleType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="sensor">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="touch" type="{sensor}sensorType"/>
* <element name="accelerometer" type="{sensor}sensorType"/>
* <element name="velocimeter" type="{sensor}sensorType"/>
* <element name="gyro" type="{sensor}sensorType"/>
* <element name="force" type="{sensor}sensorType"/>
* <element name="torque" type="{sensor}sensorType"/>
* <element name="magnetometer" type="{sensor}sensorType"/>
* <element name="rangefinder" type="{sensor}sensorType"/>
* <element name="jointpos" type="{sensor}jointType"/>
* <element name="jointvel" type="{sensor}jointType"/>
* <element name="tendonpos" type="{sensor}tendonType"/>
* <element name="tendonvel" type="{sensor}tendonType"/>
* <element name="actuatorpos" type="{sensor}actuatorType"/>
* <element name="actuatorvel" type="{sensor}actuatorType"/>
* <element name="actuatorfrc" type="{sensor}actuatorType"/>
* <element name="ballquat" type="{sensor}jointType"/>
* <element name="ballangvel" type="{sensor}jointType"/>
* <element name="jointlimitpos" type="{sensor}jointType"/>
* <element name="jointlimitvel" type="{sensor}jointType"/>
* <element name="jointlimitfrc" type="{sensor}jointType"/>
* <element name="tendonlimitpos" type="{sensor}tendonType"/>
* <element name="tendonlimitvel" type="{sensor}tendonType"/>
* <element name="tendonlimitfrc" type="{sensor}tendonType"/>
* <element name="framepos" type="{sensor}frameType"/>
* <element name="framequat" type="{sensor}frameType"/>
* <element name="framexaxis" type="{sensor}frameType"/>
* <element name="frameyaxis" type="{sensor}frameType"/>
* <element name="framezaxis" type="{sensor}frameType"/>
* <element name="framelinvel" type="{sensor}frameType"/>
* <element name="frameangvel" type="{sensor}frameType"/>
* <element name="framelinacc" type="{sensor}frameType"/>
* <element name="frameangacc" type="{sensor}frameType"/>
* <element name="subtreecom" type="{sensor}subtreeType"/>
* <element name="subtreelinvel" type="{sensor}subtreeType"/>
* <element name="subtreeangmom" type="{sensor}subtreeType"/>
* <element name="user" type="{sensor}userType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="keyframe">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="key" type="{keyframe}keyType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"compilerOrOptionOrSize"
})
@XmlRootElement(name = "mujoco")
public class Mujoco
extends MujocoType
implements Cloneable, Copyable, PartialCopyable
{
@XmlElements({
@XmlElement(name = "compiler", type = Mujoco.Compiler.class),
@XmlElement(name = "option", type = Mujoco.Option.class),
@XmlElement(name = "size", type = SizeType.class),
@XmlElement(name = "visual", type = Mujoco.Visual.class),
@XmlElement(name = "statistic", type = StatisticType.class),
@XmlElement(name = "default", type = Mujoco.Default.class),
@XmlElement(name = "custom", type = Mujoco.Custom.class),
@XmlElement(name = "asset", type = Mujoco.Asset.class),
@XmlElement(name = "worldbody", type = Mujoco.Worldbody.class),
@XmlElement(name = "contact", type = Mujoco.Contact.class),
@XmlElement(name = "equality", type = Mujoco.Equality.class),
@XmlElement(name = "tendon", type = Mujoco.Tendon.class),
@XmlElement(name = "actuator", type = Mujoco.Actuator.class),
@XmlElement(name = "sensor", type = Mujoco.Sensor.class),
@XmlElement(name = "keyframe", type = Mujoco.Keyframe.class),
@XmlElement(name = "include", type = IncludeType.class)
})
protected List compilerOrOptionOrSize;
private transient BoundList compilerOrOptionOrSize__Proxy = null;
/**
* Generated by copy-constructor plugin, JAXB requires public no-arg constructor.
*
*/
public Mujoco() {
// Generated by copy-constructor plugin, JAXB requires public no-arg constructor.
}
/**
* Instantiates a Mujoco copying the state of another Mujoco
*
* @param _other
* The original Mujoco from which to copy state.
*/
public Mujoco(final Mujoco _other) {
super(_other);
this.compilerOrOptionOrSize = ((_other.compilerOrOptionOrSize == null)?null:new ArrayList(_other.compilerOrOptionOrSize));
}
/**
* Instantiates a Mujoco copying the state of another Mujoco
*
* @param _propertyTreeUse
* Meaning of the : Exclude or include members contained in property path.
* @param _propertyTree
* A restricting that defines which nodes of the source object tree should actually be copied.
* @param _other
* The original Mujoco from which to copy state.
*/
public Mujoco(final Mujoco _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
super(_other, _propertyTree, _propertyTreeUse);
final PropertyTree compilerOrOptionOrSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("compilerOrOptionOrSize"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(compilerOrOptionOrSizePropertyTree!= null):((compilerOrOptionOrSizePropertyTree == null)||(!compilerOrOptionOrSizePropertyTree.isLeaf())))) {
this.compilerOrOptionOrSize = ((_other.compilerOrOptionOrSize == null)?null:new ArrayList(_other.compilerOrOptionOrSize));
}
}
public BoundList getCompilerOrOptionOrSize() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
if (this.compilerOrOptionOrSize__Proxy == null) {
this.compilerOrOptionOrSize__Proxy = new BoundListProxy(this.compilerOrOptionOrSize);
}
return this.compilerOrOptionOrSize__Proxy;
}
@Override
public Mujoco withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) {
addVetoableChangeListener(vetoableChangeListener);
return this;
}
@Override
public Mujoco withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) {
addPropertyChangeListener(propertyChangeListener);
return this;
}
@Override
public Mujoco clone() {
final Mujoco _newObject;
_newObject = ((Mujoco) super.clone());
_newObject.compilerOrOptionOrSize = ((this.compilerOrOptionOrSize == null)?null:new ArrayList(this.compilerOrOptionOrSize));
return _newObject;
}
@Override
public Mujoco createCopy() {
final Mujoco _newObject = ((Mujoco) super.createCopy());
_newObject.compilerOrOptionOrSize = ((this.compilerOrOptionOrSize == null)?null:new ArrayList(this.compilerOrOptionOrSize));
return _newObject;
}
@Override
public Mujoco createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final Mujoco _newObject = ((Mujoco) super.createCopy(_propertyTree, _propertyTreeUse));
final PropertyTree compilerOrOptionOrSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("compilerOrOptionOrSize"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(compilerOrOptionOrSizePropertyTree!= null):((compilerOrOptionOrSizePropertyTree == null)||(!compilerOrOptionOrSizePropertyTree.isLeaf())))) {
_newObject.compilerOrOptionOrSize = ((this.compilerOrOptionOrSize == null)?null:new ArrayList(this.compilerOrOptionOrSize));
}
return _newObject;
}
@Override
public Mujoco copyExcept(final PropertyTree _propertyTree) {
return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE);
}
@Override
public Mujoco copyOnly(final PropertyTree _propertyTree) {
return createCopy(_propertyTree, PropertyTreeUse.INCLUDE);
}
/**
* Copies all state of this object to a builder. This method is used by the {@link #copyOf} method and should not be called directly by client code.
*
* @param _other
* A builder instance to which the state of this object will be copied.
*/
public<_B >void copyTo(final Mujoco.Builder<_B> _other) {
super.copyTo(_other);
if (this.compilerOrOptionOrSize == null) {
_other.compilerOrOptionOrSize = null;
} else {
_other.compilerOrOptionOrSize = new ArrayList();
for (Object _item: this.compilerOrOptionOrSize) {
_other.compilerOrOptionOrSize.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
@Override
public<_B >Mujoco.Builder<_B> newCopyBuilder(final _B _parentBuilder) {
return new Mujoco.Builder<_B>(_parentBuilder, this, true);
}
@Override
public Mujoco.Builder newCopyBuilder() {
return newCopyBuilder(null);
}
public static Mujoco.Builder builder() {
return new Mujoco.Builder(null, null, false);
}
public static<_B >Mujoco.Builder<_B> copyOf(final MujocoType _other) {
final Mujoco.Builder<_B> _newBuilder = new Mujoco.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder);
return _newBuilder;
}
public static<_B >Mujoco.Builder<_B> copyOf(final Mujoco _other) {
final Mujoco.Builder<_B> _newBuilder = new Mujoco.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder);
return _newBuilder;
}
/**
* Copies all state of this object to a builder. This method is used by the {@link #copyOf} method and should not be called directly by client code.
*
* @param _other
* A builder instance to which the state of this object will be copied.
*/
public<_B >void copyTo(final Mujoco.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
super.copyTo(_other, _propertyTree, _propertyTreeUse);
final PropertyTree compilerOrOptionOrSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("compilerOrOptionOrSize"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(compilerOrOptionOrSizePropertyTree!= null):((compilerOrOptionOrSizePropertyTree == null)||(!compilerOrOptionOrSizePropertyTree.isLeaf())))) {
if (this.compilerOrOptionOrSize == null) {
_other.compilerOrOptionOrSize = null;
} else {
_other.compilerOrOptionOrSize = new ArrayList();
for (Object _item: this.compilerOrOptionOrSize) {
_other.compilerOrOptionOrSize.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
@Override
public<_B >Mujoco.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
return new Mujoco.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse);
}
@Override
public Mujoco.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
return newCopyBuilder(null, _propertyTree, _propertyTreeUse);
}
public static<_B >Mujoco.Builder<_B> copyOf(final MujocoType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final Mujoco.Builder<_B> _newBuilder = new Mujoco.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse);
return _newBuilder;
}
public static<_B >Mujoco.Builder<_B> copyOf(final Mujoco _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final Mujoco.Builder<_B> _newBuilder = new Mujoco.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse);
return _newBuilder;
}
public static Mujoco.Builder copyExcept(final MujocoType _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE);
}
public static Mujoco.Builder copyExcept(final Mujoco _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE);
}
public static Mujoco.Builder copyOnly(final MujocoType _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE);
}
public static Mujoco.Builder copyOnly(final Mujoco _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE);
}
public Mujoco visit(final PropertyVisitor _visitor_) {
super.visit(_visitor_);
return this;
}
/**
* Java class for anonymous complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="general" type="{actuator}generalType"/>
* <element name="motor" type="{actuator}motorType"/>
* <element name="position" type="{actuator}positionType"/>
* <element name="velocity" type="{actuator}velocityType"/>
* <element name="cylinder" type="{actuator}cylinderType"/>
* <element name="muscle" type="{actuator}muscleType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"generalOrMotorOrPosition"
})
public static class Actuator implements Cloneable, Copyable, PartialCopyable
{
@XmlElements({
@XmlElement(name = "general", type = org.mujoco.xml.actuator.GeneralType.class),
@XmlElement(name = "motor", type = org.mujoco.xml.actuator.MotorType.class),
@XmlElement(name = "position", type = org.mujoco.xml.actuator.PositionType.class),
@XmlElement(name = "velocity", type = org.mujoco.xml.actuator.VelocityType.class),
@XmlElement(name = "cylinder", type = org.mujoco.xml.actuator.CylinderType.class),
@XmlElement(name = "muscle", type = org.mujoco.xml.actuator.MuscleType.class),
@XmlElement(name = "include", type = IncludeType.class)
})
protected List generalOrMotorOrPosition;
private transient BoundList generalOrMotorOrPosition__Proxy = null;
protected final transient VetoableChangeSupport vetoableChange__Support = new VetoableChangeSupport(this);
protected final transient PropertyChangeSupport propertyChange__Support = new PropertyChangeSupport(this);
/**
* Generated by copy-constructor plugin, JAXB requires public no-arg constructor.
*
*/
public Actuator() {
// Generated by copy-constructor plugin, JAXB requires public no-arg constructor.
}
/**
* Instantiates a Actuator copying the state of another Actuator
*
* @param _other
* The original Actuator from which to copy state.
*/
public Actuator(final Mujoco.Actuator _other) {
this.generalOrMotorOrPosition = ((_other.generalOrMotorOrPosition == null)?null:new ArrayList(_other.generalOrMotorOrPosition));
}
/**
* Instantiates a Actuator copying the state of another Actuator
*
* @param _propertyTreeUse
* Meaning of the : Exclude or include members contained in property path.
* @param _propertyTree
* A restricting that defines which nodes of the source object tree should actually be copied.
* @param _other
* The original Actuator from which to copy state.
*/
public Actuator(final Mujoco.Actuator _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final PropertyTree generalOrMotorOrPositionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("generalOrMotorOrPosition"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(generalOrMotorOrPositionPropertyTree!= null):((generalOrMotorOrPositionPropertyTree == null)||(!generalOrMotorOrPositionPropertyTree.isLeaf())))) {
this.generalOrMotorOrPosition = ((_other.generalOrMotorOrPosition == null)?null:new ArrayList(_other.generalOrMotorOrPosition));
}
}
public BoundList getGeneralOrMotorOrPosition() {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
if (this.generalOrMotorOrPosition__Proxy == null) {
this.generalOrMotorOrPosition__Proxy = new BoundListProxy(this.generalOrMotorOrPosition);
}
return this.generalOrMotorOrPosition__Proxy;
}
public void addVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) {
this.vetoableChange__Support.addVetoableChangeListener(vetoableChangeListener);
}
public void removeVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) {
this.vetoableChange__Support.removeVetoableChangeListener(vetoableChangeListener);
}
public Mujoco.Actuator withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) {
addVetoableChangeListener(vetoableChangeListener);
return this;
}
public void addPropertyChangeListener(final PropertyChangeListener propertyChangeListener) {
this.propertyChange__Support.addPropertyChangeListener(propertyChangeListener);
}
public void removePropertyChangeListener(final PropertyChangeListener propertyChangeListener) {
this.propertyChange__Support.removePropertyChangeListener(propertyChangeListener);
}
public Mujoco.Actuator withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) {
addPropertyChangeListener(propertyChangeListener);
return this;
}
@Override
public Mujoco.Actuator clone() {
final Mujoco.Actuator _newObject;
try {
_newObject = ((Mujoco.Actuator) super.clone());
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
_newObject.generalOrMotorOrPosition = ((this.generalOrMotorOrPosition == null)?null:new ArrayList(this.generalOrMotorOrPosition));
return _newObject;
}
@Override
public Mujoco.Actuator createCopy() {
final Mujoco.Actuator _newObject;
try {
_newObject = ((Mujoco.Actuator) super.clone());
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
_newObject.generalOrMotorOrPosition = ((this.generalOrMotorOrPosition == null)?null:new ArrayList(this.generalOrMotorOrPosition));
return _newObject;
}
@Override
public Mujoco.Actuator createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final Mujoco.Actuator _newObject;
try {
_newObject = ((Mujoco.Actuator) super.clone());
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
final PropertyTree generalOrMotorOrPositionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("generalOrMotorOrPosition"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(generalOrMotorOrPositionPropertyTree!= null):((generalOrMotorOrPositionPropertyTree == null)||(!generalOrMotorOrPositionPropertyTree.isLeaf())))) {
_newObject.generalOrMotorOrPosition = ((this.generalOrMotorOrPosition == null)?null:new ArrayList(this.generalOrMotorOrPosition));
}
return _newObject;
}
@Override
public Mujoco.Actuator copyExcept(final PropertyTree _propertyTree) {
return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE);
}
@Override
public Mujoco.Actuator copyOnly(final PropertyTree _propertyTree) {
return createCopy(_propertyTree, PropertyTreeUse.INCLUDE);
}
/**
* Copies all state of this object to a builder. This method is used by the {@link #copyOf} method and should not be called directly by client code.
*
* @param _other
* A builder instance to which the state of this object will be copied.
*/
public<_B >void copyTo(final Mujoco.Actuator.Builder<_B> _other) {
if (this.generalOrMotorOrPosition == null) {
_other.generalOrMotorOrPosition = null;
} else {
_other.generalOrMotorOrPosition = new ArrayList();
for (Object _item: this.generalOrMotorOrPosition) {
_other.generalOrMotorOrPosition.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
public<_B >Mujoco.Actuator.Builder<_B> newCopyBuilder(final _B _parentBuilder) {
return new Mujoco.Actuator.Builder<_B>(_parentBuilder, this, true);
}
public Mujoco.Actuator.Builder newCopyBuilder() {
return newCopyBuilder(null);
}
public static Mujoco.Actuator.Builder builder() {
return new Mujoco.Actuator.Builder(null, null, false);
}
public static<_B >Mujoco.Actuator.Builder<_B> copyOf(final Mujoco.Actuator _other) {
final Mujoco.Actuator.Builder<_B> _newBuilder = new Mujoco.Actuator.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder);
return _newBuilder;
}
/**
* Copies all state of this object to a builder. This method is used by the {@link #copyOf} method and should not be called directly by client code.
*
* @param _other
* A builder instance to which the state of this object will be copied.
*/
public<_B >void copyTo(final Mujoco.Actuator.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final PropertyTree generalOrMotorOrPositionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("generalOrMotorOrPosition"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(generalOrMotorOrPositionPropertyTree!= null):((generalOrMotorOrPositionPropertyTree == null)||(!generalOrMotorOrPositionPropertyTree.isLeaf())))) {
if (this.generalOrMotorOrPosition == null) {
_other.generalOrMotorOrPosition = null;
} else {
_other.generalOrMotorOrPosition = new ArrayList();
for (Object _item: this.generalOrMotorOrPosition) {
_other.generalOrMotorOrPosition.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
public<_B >Mujoco.Actuator.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
return new Mujoco.Actuator.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse);
}
public Mujoco.Actuator.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
return newCopyBuilder(null, _propertyTree, _propertyTreeUse);
}
public static<_B >Mujoco.Actuator.Builder<_B> copyOf(final Mujoco.Actuator _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final Mujoco.Actuator.Builder<_B> _newBuilder = new Mujoco.Actuator.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse);
return _newBuilder;
}
public static Mujoco.Actuator.Builder copyExcept(final Mujoco.Actuator _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE);
}
public static Mujoco.Actuator.Builder copyOnly(final Mujoco.Actuator _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE);
}
public Mujoco.Actuator visit(final PropertyVisitor _visitor_) {
_visitor_.visit(this);
return this;
}
public static class Builder<_B >implements Buildable
{
protected final _B _parentBuilder;
private List generalOrMotorOrPosition;
public Builder(final _B _parentBuilder, final Mujoco.Actuator _other, final boolean _copy) {
this._parentBuilder = _parentBuilder;
if (_other!= null) {
if (_other.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = null;
} else {
this.generalOrMotorOrPosition = new ArrayList();
for (Object _item: _other.generalOrMotorOrPosition) {
this.generalOrMotorOrPosition.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
public Builder(final _B _parentBuilder, final Mujoco.Actuator _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
this._parentBuilder = _parentBuilder;
if (_other!= null) {
final PropertyTree generalOrMotorOrPositionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("generalOrMotorOrPosition"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(generalOrMotorOrPositionPropertyTree!= null):((generalOrMotorOrPositionPropertyTree == null)||(!generalOrMotorOrPositionPropertyTree.isLeaf())))) {
if (_other.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = null;
} else {
this.generalOrMotorOrPosition = new ArrayList();
for (Object _item: _other.generalOrMotorOrPosition) {
this.generalOrMotorOrPosition.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
}
public _B end() {
return this._parentBuilder;
}
protected<_P extends Mujoco.Actuator >_P init(final _P _product) {
if (this.generalOrMotorOrPosition!= null) {
final List generalOrMotorOrPosition = new ArrayList(this.generalOrMotorOrPosition.size());
for (Buildable _item: this.generalOrMotorOrPosition) {
generalOrMotorOrPosition.add(((Object) _item.build()));
}
_product.generalOrMotorOrPosition = generalOrMotorOrPosition;
}
return _product;
}
/**
* Adds the given items to the value of "generalOrMotorOrPosition"
*
* @param generalOrMotorOrPosition
* Items to add to the value of the "generalOrMotorOrPosition" property
*/
public Mujoco.Actuator.Builder<_B> addGeneralOrMotorOrPosition(final Iterable> generalOrMotorOrPosition) {
if (generalOrMotorOrPosition!= null) {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
for (Object _item: generalOrMotorOrPosition) {
this.generalOrMotorOrPosition.add(new Buildable.PrimitiveBuildable(_item));
}
}
return this;
}
/**
* Sets the new value of "generalOrMotorOrPosition" (any previous value will be replaced)
*
* @param generalOrMotorOrPosition
* New value of the "generalOrMotorOrPosition" property.
*/
public Mujoco.Actuator.Builder<_B> withGeneralOrMotorOrPosition(final Iterable> generalOrMotorOrPosition) {
if (this.generalOrMotorOrPosition!= null) {
this.generalOrMotorOrPosition.clear();
}
return addGeneralOrMotorOrPosition(generalOrMotorOrPosition);
}
/**
* Adds the given items to the value of "generalOrMotorOrPosition"
*
* @param generalOrMotorOrPosition
* Items to add to the value of the "generalOrMotorOrPosition" property
*/
public Mujoco.Actuator.Builder<_B> addGeneralOrMotorOrPosition(Object... generalOrMotorOrPosition) {
addGeneralOrMotorOrPosition(Arrays.asList(generalOrMotorOrPosition));
return this;
}
/**
* Sets the new value of "generalOrMotorOrPosition" (any previous value will be replaced)
*
* @param generalOrMotorOrPosition
* New value of the "generalOrMotorOrPosition" property.
*/
public Mujoco.Actuator.Builder<_B> withGeneralOrMotorOrPosition(Object... generalOrMotorOrPosition) {
withGeneralOrMotorOrPosition(Arrays.asList(generalOrMotorOrPosition));
return this;
}
/**
* Adds the given items to the value of "general_"
*
* @param general_
* Items to add to the value of the "general_" property
*/
public Mujoco.Actuator.Builder<_B> addGeneral(final Iterable extends org.mujoco.xml.actuator.GeneralType> general_) {
if (general_!= null) {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
for (org.mujoco.xml.actuator.GeneralType _item: general_) {
this.generalOrMotorOrPosition.add(new org.mujoco.xml.actuator.GeneralType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "general_"
*
* @param general_
* Items to add to the value of the "general_" property
*/
public Mujoco.Actuator.Builder<_B> addGeneral(org.mujoco.xml.actuator.GeneralType... general_) {
return addGeneral(Arrays.asList(general_));
}
/**
* Returns a new builder to build an additional value of the "general" property.
* Use {@link org.mujoco.xml.actuator.GeneralType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "general" property.
* Use {@link org.mujoco.xml.actuator.GeneralType.Builder#end()} to return to the current builder.
*/
public org.mujoco.xml.actuator.GeneralType.Builder extends Mujoco.Actuator.Builder<_B>> addGeneral() {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
final org.mujoco.xml.actuator.GeneralType.Builder> general_Builder = new org.mujoco.xml.actuator.GeneralType.Builder>(this, null, false);
this.generalOrMotorOrPosition.add(general_Builder);
return general_Builder;
}
/**
* Adds the given items to the value of "motor_"
*
* @param motor_
* Items to add to the value of the "motor_" property
*/
public Mujoco.Actuator.Builder<_B> addMotor(final Iterable extends org.mujoco.xml.actuator.MotorType> motor_) {
if (motor_!= null) {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
for (org.mujoco.xml.actuator.MotorType _item: motor_) {
this.generalOrMotorOrPosition.add(new org.mujoco.xml.actuator.MotorType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "motor_"
*
* @param motor_
* Items to add to the value of the "motor_" property
*/
public Mujoco.Actuator.Builder<_B> addMotor(org.mujoco.xml.actuator.MotorType... motor_) {
return addMotor(Arrays.asList(motor_));
}
/**
* Returns a new builder to build an additional value of the "motor" property.
* Use {@link org.mujoco.xml.actuator.MotorType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "motor" property.
* Use {@link org.mujoco.xml.actuator.MotorType.Builder#end()} to return to the current builder.
*/
public org.mujoco.xml.actuator.MotorType.Builder extends Mujoco.Actuator.Builder<_B>> addMotor() {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
final org.mujoco.xml.actuator.MotorType.Builder> motor_Builder = new org.mujoco.xml.actuator.MotorType.Builder>(this, null, false);
this.generalOrMotorOrPosition.add(motor_Builder);
return motor_Builder;
}
/**
* Adds the given items to the value of "position_"
*
* @param position_
* Items to add to the value of the "position_" property
*/
public Mujoco.Actuator.Builder<_B> addPosition(final Iterable extends org.mujoco.xml.actuator.PositionType> position_) {
if (position_!= null) {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
for (org.mujoco.xml.actuator.PositionType _item: position_) {
this.generalOrMotorOrPosition.add(new org.mujoco.xml.actuator.PositionType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "position_"
*
* @param position_
* Items to add to the value of the "position_" property
*/
public Mujoco.Actuator.Builder<_B> addPosition(org.mujoco.xml.actuator.PositionType... position_) {
return addPosition(Arrays.asList(position_));
}
/**
* Returns a new builder to build an additional value of the "position" property.
* Use {@link org.mujoco.xml.actuator.PositionType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "position" property.
* Use {@link org.mujoco.xml.actuator.PositionType.Builder#end()} to return to the current builder.
*/
public org.mujoco.xml.actuator.PositionType.Builder extends Mujoco.Actuator.Builder<_B>> addPosition() {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
final org.mujoco.xml.actuator.PositionType.Builder> position_Builder = new org.mujoco.xml.actuator.PositionType.Builder>(this, null, false);
this.generalOrMotorOrPosition.add(position_Builder);
return position_Builder;
}
/**
* Adds the given items to the value of "velocity_"
*
* @param velocity_
* Items to add to the value of the "velocity_" property
*/
public Mujoco.Actuator.Builder<_B> addVelocity(final Iterable extends org.mujoco.xml.actuator.VelocityType> velocity_) {
if (velocity_!= null) {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
for (org.mujoco.xml.actuator.VelocityType _item: velocity_) {
this.generalOrMotorOrPosition.add(new org.mujoco.xml.actuator.VelocityType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "velocity_"
*
* @param velocity_
* Items to add to the value of the "velocity_" property
*/
public Mujoco.Actuator.Builder<_B> addVelocity(org.mujoco.xml.actuator.VelocityType... velocity_) {
return addVelocity(Arrays.asList(velocity_));
}
/**
* Returns a new builder to build an additional value of the "velocity" property.
* Use {@link org.mujoco.xml.actuator.VelocityType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "velocity" property.
* Use {@link org.mujoco.xml.actuator.VelocityType.Builder#end()} to return to the current builder.
*/
public org.mujoco.xml.actuator.VelocityType.Builder extends Mujoco.Actuator.Builder<_B>> addVelocity() {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
final org.mujoco.xml.actuator.VelocityType.Builder> velocity_Builder = new org.mujoco.xml.actuator.VelocityType.Builder>(this, null, false);
this.generalOrMotorOrPosition.add(velocity_Builder);
return velocity_Builder;
}
/**
* Adds the given items to the value of "cylinder_"
*
* @param cylinder_
* Items to add to the value of the "cylinder_" property
*/
public Mujoco.Actuator.Builder<_B> addCylinder(final Iterable extends org.mujoco.xml.actuator.CylinderType> cylinder_) {
if (cylinder_!= null) {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
for (org.mujoco.xml.actuator.CylinderType _item: cylinder_) {
this.generalOrMotorOrPosition.add(new org.mujoco.xml.actuator.CylinderType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "cylinder_"
*
* @param cylinder_
* Items to add to the value of the "cylinder_" property
*/
public Mujoco.Actuator.Builder<_B> addCylinder(org.mujoco.xml.actuator.CylinderType... cylinder_) {
return addCylinder(Arrays.asList(cylinder_));
}
/**
* Returns a new builder to build an additional value of the "cylinder" property.
* Use {@link org.mujoco.xml.actuator.CylinderType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "cylinder" property.
* Use {@link org.mujoco.xml.actuator.CylinderType.Builder#end()} to return to the current builder.
*/
public org.mujoco.xml.actuator.CylinderType.Builder extends Mujoco.Actuator.Builder<_B>> addCylinder() {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
final org.mujoco.xml.actuator.CylinderType.Builder> cylinder_Builder = new org.mujoco.xml.actuator.CylinderType.Builder>(this, null, false);
this.generalOrMotorOrPosition.add(cylinder_Builder);
return cylinder_Builder;
}
/**
* Adds the given items to the value of "muscle_"
*
* @param muscle_
* Items to add to the value of the "muscle_" property
*/
public Mujoco.Actuator.Builder<_B> addMuscle(final Iterable extends org.mujoco.xml.actuator.MuscleType> muscle_) {
if (muscle_!= null) {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
for (org.mujoco.xml.actuator.MuscleType _item: muscle_) {
this.generalOrMotorOrPosition.add(new org.mujoco.xml.actuator.MuscleType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "muscle_"
*
* @param muscle_
* Items to add to the value of the "muscle_" property
*/
public Mujoco.Actuator.Builder<_B> addMuscle(org.mujoco.xml.actuator.MuscleType... muscle_) {
return addMuscle(Arrays.asList(muscle_));
}
/**
* Returns a new builder to build an additional value of the "muscle" property.
* Use {@link org.mujoco.xml.actuator.MuscleType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "muscle" property.
* Use {@link org.mujoco.xml.actuator.MuscleType.Builder#end()} to return to the current builder.
*/
public org.mujoco.xml.actuator.MuscleType.Builder extends Mujoco.Actuator.Builder<_B>> addMuscle() {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
final org.mujoco.xml.actuator.MuscleType.Builder> muscle_Builder = new org.mujoco.xml.actuator.MuscleType.Builder>(this, null, false);
this.generalOrMotorOrPosition.add(muscle_Builder);
return muscle_Builder;
}
/**
* Adds the given items to the value of "include_"
*
* @param include_
* Items to add to the value of the "include_" property
*/
public Mujoco.Actuator.Builder<_B> addInclude(final Iterable extends IncludeType> include_) {
if (include_!= null) {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
for (IncludeType _item: include_) {
this.generalOrMotorOrPosition.add(new IncludeType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "include_"
*
* @param include_
* Items to add to the value of the "include_" property
*/
public Mujoco.Actuator.Builder<_B> addInclude(IncludeType... include_) {
return addInclude(Arrays.asList(include_));
}
/**
* Returns a new builder to build an additional value of the "include" property.
* Use {@link org.mujoco.xml.root.IncludeType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "include" property.
* Use {@link org.mujoco.xml.root.IncludeType.Builder#end()} to return to the current builder.
*/
public IncludeType.Builder extends Mujoco.Actuator.Builder<_B>> addInclude() {
if (this.generalOrMotorOrPosition == null) {
this.generalOrMotorOrPosition = new ArrayList();
}
final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false);
this.generalOrMotorOrPosition.add(include_Builder);
return include_Builder;
}
@Override
public Mujoco.Actuator build() {
return this.init(new Mujoco.Actuator());
}
public Mujoco.Actuator.Builder<_B> copyOf(final Mujoco.Actuator _other) {
_other.copyTo(this);
return this;
}
public Mujoco.Actuator.Builder<_B> copyOf(final Mujoco.Actuator.Builder _other) {
return copyOf(_other.build());
}
}
public static class PropInfo {
public final static transient String GENERAL_OR_MOTOR_OR_POSITION = "generalOrMotorOrPosition";
}
public static class Select
extends Mujoco.Actuator.Selector
{
Select() {
super(null, null, null);
}
public static Mujoco.Actuator.Select _root() {
return new Mujoco.Actuator.Select();
}
}
public static class Selector , TParent >
extends com.kscs.util.jaxb.Selector
{
private com.kscs.util.jaxb.Selector> generalOrMotorOrPosition = null;
public Selector(final TRoot root, final TParent parent, final String propertyName) {
super(root, parent, propertyName);
}
@Override
public Map buildChildren() {
final Map products = new HashMap();
products.putAll(super.buildChildren());
if (this.generalOrMotorOrPosition!= null) {
products.put("generalOrMotorOrPosition", this.generalOrMotorOrPosition.init());
}
return products;
}
public com.kscs.util.jaxb.Selector> generalOrMotorOrPosition() {
return ((this.generalOrMotorOrPosition == null)?this.generalOrMotorOrPosition = new com.kscs.util.jaxb.Selector>(this._root, this, "generalOrMotorOrPosition"):this.generalOrMotorOrPosition);
}
}
}
/**
* Java class for anonymous complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="texture" type="{asset}textureType"/>
* <element name="hfield" type="{asset}hfieldType"/>
* <element name="mesh" type="{asset}meshType"/>
* <element name="skin">
* <complexType>
* <complexContent>
* <extension base="{asset}skinType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="bone" type="{asset}boneType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
* </element>
* <element name="material" type="{asset}materialType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"textureOrHfieldOrMesh"
})
public static class Asset implements Cloneable, Copyable, PartialCopyable
{
@XmlElements({
@XmlElement(name = "texture", type = TextureType.class),
@XmlElement(name = "hfield", type = HfieldType.class),
@XmlElement(name = "mesh", type = org.mujoco.xml.asset.MeshType.class),
@XmlElement(name = "skin", type = Mujoco.Asset.Skin.class),
@XmlElement(name = "material", type = org.mujoco.xml.asset.MaterialType.class),
@XmlElement(name = "include", type = IncludeType.class)
})
protected List textureOrHfieldOrMesh;
private transient BoundList textureOrHfieldOrMesh__Proxy = null;
protected final transient VetoableChangeSupport vetoableChange__Support = new VetoableChangeSupport(this);
protected final transient PropertyChangeSupport propertyChange__Support = new PropertyChangeSupport(this);
/**
* Generated by copy-constructor plugin, JAXB requires public no-arg constructor.
*
*/
public Asset() {
// Generated by copy-constructor plugin, JAXB requires public no-arg constructor.
}
/**
* Instantiates a Asset copying the state of another Asset
*
* @param _other
* The original Asset from which to copy state.
*/
public Asset(final Mujoco.Asset _other) {
this.textureOrHfieldOrMesh = ((_other.textureOrHfieldOrMesh == null)?null:new ArrayList(_other.textureOrHfieldOrMesh));
}
/**
* Instantiates a Asset copying the state of another Asset
*
* @param _propertyTreeUse
* Meaning of the : Exclude or include members contained in property path.
* @param _propertyTree
* A restricting that defines which nodes of the source object tree should actually be copied.
* @param _other
* The original Asset from which to copy state.
*/
public Asset(final Mujoco.Asset _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final PropertyTree textureOrHfieldOrMeshPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("textureOrHfieldOrMesh"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(textureOrHfieldOrMeshPropertyTree!= null):((textureOrHfieldOrMeshPropertyTree == null)||(!textureOrHfieldOrMeshPropertyTree.isLeaf())))) {
this.textureOrHfieldOrMesh = ((_other.textureOrHfieldOrMesh == null)?null:new ArrayList(_other.textureOrHfieldOrMesh));
}
}
public BoundList getTextureOrHfieldOrMesh() {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
if (this.textureOrHfieldOrMesh__Proxy == null) {
this.textureOrHfieldOrMesh__Proxy = new BoundListProxy(this.textureOrHfieldOrMesh);
}
return this.textureOrHfieldOrMesh__Proxy;
}
public void addVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) {
this.vetoableChange__Support.addVetoableChangeListener(vetoableChangeListener);
}
public void removeVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) {
this.vetoableChange__Support.removeVetoableChangeListener(vetoableChangeListener);
}
public Mujoco.Asset withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) {
addVetoableChangeListener(vetoableChangeListener);
return this;
}
public void addPropertyChangeListener(final PropertyChangeListener propertyChangeListener) {
this.propertyChange__Support.addPropertyChangeListener(propertyChangeListener);
}
public void removePropertyChangeListener(final PropertyChangeListener propertyChangeListener) {
this.propertyChange__Support.removePropertyChangeListener(propertyChangeListener);
}
public Mujoco.Asset withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) {
addPropertyChangeListener(propertyChangeListener);
return this;
}
@Override
public Mujoco.Asset clone() {
final Mujoco.Asset _newObject;
try {
_newObject = ((Mujoco.Asset) super.clone());
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
_newObject.textureOrHfieldOrMesh = ((this.textureOrHfieldOrMesh == null)?null:new ArrayList(this.textureOrHfieldOrMesh));
return _newObject;
}
@Override
public Mujoco.Asset createCopy() {
final Mujoco.Asset _newObject;
try {
_newObject = ((Mujoco.Asset) super.clone());
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
_newObject.textureOrHfieldOrMesh = ((this.textureOrHfieldOrMesh == null)?null:new ArrayList(this.textureOrHfieldOrMesh));
return _newObject;
}
@Override
public Mujoco.Asset createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final Mujoco.Asset _newObject;
try {
_newObject = ((Mujoco.Asset) super.clone());
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
final PropertyTree textureOrHfieldOrMeshPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("textureOrHfieldOrMesh"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(textureOrHfieldOrMeshPropertyTree!= null):((textureOrHfieldOrMeshPropertyTree == null)||(!textureOrHfieldOrMeshPropertyTree.isLeaf())))) {
_newObject.textureOrHfieldOrMesh = ((this.textureOrHfieldOrMesh == null)?null:new ArrayList(this.textureOrHfieldOrMesh));
}
return _newObject;
}
@Override
public Mujoco.Asset copyExcept(final PropertyTree _propertyTree) {
return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE);
}
@Override
public Mujoco.Asset copyOnly(final PropertyTree _propertyTree) {
return createCopy(_propertyTree, PropertyTreeUse.INCLUDE);
}
/**
* Copies all state of this object to a builder. This method is used by the {@link #copyOf} method and should not be called directly by client code.
*
* @param _other
* A builder instance to which the state of this object will be copied.
*/
public<_B >void copyTo(final Mujoco.Asset.Builder<_B> _other) {
if (this.textureOrHfieldOrMesh == null) {
_other.textureOrHfieldOrMesh = null;
} else {
_other.textureOrHfieldOrMesh = new ArrayList();
for (Object _item: this.textureOrHfieldOrMesh) {
_other.textureOrHfieldOrMesh.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
public<_B >Mujoco.Asset.Builder<_B> newCopyBuilder(final _B _parentBuilder) {
return new Mujoco.Asset.Builder<_B>(_parentBuilder, this, true);
}
public Mujoco.Asset.Builder newCopyBuilder() {
return newCopyBuilder(null);
}
public static Mujoco.Asset.Builder builder() {
return new Mujoco.Asset.Builder(null, null, false);
}
public static<_B >Mujoco.Asset.Builder<_B> copyOf(final Mujoco.Asset _other) {
final Mujoco.Asset.Builder<_B> _newBuilder = new Mujoco.Asset.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder);
return _newBuilder;
}
/**
* Copies all state of this object to a builder. This method is used by the {@link #copyOf} method and should not be called directly by client code.
*
* @param _other
* A builder instance to which the state of this object will be copied.
*/
public<_B >void copyTo(final Mujoco.Asset.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final PropertyTree textureOrHfieldOrMeshPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("textureOrHfieldOrMesh"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(textureOrHfieldOrMeshPropertyTree!= null):((textureOrHfieldOrMeshPropertyTree == null)||(!textureOrHfieldOrMeshPropertyTree.isLeaf())))) {
if (this.textureOrHfieldOrMesh == null) {
_other.textureOrHfieldOrMesh = null;
} else {
_other.textureOrHfieldOrMesh = new ArrayList();
for (Object _item: this.textureOrHfieldOrMesh) {
_other.textureOrHfieldOrMesh.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
public<_B >Mujoco.Asset.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
return new Mujoco.Asset.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse);
}
public Mujoco.Asset.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
return newCopyBuilder(null, _propertyTree, _propertyTreeUse);
}
public static<_B >Mujoco.Asset.Builder<_B> copyOf(final Mujoco.Asset _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final Mujoco.Asset.Builder<_B> _newBuilder = new Mujoco.Asset.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse);
return _newBuilder;
}
public static Mujoco.Asset.Builder copyExcept(final Mujoco.Asset _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE);
}
public static Mujoco.Asset.Builder copyOnly(final Mujoco.Asset _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE);
}
public Mujoco.Asset visit(final PropertyVisitor _visitor_) {
_visitor_.visit(this);
return this;
}
public static class Builder<_B >implements Buildable
{
protected final _B _parentBuilder;
private List textureOrHfieldOrMesh;
public Builder(final _B _parentBuilder, final Mujoco.Asset _other, final boolean _copy) {
this._parentBuilder = _parentBuilder;
if (_other!= null) {
if (_other.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = null;
} else {
this.textureOrHfieldOrMesh = new ArrayList();
for (Object _item: _other.textureOrHfieldOrMesh) {
this.textureOrHfieldOrMesh.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
public Builder(final _B _parentBuilder, final Mujoco.Asset _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
this._parentBuilder = _parentBuilder;
if (_other!= null) {
final PropertyTree textureOrHfieldOrMeshPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("textureOrHfieldOrMesh"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(textureOrHfieldOrMeshPropertyTree!= null):((textureOrHfieldOrMeshPropertyTree == null)||(!textureOrHfieldOrMeshPropertyTree.isLeaf())))) {
if (_other.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = null;
} else {
this.textureOrHfieldOrMesh = new ArrayList();
for (Object _item: _other.textureOrHfieldOrMesh) {
this.textureOrHfieldOrMesh.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
}
public _B end() {
return this._parentBuilder;
}
protected<_P extends Mujoco.Asset >_P init(final _P _product) {
if (this.textureOrHfieldOrMesh!= null) {
final List textureOrHfieldOrMesh = new ArrayList(this.textureOrHfieldOrMesh.size());
for (Buildable _item: this.textureOrHfieldOrMesh) {
textureOrHfieldOrMesh.add(((Object) _item.build()));
}
_product.textureOrHfieldOrMesh = textureOrHfieldOrMesh;
}
return _product;
}
/**
* Adds the given items to the value of "textureOrHfieldOrMesh"
*
* @param textureOrHfieldOrMesh
* Items to add to the value of the "textureOrHfieldOrMesh" property
*/
public Mujoco.Asset.Builder<_B> addTextureOrHfieldOrMesh(final Iterable> textureOrHfieldOrMesh) {
if (textureOrHfieldOrMesh!= null) {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
for (Object _item: textureOrHfieldOrMesh) {
this.textureOrHfieldOrMesh.add(new Buildable.PrimitiveBuildable(_item));
}
}
return this;
}
/**
* Sets the new value of "textureOrHfieldOrMesh" (any previous value will be replaced)
*
* @param textureOrHfieldOrMesh
* New value of the "textureOrHfieldOrMesh" property.
*/
public Mujoco.Asset.Builder<_B> withTextureOrHfieldOrMesh(final Iterable> textureOrHfieldOrMesh) {
if (this.textureOrHfieldOrMesh!= null) {
this.textureOrHfieldOrMesh.clear();
}
return addTextureOrHfieldOrMesh(textureOrHfieldOrMesh);
}
/**
* Adds the given items to the value of "textureOrHfieldOrMesh"
*
* @param textureOrHfieldOrMesh
* Items to add to the value of the "textureOrHfieldOrMesh" property
*/
public Mujoco.Asset.Builder<_B> addTextureOrHfieldOrMesh(Object... textureOrHfieldOrMesh) {
addTextureOrHfieldOrMesh(Arrays.asList(textureOrHfieldOrMesh));
return this;
}
/**
* Sets the new value of "textureOrHfieldOrMesh" (any previous value will be replaced)
*
* @param textureOrHfieldOrMesh
* New value of the "textureOrHfieldOrMesh" property.
*/
public Mujoco.Asset.Builder<_B> withTextureOrHfieldOrMesh(Object... textureOrHfieldOrMesh) {
withTextureOrHfieldOrMesh(Arrays.asList(textureOrHfieldOrMesh));
return this;
}
/**
* Adds the given items to the value of "texture_"
*
* @param texture_
* Items to add to the value of the "texture_" property
*/
public Mujoco.Asset.Builder<_B> addTexture(final Iterable extends TextureType> texture_) {
if (texture_!= null) {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
for (TextureType _item: texture_) {
this.textureOrHfieldOrMesh.add(new TextureType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "texture_"
*
* @param texture_
* Items to add to the value of the "texture_" property
*/
public Mujoco.Asset.Builder<_B> addTexture(TextureType... texture_) {
return addTexture(Arrays.asList(texture_));
}
/**
* Returns a new builder to build an additional value of the "texture" property.
* Use {@link org.mujoco.xml.asset.TextureType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "texture" property.
* Use {@link org.mujoco.xml.asset.TextureType.Builder#end()} to return to the current builder.
*/
public TextureType.Builder extends Mujoco.Asset.Builder<_B>> addTexture() {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
final TextureType.Builder> texture_Builder = new TextureType.Builder>(this, null, false);
this.textureOrHfieldOrMesh.add(texture_Builder);
return texture_Builder;
}
/**
* Adds the given items to the value of "hfield_"
*
* @param hfield_
* Items to add to the value of the "hfield_" property
*/
public Mujoco.Asset.Builder<_B> addHfield(final Iterable extends HfieldType> hfield_) {
if (hfield_!= null) {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
for (HfieldType _item: hfield_) {
this.textureOrHfieldOrMesh.add(new HfieldType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "hfield_"
*
* @param hfield_
* Items to add to the value of the "hfield_" property
*/
public Mujoco.Asset.Builder<_B> addHfield(HfieldType... hfield_) {
return addHfield(Arrays.asList(hfield_));
}
/**
* Returns a new builder to build an additional value of the "hfield" property.
* Use {@link org.mujoco.xml.asset.HfieldType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "hfield" property.
* Use {@link org.mujoco.xml.asset.HfieldType.Builder#end()} to return to the current builder.
*/
public HfieldType.Builder extends Mujoco.Asset.Builder<_B>> addHfield() {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
final HfieldType.Builder> hfield_Builder = new HfieldType.Builder>(this, null, false);
this.textureOrHfieldOrMesh.add(hfield_Builder);
return hfield_Builder;
}
/**
* Adds the given items to the value of "mesh_"
*
* @param mesh_
* Items to add to the value of the "mesh_" property
*/
public Mujoco.Asset.Builder<_B> addMesh(final Iterable extends org.mujoco.xml.asset.MeshType> mesh_) {
if (mesh_!= null) {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
for (org.mujoco.xml.asset.MeshType _item: mesh_) {
this.textureOrHfieldOrMesh.add(new org.mujoco.xml.asset.MeshType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "mesh_"
*
* @param mesh_
* Items to add to the value of the "mesh_" property
*/
public Mujoco.Asset.Builder<_B> addMesh(org.mujoco.xml.asset.MeshType... mesh_) {
return addMesh(Arrays.asList(mesh_));
}
/**
* Returns a new builder to build an additional value of the "mesh" property.
* Use {@link org.mujoco.xml.asset.MeshType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "mesh" property.
* Use {@link org.mujoco.xml.asset.MeshType.Builder#end()} to return to the current builder.
*/
public org.mujoco.xml.asset.MeshType.Builder extends Mujoco.Asset.Builder<_B>> addMesh() {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
final org.mujoco.xml.asset.MeshType.Builder> mesh_Builder = new org.mujoco.xml.asset.MeshType.Builder>(this, null, false);
this.textureOrHfieldOrMesh.add(mesh_Builder);
return mesh_Builder;
}
/**
* Adds the given items to the value of "skin_"
*
* @param skin_
* Items to add to the value of the "skin_" property
*/
public Mujoco.Asset.Builder<_B> addSkin(final Iterable extends Mujoco.Asset.Skin> skin_) {
if (skin_!= null) {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
for (Mujoco.Asset.Skin _item: skin_) {
this.textureOrHfieldOrMesh.add(new Mujoco.Asset.Skin.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "skin_"
*
* @param skin_
* Items to add to the value of the "skin_" property
*/
public Mujoco.Asset.Builder<_B> addSkin(Mujoco.Asset.Skin... skin_) {
return addSkin(Arrays.asList(skin_));
}
/**
* Returns a new builder to build an additional value of the "skin" property.
* Use {@link org.mujoco.xml.Mujoco.Asset.Skin.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "skin" property.
* Use {@link org.mujoco.xml.Mujoco.Asset.Skin.Builder#end()} to return to the current builder.
*/
public Mujoco.Asset.Skin.Builder extends Mujoco.Asset.Builder<_B>> addSkin() {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
final Mujoco.Asset.Skin.Builder> skin_Builder = new Mujoco.Asset.Skin.Builder>(this, null, false);
this.textureOrHfieldOrMesh.add(skin_Builder);
return skin_Builder;
}
/**
* Adds the given items to the value of "material_"
*
* @param material_
* Items to add to the value of the "material_" property
*/
public Mujoco.Asset.Builder<_B> addMaterial(final Iterable extends org.mujoco.xml.asset.MaterialType> material_) {
if (material_!= null) {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
for (org.mujoco.xml.asset.MaterialType _item: material_) {
this.textureOrHfieldOrMesh.add(new org.mujoco.xml.asset.MaterialType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "material_"
*
* @param material_
* Items to add to the value of the "material_" property
*/
public Mujoco.Asset.Builder<_B> addMaterial(org.mujoco.xml.asset.MaterialType... material_) {
return addMaterial(Arrays.asList(material_));
}
/**
* Returns a new builder to build an additional value of the "material" property.
* Use {@link org.mujoco.xml.asset.MaterialType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "material" property.
* Use {@link org.mujoco.xml.asset.MaterialType.Builder#end()} to return to the current builder.
*/
public org.mujoco.xml.asset.MaterialType.Builder extends Mujoco.Asset.Builder<_B>> addMaterial() {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
final org.mujoco.xml.asset.MaterialType.Builder> material_Builder = new org.mujoco.xml.asset.MaterialType.Builder>(this, null, false);
this.textureOrHfieldOrMesh.add(material_Builder);
return material_Builder;
}
/**
* Adds the given items to the value of "include_"
*
* @param include_
* Items to add to the value of the "include_" property
*/
public Mujoco.Asset.Builder<_B> addInclude(final Iterable extends IncludeType> include_) {
if (include_!= null) {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
for (IncludeType _item: include_) {
this.textureOrHfieldOrMesh.add(new IncludeType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "include_"
*
* @param include_
* Items to add to the value of the "include_" property
*/
public Mujoco.Asset.Builder<_B> addInclude(IncludeType... include_) {
return addInclude(Arrays.asList(include_));
}
/**
* Returns a new builder to build an additional value of the "include" property.
* Use {@link org.mujoco.xml.root.IncludeType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "include" property.
* Use {@link org.mujoco.xml.root.IncludeType.Builder#end()} to return to the current builder.
*/
public IncludeType.Builder extends Mujoco.Asset.Builder<_B>> addInclude() {
if (this.textureOrHfieldOrMesh == null) {
this.textureOrHfieldOrMesh = new ArrayList();
}
final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false);
this.textureOrHfieldOrMesh.add(include_Builder);
return include_Builder;
}
@Override
public Mujoco.Asset build() {
return this.init(new Mujoco.Asset());
}
public Mujoco.Asset.Builder<_B> copyOf(final Mujoco.Asset _other) {
_other.copyTo(this);
return this;
}
public Mujoco.Asset.Builder<_B> copyOf(final Mujoco.Asset.Builder _other) {
return copyOf(_other.build());
}
}
public static class PropInfo {
public final static transient String TEXTURE_OR_HFIELD_OR_MESH = "textureOrHfieldOrMesh";
}
public static class Select
extends Mujoco.Asset.Selector
{
Select() {
super(null, null, null);
}
public static Mujoco.Asset.Select _root() {
return new Mujoco.Asset.Select();
}
}
public static class Selector , TParent >
extends com.kscs.util.jaxb.Selector
{
private com.kscs.util.jaxb.Selector> textureOrHfieldOrMesh = null;
public Selector(final TRoot root, final TParent parent, final String propertyName) {
super(root, parent, propertyName);
}
@Override
public Map buildChildren() {
final Map products = new HashMap();
products.putAll(super.buildChildren());
if (this.textureOrHfieldOrMesh!= null) {
products.put("textureOrHfieldOrMesh", this.textureOrHfieldOrMesh.init());
}
return products;
}
public com.kscs.util.jaxb.Selector> textureOrHfieldOrMesh() {
return ((this.textureOrHfieldOrMesh == null)?this.textureOrHfieldOrMesh = new com.kscs.util.jaxb.Selector>(this._root, this, "textureOrHfieldOrMesh"):this.textureOrHfieldOrMesh);
}
}
/**
* Java class for anonymous complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType>
* <complexContent>
* <extension base="{asset}skinType">
* <choice maxOccurs="unbounded" minOccurs="0">
* <element name="bone" type="{asset}boneType"/>
* <element name="include" type="{root}includeType"/>
* </choice>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"boneOrInclude"
})
public static class Skin
extends org.mujoco.xml.asset.SkinType
implements Cloneable, Copyable, PartialCopyable
{
@XmlElements({
@XmlElement(name = "bone", type = BoneType.class),
@XmlElement(name = "include", type = IncludeType.class)
})
protected List boneOrInclude;
private transient BoundList boneOrInclude__Proxy = null;
/**
* Generated by copy-constructor plugin, JAXB requires public no-arg constructor.
*
*/
public Skin() {
// Generated by copy-constructor plugin, JAXB requires public no-arg constructor.
}
/**
* Instantiates a Skin copying the state of another Skin
*
* @param _other
* The original Skin from which to copy state.
*/
public Skin(final Mujoco.Asset.Skin _other) {
super(_other);
this.boneOrInclude = ((_other.boneOrInclude == null)?null:new ArrayList(_other.boneOrInclude));
}
/**
* Instantiates a Skin copying the state of another Skin
*
* @param _propertyTreeUse
* Meaning of the : Exclude or include members contained in property path.
* @param _propertyTree
* A restricting that defines which nodes of the source object tree should actually be copied.
* @param _other
* The original Skin from which to copy state.
*/
public Skin(final Mujoco.Asset.Skin _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
super(_other, _propertyTree, _propertyTreeUse);
final PropertyTree boneOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("boneOrInclude"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(boneOrIncludePropertyTree!= null):((boneOrIncludePropertyTree == null)||(!boneOrIncludePropertyTree.isLeaf())))) {
this.boneOrInclude = ((_other.boneOrInclude == null)?null:new ArrayList(_other.boneOrInclude));
}
}
public BoundList getBoneOrInclude() {
if (this.boneOrInclude == null) {
this.boneOrInclude = new ArrayList();
}
if (this.boneOrInclude__Proxy == null) {
this.boneOrInclude__Proxy = new BoundListProxy(this.boneOrInclude);
}
return this.boneOrInclude__Proxy;
}
@Override
public Mujoco.Asset.Skin withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) {
addVetoableChangeListener(vetoableChangeListener);
return this;
}
@Override
public Mujoco.Asset.Skin withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) {
addPropertyChangeListener(propertyChangeListener);
return this;
}
@Override
public Mujoco.Asset.Skin clone() {
final Mujoco.Asset.Skin _newObject;
_newObject = ((Mujoco.Asset.Skin) super.clone());
_newObject.boneOrInclude = ((this.boneOrInclude == null)?null:new ArrayList(this.boneOrInclude));
return _newObject;
}
@Override
public Mujoco.Asset.Skin createCopy() {
final Mujoco.Asset.Skin _newObject = ((Mujoco.Asset.Skin) super.createCopy());
_newObject.boneOrInclude = ((this.boneOrInclude == null)?null:new ArrayList(this.boneOrInclude));
return _newObject;
}
@Override
public Mujoco.Asset.Skin createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final Mujoco.Asset.Skin _newObject = ((Mujoco.Asset.Skin) super.createCopy(_propertyTree, _propertyTreeUse));
final PropertyTree boneOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("boneOrInclude"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(boneOrIncludePropertyTree!= null):((boneOrIncludePropertyTree == null)||(!boneOrIncludePropertyTree.isLeaf())))) {
_newObject.boneOrInclude = ((this.boneOrInclude == null)?null:new ArrayList(this.boneOrInclude));
}
return _newObject;
}
@Override
public Mujoco.Asset.Skin copyExcept(final PropertyTree _propertyTree) {
return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE);
}
@Override
public Mujoco.Asset.Skin copyOnly(final PropertyTree _propertyTree) {
return createCopy(_propertyTree, PropertyTreeUse.INCLUDE);
}
/**
* Copies all state of this object to a builder. This method is used by the {@link #copyOf} method and should not be called directly by client code.
*
* @param _other
* A builder instance to which the state of this object will be copied.
*/
public<_B >void copyTo(final Mujoco.Asset.Skin.Builder<_B> _other) {
super.copyTo(_other);
if (this.boneOrInclude == null) {
_other.boneOrInclude = null;
} else {
_other.boneOrInclude = new ArrayList();
for (Object _item: this.boneOrInclude) {
_other.boneOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
@Override
public<_B >Mujoco.Asset.Skin.Builder<_B> newCopyBuilder(final _B _parentBuilder) {
return new Mujoco.Asset.Skin.Builder<_B>(_parentBuilder, this, true);
}
@Override
public Mujoco.Asset.Skin.Builder newCopyBuilder() {
return newCopyBuilder(null);
}
public static Mujoco.Asset.Skin.Builder builder() {
return new Mujoco.Asset.Skin.Builder(null, null, false);
}
public static<_B >Mujoco.Asset.Skin.Builder<_B> copyOf(final org.mujoco.xml.asset.SkinType _other) {
final Mujoco.Asset.Skin.Builder<_B> _newBuilder = new Mujoco.Asset.Skin.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder);
return _newBuilder;
}
public static<_B >Mujoco.Asset.Skin.Builder<_B> copyOf(final Mujoco.Asset.Skin _other) {
final Mujoco.Asset.Skin.Builder<_B> _newBuilder = new Mujoco.Asset.Skin.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder);
return _newBuilder;
}
/**
* Copies all state of this object to a builder. This method is used by the {@link #copyOf} method and should not be called directly by client code.
*
* @param _other
* A builder instance to which the state of this object will be copied.
*/
public<_B >void copyTo(final Mujoco.Asset.Skin.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
super.copyTo(_other, _propertyTree, _propertyTreeUse);
final PropertyTree boneOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("boneOrInclude"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(boneOrIncludePropertyTree!= null):((boneOrIncludePropertyTree == null)||(!boneOrIncludePropertyTree.isLeaf())))) {
if (this.boneOrInclude == null) {
_other.boneOrInclude = null;
} else {
_other.boneOrInclude = new ArrayList();
for (Object _item: this.boneOrInclude) {
_other.boneOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
@Override
public<_B >Mujoco.Asset.Skin.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
return new Mujoco.Asset.Skin.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse);
}
@Override
public Mujoco.Asset.Skin.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
return newCopyBuilder(null, _propertyTree, _propertyTreeUse);
}
public static<_B >Mujoco.Asset.Skin.Builder<_B> copyOf(final org.mujoco.xml.asset.SkinType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final Mujoco.Asset.Skin.Builder<_B> _newBuilder = new Mujoco.Asset.Skin.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse);
return _newBuilder;
}
public static<_B >Mujoco.Asset.Skin.Builder<_B> copyOf(final Mujoco.Asset.Skin _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
final Mujoco.Asset.Skin.Builder<_B> _newBuilder = new Mujoco.Asset.Skin.Builder<_B>(null, null, false);
_other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse);
return _newBuilder;
}
public static Mujoco.Asset.Skin.Builder copyExcept(final org.mujoco.xml.asset.SkinType _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE);
}
public static Mujoco.Asset.Skin.Builder copyExcept(final Mujoco.Asset.Skin _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE);
}
public static Mujoco.Asset.Skin.Builder copyOnly(final org.mujoco.xml.asset.SkinType _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE);
}
public static Mujoco.Asset.Skin.Builder copyOnly(final Mujoco.Asset.Skin _other, final PropertyTree _propertyTree) {
return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE);
}
public Mujoco.Asset.Skin visit(final PropertyVisitor _visitor_) {
super.visit(_visitor_);
return this;
}
public static class Builder<_B >
extends org.mujoco.xml.asset.SkinType.Builder<_B>
implements Buildable
{
private List boneOrInclude;
public Builder(final _B _parentBuilder, final Mujoco.Asset.Skin _other, final boolean _copy) {
super(_parentBuilder, _other, _copy);
if (_other!= null) {
if (_other.boneOrInclude == null) {
this.boneOrInclude = null;
} else {
this.boneOrInclude = new ArrayList();
for (Object _item: _other.boneOrInclude) {
this.boneOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
public Builder(final _B _parentBuilder, final Mujoco.Asset.Skin _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse);
if (_other!= null) {
final PropertyTree boneOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("boneOrInclude"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(boneOrIncludePropertyTree!= null):((boneOrIncludePropertyTree == null)||(!boneOrIncludePropertyTree.isLeaf())))) {
if (_other.boneOrInclude == null) {
this.boneOrInclude = null;
} else {
this.boneOrInclude = new ArrayList();
for (Object _item: _other.boneOrInclude) {
this.boneOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
}
protected<_P extends Mujoco.Asset.Skin >_P init(final _P _product) {
if (this.boneOrInclude!= null) {
final List boneOrInclude = new ArrayList(this.boneOrInclude.size());
for (Buildable _item: this.boneOrInclude) {
boneOrInclude.add(((Object) _item.build()));
}
_product.boneOrInclude = boneOrInclude;
}
return super.init(_product);
}
/**
* Adds the given items to the value of "boneOrInclude"
*
* @param boneOrInclude
* Items to add to the value of the "boneOrInclude" property
*/
public Mujoco.Asset.Skin.Builder<_B> addBoneOrInclude(final Iterable> boneOrInclude) {
if (boneOrInclude!= null) {
if (this.boneOrInclude == null) {
this.boneOrInclude = new ArrayList();
}
for (Object _item: boneOrInclude) {
this.boneOrInclude.add(new Buildable.PrimitiveBuildable(_item));
}
}
return this;
}
/**
* Sets the new value of "boneOrInclude" (any previous value will be replaced)
*
* @param boneOrInclude
* New value of the "boneOrInclude" property.
*/
public Mujoco.Asset.Skin.Builder<_B> withBoneOrInclude(final Iterable> boneOrInclude) {
if (this.boneOrInclude!= null) {
this.boneOrInclude.clear();
}
return addBoneOrInclude(boneOrInclude);
}
/**
* Adds the given items to the value of "boneOrInclude"
*
* @param boneOrInclude
* Items to add to the value of the "boneOrInclude" property
*/
public Mujoco.Asset.Skin.Builder<_B> addBoneOrInclude(Object... boneOrInclude) {
addBoneOrInclude(Arrays.asList(boneOrInclude));
return this;
}
/**
* Sets the new value of "boneOrInclude" (any previous value will be replaced)
*
* @param boneOrInclude
* New value of the "boneOrInclude" property.
*/
public Mujoco.Asset.Skin.Builder<_B> withBoneOrInclude(Object... boneOrInclude) {
withBoneOrInclude(Arrays.asList(boneOrInclude));
return this;
}
/**
* Adds the given items to the value of "bone_"
*
* @param bone_
* Items to add to the value of the "bone_" property
*/
public Mujoco.Asset.Skin.Builder<_B> addBone(final Iterable extends BoneType> bone_) {
if (bone_!= null) {
if (this.boneOrInclude == null) {
this.boneOrInclude = new ArrayList();
}
for (BoneType _item: bone_) {
this.boneOrInclude.add(new BoneType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "bone_"
*
* @param bone_
* Items to add to the value of the "bone_" property
*/
public Mujoco.Asset.Skin.Builder<_B> addBone(BoneType... bone_) {
return addBone(Arrays.asList(bone_));
}
/**
* Returns a new builder to build an additional value of the "bone" property.
* Use {@link org.mujoco.xml.asset.BoneType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "bone" property.
* Use {@link org.mujoco.xml.asset.BoneType.Builder#end()} to return to the current builder.
*/
public BoneType.Builder extends Mujoco.Asset.Skin.Builder<_B>> addBone() {
if (this.boneOrInclude == null) {
this.boneOrInclude = new ArrayList();
}
final BoneType.Builder> bone_Builder = new BoneType.Builder>(this, null, false);
this.boneOrInclude.add(bone_Builder);
return bone_Builder;
}
/**
* Adds the given items to the value of "include_"
*
* @param include_
* Items to add to the value of the "include_" property
*/
public Mujoco.Asset.Skin.Builder<_B> addInclude(final Iterable extends IncludeType> include_) {
if (include_!= null) {
if (this.boneOrInclude == null) {
this.boneOrInclude = new ArrayList();
}
for (IncludeType _item: include_) {
this.boneOrInclude.add(new IncludeType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "include_"
*
* @param include_
* Items to add to the value of the "include_" property
*/
public Mujoco.Asset.Skin.Builder<_B> addInclude(IncludeType... include_) {
return addInclude(Arrays.asList(include_));
}
/**
* Returns a new builder to build an additional value of the "include" property.
* Use {@link org.mujoco.xml.root.IncludeType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "include" property.
* Use {@link org.mujoco.xml.root.IncludeType.Builder#end()} to return to the current builder.
*/
public IncludeType.Builder extends Mujoco.Asset.Skin.Builder<_B>> addInclude() {
if (this.boneOrInclude == null) {
this.boneOrInclude = new ArrayList();
}
final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false);
this.boneOrInclude.add(include_Builder);
return include_Builder;
}
/**
* Sets the new value of "name" (any previous value will be replaced)
*
* @param name
* New value of the "name" property.
*/
@Override
public Mujoco.Asset.Skin.Builder<_B> withName(final String name) {
super.withName(name);
return this;
}
/**
* Sets the new value of "file" (any previous value will be replaced)
*
* @param file
* New value of the "file" property.
*/
@Override
public Mujoco.Asset.Skin.Builder<_B> withFile(final String file) {
super.withFile(file);
return this;
}
/**
* Sets the new value of "vertex" (any previous value will be replaced)
*
* @param vertex
* New value of the "vertex" property.
*/
@Override
public Mujoco.Asset.Skin.Builder<_B> withVertex(final String vertex) {
super.withVertex(vertex);
return this;
}
/**
* Sets the new value of "texcoord" (any previous value will be replaced)
*
* @param texcoord
* New value of the "texcoord" property.
*/
@Override
public Mujoco.Asset.Skin.Builder<_B> withTexcoord(final String texcoord) {
super.withTexcoord(texcoord);
return this;
}
/**
* Sets the new value of "face" (any previous value will be replaced)
*
* @param face
* New value of the "face" property.
*/
@Override
public Mujoco.Asset.Skin.Builder<_B> withFace(final String face) {
super.withFace(face);
return this;
}
/**
* Sets the new value of "inflate" (any previous value will be replaced)
*
* @param inflate
* New value of the "inflate" property.
*/
@Override
public Mujoco.Asset.Skin.Builder<_B> withInflate(final BigDecimal inflate) {
super.withInflate(inflate);
return this;
}
/**
* Sets the new value of "material" (any previous value will be replaced)
*
* @param material
* New value of the "material" property.
*/
@Override
public Mujoco.Asset.Skin.Builder<_B> withMaterial(final String material) {
super.withMaterial(material);
return this;
}
/**
* Sets the new value of "rgba" (any previous value will be replaced)
*
* @param rgba
* New value of the "rgba" property.
*/
@Override
public Mujoco.Asset.Skin.Builder<_B> withRgba(final String rgba) {
super.withRgba(rgba);
return this;
}
@Override
public Mujoco.Asset.Skin build() {
return this.init(new Mujoco.Asset.Skin());
}
public Mujoco.Asset.Skin.Builder<_B> copyOf(final Mujoco.Asset.Skin _other) {
_other.copyTo(this);
return this;
}
public Mujoco.Asset.Skin.Builder<_B> copyOf(final Mujoco.Asset.Skin.Builder _other) {
return copyOf(_other.build());
}
}
public static class PropInfo {
public final static transient String BONE_OR_INCLUDE = "boneOrInclude";
}
public static class Select
extends Mujoco.Asset.Skin.Selector
{
Select() {
super(null, null, null);
}
public static Mujoco.Asset.Skin.Select _root() {
return new Mujoco.Asset.Skin.Select();
}
}
public static class Selector , TParent >
extends org.mujoco.xml.asset.SkinType.Selector
{
private com.kscs.util.jaxb.Selector> boneOrInclude = null;
public Selector(final TRoot root, final TParent parent, final String propertyName) {
super(root, parent, propertyName);
}
@Override
public Map buildChildren() {
final Map products = new HashMap();
products.putAll(super.buildChildren());
if (this.boneOrInclude!= null) {
products.put("boneOrInclude", this.boneOrInclude.init());
}
return products;
}
public com.kscs.util.jaxb.Selector> boneOrInclude() {
return ((this.boneOrInclude == null)?this.boneOrInclude = new com.kscs.util.jaxb.Selector>(this._root, this, "boneOrInclude"):this.boneOrInclude);
}
}
}
}
public static class Builder<_B >
extends MujocoType.Builder<_B>
implements Buildable
{
private List compilerOrOptionOrSize;
public Builder(final _B _parentBuilder, final Mujoco _other, final boolean _copy) {
super(_parentBuilder, _other, _copy);
if (_other!= null) {
if (_other.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = null;
} else {
this.compilerOrOptionOrSize = new ArrayList();
for (Object _item: _other.compilerOrOptionOrSize) {
this.compilerOrOptionOrSize.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
public Builder(final _B _parentBuilder, final Mujoco _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) {
super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse);
if (_other!= null) {
final PropertyTree compilerOrOptionOrSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("compilerOrOptionOrSize"));
if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(compilerOrOptionOrSizePropertyTree!= null):((compilerOrOptionOrSizePropertyTree == null)||(!compilerOrOptionOrSizePropertyTree.isLeaf())))) {
if (_other.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = null;
} else {
this.compilerOrOptionOrSize = new ArrayList();
for (Object _item: _other.compilerOrOptionOrSize) {
this.compilerOrOptionOrSize.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item)));
}
}
}
}
}
protected<_P extends Mujoco >_P init(final _P _product) {
if (this.compilerOrOptionOrSize!= null) {
final List compilerOrOptionOrSize = new ArrayList(this.compilerOrOptionOrSize.size());
for (Buildable _item: this.compilerOrOptionOrSize) {
compilerOrOptionOrSize.add(((Object) _item.build()));
}
_product.compilerOrOptionOrSize = compilerOrOptionOrSize;
}
return super.init(_product);
}
/**
* Adds the given items to the value of "compilerOrOptionOrSize"
*
* @param compilerOrOptionOrSize
* Items to add to the value of the "compilerOrOptionOrSize" property
*/
public Mujoco.Builder<_B> addCompilerOrOptionOrSize(final Iterable> compilerOrOptionOrSize) {
if (compilerOrOptionOrSize!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (Object _item: compilerOrOptionOrSize) {
this.compilerOrOptionOrSize.add(new Buildable.PrimitiveBuildable(_item));
}
}
return this;
}
/**
* Sets the new value of "compilerOrOptionOrSize" (any previous value will be replaced)
*
* @param compilerOrOptionOrSize
* New value of the "compilerOrOptionOrSize" property.
*/
public Mujoco.Builder<_B> withCompilerOrOptionOrSize(final Iterable> compilerOrOptionOrSize) {
if (this.compilerOrOptionOrSize!= null) {
this.compilerOrOptionOrSize.clear();
}
return addCompilerOrOptionOrSize(compilerOrOptionOrSize);
}
/**
* Adds the given items to the value of "compilerOrOptionOrSize"
*
* @param compilerOrOptionOrSize
* Items to add to the value of the "compilerOrOptionOrSize" property
*/
public Mujoco.Builder<_B> addCompilerOrOptionOrSize(Object... compilerOrOptionOrSize) {
addCompilerOrOptionOrSize(Arrays.asList(compilerOrOptionOrSize));
return this;
}
/**
* Sets the new value of "compilerOrOptionOrSize" (any previous value will be replaced)
*
* @param compilerOrOptionOrSize
* New value of the "compilerOrOptionOrSize" property.
*/
public Mujoco.Builder<_B> withCompilerOrOptionOrSize(Object... compilerOrOptionOrSize) {
withCompilerOrOptionOrSize(Arrays.asList(compilerOrOptionOrSize));
return this;
}
/**
* Adds the given items to the value of "compiler_"
*
* @param compiler_
* Items to add to the value of the "compiler_" property
*/
public Mujoco.Builder<_B> addCompiler(final Iterable extends Mujoco.Compiler> compiler_) {
if (compiler_!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (Mujoco.Compiler _item: compiler_) {
this.compilerOrOptionOrSize.add(new Mujoco.Compiler.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "compiler_"
*
* @param compiler_
* Items to add to the value of the "compiler_" property
*/
public Mujoco.Builder<_B> addCompiler(Mujoco.Compiler... compiler_) {
return addCompiler(Arrays.asList(compiler_));
}
/**
* Returns a new builder to build an additional value of the "compiler" property.
* Use {@link org.mujoco.xml.Mujoco.Compiler.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "compiler" property.
* Use {@link org.mujoco.xml.Mujoco.Compiler.Builder#end()} to return to the current builder.
*/
public Mujoco.Compiler.Builder extends Mujoco.Builder<_B>> addCompiler() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
final Mujoco.Compiler.Builder> compiler_Builder = new Mujoco.Compiler.Builder>(this, null, false);
this.compilerOrOptionOrSize.add(compiler_Builder);
return compiler_Builder;
}
/**
* Adds the given items to the value of "option_"
*
* @param option_
* Items to add to the value of the "option_" property
*/
public Mujoco.Builder<_B> addOption(final Iterable extends Mujoco.Option> option_) {
if (option_!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (Mujoco.Option _item: option_) {
this.compilerOrOptionOrSize.add(new Mujoco.Option.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "option_"
*
* @param option_
* Items to add to the value of the "option_" property
*/
public Mujoco.Builder<_B> addOption(Mujoco.Option... option_) {
return addOption(Arrays.asList(option_));
}
/**
* Returns a new builder to build an additional value of the "option" property.
* Use {@link org.mujoco.xml.Mujoco.Option.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "option" property.
* Use {@link org.mujoco.xml.Mujoco.Option.Builder#end()} to return to the current builder.
*/
public Mujoco.Option.Builder extends Mujoco.Builder<_B>> addOption() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
final Mujoco.Option.Builder> option_Builder = new Mujoco.Option.Builder>(this, null, false);
this.compilerOrOptionOrSize.add(option_Builder);
return option_Builder;
}
/**
* Adds the given items to the value of "size_"
*
* @param size_
* Items to add to the value of the "size_" property
*/
public Mujoco.Builder<_B> addSize(final Iterable extends SizeType> size_) {
if (size_!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (SizeType _item: size_) {
this.compilerOrOptionOrSize.add(new SizeType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "size_"
*
* @param size_
* Items to add to the value of the "size_" property
*/
public Mujoco.Builder<_B> addSize(SizeType... size_) {
return addSize(Arrays.asList(size_));
}
/**
* Returns a new builder to build an additional value of the "size" property.
* Use {@link org.mujoco.xml.size.SizeType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "size" property.
* Use {@link org.mujoco.xml.size.SizeType.Builder#end()} to return to the current builder.
*/
public SizeType.Builder extends Mujoco.Builder<_B>> addSize() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
final SizeType.Builder> size_Builder = new SizeType.Builder>(this, null, false);
this.compilerOrOptionOrSize.add(size_Builder);
return size_Builder;
}
/**
* Adds the given items to the value of "visual_"
*
* @param visual_
* Items to add to the value of the "visual_" property
*/
public Mujoco.Builder<_B> addVisual(final Iterable extends Mujoco.Visual> visual_) {
if (visual_!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (Mujoco.Visual _item: visual_) {
this.compilerOrOptionOrSize.add(new Mujoco.Visual.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "visual_"
*
* @param visual_
* Items to add to the value of the "visual_" property
*/
public Mujoco.Builder<_B> addVisual(Mujoco.Visual... visual_) {
return addVisual(Arrays.asList(visual_));
}
/**
* Returns a new builder to build an additional value of the "visual" property.
* Use {@link org.mujoco.xml.Mujoco.Visual.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "visual" property.
* Use {@link org.mujoco.xml.Mujoco.Visual.Builder#end()} to return to the current builder.
*/
public Mujoco.Visual.Builder extends Mujoco.Builder<_B>> addVisual() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
final Mujoco.Visual.Builder> visual_Builder = new Mujoco.Visual.Builder>(this, null, false);
this.compilerOrOptionOrSize.add(visual_Builder);
return visual_Builder;
}
/**
* Adds the given items to the value of "statistic_"
*
* @param statistic_
* Items to add to the value of the "statistic_" property
*/
public Mujoco.Builder<_B> addStatistic(final Iterable extends StatisticType> statistic_) {
if (statistic_!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (StatisticType _item: statistic_) {
this.compilerOrOptionOrSize.add(new StatisticType.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "statistic_"
*
* @param statistic_
* Items to add to the value of the "statistic_" property
*/
public Mujoco.Builder<_B> addStatistic(StatisticType... statistic_) {
return addStatistic(Arrays.asList(statistic_));
}
/**
* Returns a new builder to build an additional value of the "statistic" property.
* Use {@link org.mujoco.xml.statistic.StatisticType.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "statistic" property.
* Use {@link org.mujoco.xml.statistic.StatisticType.Builder#end()} to return to the current builder.
*/
public StatisticType.Builder extends Mujoco.Builder<_B>> addStatistic() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
final StatisticType.Builder> statistic_Builder = new StatisticType.Builder>(this, null, false);
this.compilerOrOptionOrSize.add(statistic_Builder);
return statistic_Builder;
}
/**
* Adds the given items to the value of "default_"
*
* @param default_
* Items to add to the value of the "default_" property
*/
public Mujoco.Builder<_B> addDefault(final Iterable extends Mujoco.Default> default_) {
if (default_!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (Mujoco.Default _item: default_) {
this.compilerOrOptionOrSize.add(new Mujoco.Default.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "default_"
*
* @param default_
* Items to add to the value of the "default_" property
*/
public Mujoco.Builder<_B> addDefault(Mujoco.Default... default_) {
return addDefault(Arrays.asList(default_));
}
/**
* Returns a new builder to build an additional value of the "default" property.
* Use {@link org.mujoco.xml.Mujoco.Default.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "default" property.
* Use {@link org.mujoco.xml.Mujoco.Default.Builder#end()} to return to the current builder.
*/
public Mujoco.Default.Builder extends Mujoco.Builder<_B>> addDefault() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
final Mujoco.Default.Builder> default_Builder = new Mujoco.Default.Builder>(this, null, false);
this.compilerOrOptionOrSize.add(default_Builder);
return default_Builder;
}
/**
* Adds the given items to the value of "custom_"
*
* @param custom_
* Items to add to the value of the "custom_" property
*/
public Mujoco.Builder<_B> addCustom(final Iterable extends Mujoco.Custom> custom_) {
if (custom_!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (Mujoco.Custom _item: custom_) {
this.compilerOrOptionOrSize.add(new Mujoco.Custom.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "custom_"
*
* @param custom_
* Items to add to the value of the "custom_" property
*/
public Mujoco.Builder<_B> addCustom(Mujoco.Custom... custom_) {
return addCustom(Arrays.asList(custom_));
}
/**
* Returns a new builder to build an additional value of the "custom" property.
* Use {@link org.mujoco.xml.Mujoco.Custom.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "custom" property.
* Use {@link org.mujoco.xml.Mujoco.Custom.Builder#end()} to return to the current builder.
*/
public Mujoco.Custom.Builder extends Mujoco.Builder<_B>> addCustom() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
final Mujoco.Custom.Builder> custom_Builder = new Mujoco.Custom.Builder>(this, null, false);
this.compilerOrOptionOrSize.add(custom_Builder);
return custom_Builder;
}
/**
* Adds the given items to the value of "asset_"
*
* @param asset_
* Items to add to the value of the "asset_" property
*/
public Mujoco.Builder<_B> addAsset(final Iterable extends Mujoco.Asset> asset_) {
if (asset_!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (Mujoco.Asset _item: asset_) {
this.compilerOrOptionOrSize.add(new Mujoco.Asset.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "asset_"
*
* @param asset_
* Items to add to the value of the "asset_" property
*/
public Mujoco.Builder<_B> addAsset(Mujoco.Asset... asset_) {
return addAsset(Arrays.asList(asset_));
}
/**
* Returns a new builder to build an additional value of the "asset" property.
* Use {@link org.mujoco.xml.Mujoco.Asset.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "asset" property.
* Use {@link org.mujoco.xml.Mujoco.Asset.Builder#end()} to return to the current builder.
*/
public Mujoco.Asset.Builder extends Mujoco.Builder<_B>> addAsset() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
final Mujoco.Asset.Builder> asset_Builder = new Mujoco.Asset.Builder>(this, null, false);
this.compilerOrOptionOrSize.add(asset_Builder);
return asset_Builder;
}
/**
* Adds the given items to the value of "worldbody_"
*
* @param worldbody_
* Items to add to the value of the "worldbody_" property
*/
public Mujoco.Builder<_B> addWorldbody(final Iterable extends Mujoco.Worldbody> worldbody_) {
if (worldbody_!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (Mujoco.Worldbody _item: worldbody_) {
this.compilerOrOptionOrSize.add(new Mujoco.Worldbody.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "worldbody_"
*
* @param worldbody_
* Items to add to the value of the "worldbody_" property
*/
public Mujoco.Builder<_B> addWorldbody(Mujoco.Worldbody... worldbody_) {
return addWorldbody(Arrays.asList(worldbody_));
}
/**
* Returns a new builder to build an additional value of the "worldbody" property.
* Use {@link org.mujoco.xml.Mujoco.Worldbody.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "worldbody" property.
* Use {@link org.mujoco.xml.Mujoco.Worldbody.Builder#end()} to return to the current builder.
*/
public Mujoco.Worldbody.Builder extends Mujoco.Builder<_B>> addWorldbody() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
final Mujoco.Worldbody.Builder> worldbody_Builder = new Mujoco.Worldbody.Builder>(this, null, false);
this.compilerOrOptionOrSize.add(worldbody_Builder);
return worldbody_Builder;
}
/**
* Adds the given items to the value of "contact_"
*
* @param contact_
* Items to add to the value of the "contact_" property
*/
public Mujoco.Builder<_B> addContact(final Iterable extends Mujoco.Contact> contact_) {
if (contact_!= null) {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
for (Mujoco.Contact _item: contact_) {
this.compilerOrOptionOrSize.add(new Mujoco.Contact.Builder>(this, _item, true));
}
}
return this;
}
/**
* Adds the given items to the value of "contact_"
*
* @param contact_
* Items to add to the value of the "contact_" property
*/
public Mujoco.Builder<_B> addContact(Mujoco.Contact... contact_) {
return addContact(Arrays.asList(contact_));
}
/**
* Returns a new builder to build an additional value of the "contact" property.
* Use {@link org.mujoco.xml.Mujoco.Contact.Builder#end()} to return to the current builder.
*
* @return
* a new builder to build an additional value of the "contact" property.
* Use {@link org.mujoco.xml.Mujoco.Contact.Builder#end()} to return to the current builder.
*/
public Mujoco.Contact.Builder extends Mujoco.Builder<_B>> addContact() {
if (this.compilerOrOptionOrSize == null) {
this.compilerOrOptionOrSize = new ArrayList();
}
final Mujoco.Contact.Builder