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

org.mujoco.xml.Mujoco Maven / Gradle / Ivy

The newest version!
//
// 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> 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 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> addContact() { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } final Mujoco.Contact.Builder> contact_Builder = new Mujoco.Contact.Builder>(this, null, false); this.compilerOrOptionOrSize.add(contact_Builder); return contact_Builder; } /** * Adds the given items to the value of "equality_" * * @param equality_ * Items to add to the value of the "equality_" property */ public Mujoco.Builder<_B> addEquality(final Iterable equality_) { if (equality_!= null) { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } for (Mujoco.Equality _item: equality_) { this.compilerOrOptionOrSize.add(new Mujoco.Equality.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "equality_" * * @param equality_ * Items to add to the value of the "equality_" property */ public Mujoco.Builder<_B> addEquality(Mujoco.Equality... equality_) { return addEquality(Arrays.asList(equality_)); } /** * Returns a new builder to build an additional value of the "equality" property. * Use {@link org.mujoco.xml.Mujoco.Equality.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "equality" property. * Use {@link org.mujoco.xml.Mujoco.Equality.Builder#end()} to return to the current builder. */ public Mujoco.Equality.Builder> addEquality() { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } final Mujoco.Equality.Builder> equality_Builder = new Mujoco.Equality.Builder>(this, null, false); this.compilerOrOptionOrSize.add(equality_Builder); return equality_Builder; } /** * Adds the given items to the value of "tendon_" * * @param tendon_ * Items to add to the value of the "tendon_" property */ public Mujoco.Builder<_B> addTendon(final Iterable tendon_) { if (tendon_!= null) { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } for (Mujoco.Tendon _item: tendon_) { this.compilerOrOptionOrSize.add(new Mujoco.Tendon.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "tendon_" * * @param tendon_ * Items to add to the value of the "tendon_" property */ public Mujoco.Builder<_B> addTendon(Mujoco.Tendon... tendon_) { return addTendon(Arrays.asList(tendon_)); } /** * Returns a new builder to build an additional value of the "tendon" property. * Use {@link org.mujoco.xml.Mujoco.Tendon.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "tendon" property. * Use {@link org.mujoco.xml.Mujoco.Tendon.Builder#end()} to return to the current builder. */ public Mujoco.Tendon.Builder> addTendon() { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } final Mujoco.Tendon.Builder> tendon_Builder = new Mujoco.Tendon.Builder>(this, null, false); this.compilerOrOptionOrSize.add(tendon_Builder); return tendon_Builder; } /** * Adds the given items to the value of "actuator_" * * @param actuator_ * Items to add to the value of the "actuator_" property */ public Mujoco.Builder<_B> addActuator(final Iterable actuator_) { if (actuator_!= null) { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } for (Mujoco.Actuator _item: actuator_) { this.compilerOrOptionOrSize.add(new Mujoco.Actuator.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "actuator_" * * @param actuator_ * Items to add to the value of the "actuator_" property */ public Mujoco.Builder<_B> addActuator(Mujoco.Actuator... actuator_) { return addActuator(Arrays.asList(actuator_)); } /** * Returns a new builder to build an additional value of the "actuator" property. * Use {@link org.mujoco.xml.Mujoco.Actuator.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "actuator" property. * Use {@link org.mujoco.xml.Mujoco.Actuator.Builder#end()} to return to the current builder. */ public Mujoco.Actuator.Builder> addActuator() { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } final Mujoco.Actuator.Builder> actuator_Builder = new Mujoco.Actuator.Builder>(this, null, false); this.compilerOrOptionOrSize.add(actuator_Builder); return actuator_Builder; } /** * Adds the given items to the value of "sensor_" * * @param sensor_ * Items to add to the value of the "sensor_" property */ public Mujoco.Builder<_B> addSensor(final Iterable sensor_) { if (sensor_!= null) { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } for (Mujoco.Sensor _item: sensor_) { this.compilerOrOptionOrSize.add(new Mujoco.Sensor.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "sensor_" * * @param sensor_ * Items to add to the value of the "sensor_" property */ public Mujoco.Builder<_B> addSensor(Mujoco.Sensor... sensor_) { return addSensor(Arrays.asList(sensor_)); } /** * Returns a new builder to build an additional value of the "sensor" property. * Use {@link org.mujoco.xml.Mujoco.Sensor.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "sensor" property. * Use {@link org.mujoco.xml.Mujoco.Sensor.Builder#end()} to return to the current builder. */ public Mujoco.Sensor.Builder> addSensor() { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } final Mujoco.Sensor.Builder> sensor_Builder = new Mujoco.Sensor.Builder>(this, null, false); this.compilerOrOptionOrSize.add(sensor_Builder); return sensor_Builder; } /** * Adds the given items to the value of "keyframe_" * * @param keyframe_ * Items to add to the value of the "keyframe_" property */ public Mujoco.Builder<_B> addKeyframe(final Iterable keyframe_) { if (keyframe_!= null) { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } for (Mujoco.Keyframe _item: keyframe_) { this.compilerOrOptionOrSize.add(new Mujoco.Keyframe.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "keyframe_" * * @param keyframe_ * Items to add to the value of the "keyframe_" property */ public Mujoco.Builder<_B> addKeyframe(Mujoco.Keyframe... keyframe_) { return addKeyframe(Arrays.asList(keyframe_)); } /** * Returns a new builder to build an additional value of the "keyframe" property. * Use {@link org.mujoco.xml.Mujoco.Keyframe.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "keyframe" property. * Use {@link org.mujoco.xml.Mujoco.Keyframe.Builder#end()} to return to the current builder. */ public Mujoco.Keyframe.Builder> addKeyframe() { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } final Mujoco.Keyframe.Builder> keyframe_Builder = new Mujoco.Keyframe.Builder>(this, null, false); this.compilerOrOptionOrSize.add(keyframe_Builder); return keyframe_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } for (IncludeType _item: include_) { this.compilerOrOptionOrSize.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.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> addInclude() { if (this.compilerOrOptionOrSize == null) { this.compilerOrOptionOrSize = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.compilerOrOptionOrSize.add(include_Builder); return include_Builder; } /** * Sets the new value of "model" (any previous value will be replaced) * * @param model * New value of the "model" property. */ @Override public Mujoco.Builder<_B> withModel(final String model) { super.withModel(model); return this; } @Override public Mujoco build() { return this.init(new Mujoco()); } public Mujoco.Builder<_B> copyOf(final Mujoco _other) { _other.copyTo(this); return this; } public Mujoco.Builder<_B> copyOf(final Mujoco.Builder _other) { return copyOf(_other.build()); } } /** *

Java class for anonymous complex type. * *

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

     * <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>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "lengthrangeOrInclude" }) public static class Compiler extends CompilerType implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "lengthrange", type = LengthrangeType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List lengthrangeOrInclude; private transient BoundList lengthrangeOrInclude__Proxy = null; /** * Generated by copy-constructor plugin, JAXB requires public no-arg constructor. * */ public Compiler() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Compiler copying the state of another Compiler * * @param _other * The original Compiler from which to copy state. */ public Compiler(final Mujoco.Compiler _other) { super(_other); this.lengthrangeOrInclude = ((_other.lengthrangeOrInclude == null)?null:new ArrayList(_other.lengthrangeOrInclude)); } /** * Instantiates a Compiler copying the state of another Compiler * * @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 Compiler from which to copy state. */ public Compiler(final Mujoco.Compiler _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_other, _propertyTree, _propertyTreeUse); final PropertyTree lengthrangeOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lengthrangeOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lengthrangeOrIncludePropertyTree!= null):((lengthrangeOrIncludePropertyTree == null)||(!lengthrangeOrIncludePropertyTree.isLeaf())))) { this.lengthrangeOrInclude = ((_other.lengthrangeOrInclude == null)?null:new ArrayList(_other.lengthrangeOrInclude)); } } public BoundList getLengthrangeOrInclude() { if (this.lengthrangeOrInclude == null) { this.lengthrangeOrInclude = new ArrayList(); } if (this.lengthrangeOrInclude__Proxy == null) { this.lengthrangeOrInclude__Proxy = new BoundListProxy(this.lengthrangeOrInclude); } return this.lengthrangeOrInclude__Proxy; } @Override public Mujoco.Compiler withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) { addVetoableChangeListener(vetoableChangeListener); return this; } @Override public Mujoco.Compiler withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Compiler clone() { final Mujoco.Compiler _newObject; _newObject = ((Mujoco.Compiler) super.clone()); _newObject.lengthrangeOrInclude = ((this.lengthrangeOrInclude == null)?null:new ArrayList(this.lengthrangeOrInclude)); return _newObject; } @Override public Mujoco.Compiler createCopy() { final Mujoco.Compiler _newObject = ((Mujoco.Compiler) super.createCopy()); _newObject.lengthrangeOrInclude = ((this.lengthrangeOrInclude == null)?null:new ArrayList(this.lengthrangeOrInclude)); return _newObject; } @Override public Mujoco.Compiler createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Compiler _newObject = ((Mujoco.Compiler) super.createCopy(_propertyTree, _propertyTreeUse)); final PropertyTree lengthrangeOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lengthrangeOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lengthrangeOrIncludePropertyTree!= null):((lengthrangeOrIncludePropertyTree == null)||(!lengthrangeOrIncludePropertyTree.isLeaf())))) { _newObject.lengthrangeOrInclude = ((this.lengthrangeOrInclude == null)?null:new ArrayList(this.lengthrangeOrInclude)); } return _newObject; } @Override public Mujoco.Compiler copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Compiler 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.Compiler.Builder<_B> _other) { super.copyTo(_other); if (this.lengthrangeOrInclude == null) { _other.lengthrangeOrInclude = null; } else { _other.lengthrangeOrInclude = new ArrayList(); for (Object _item: this.lengthrangeOrInclude) { _other.lengthrangeOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } @Override public<_B >Mujoco.Compiler.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Compiler.Builder<_B>(_parentBuilder, this, true); } @Override public Mujoco.Compiler.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Compiler.Builder builder() { return new Mujoco.Compiler.Builder(null, null, false); } public static<_B >Mujoco.Compiler.Builder<_B> copyOf(final CompilerType _other) { final Mujoco.Compiler.Builder<_B> _newBuilder = new Mujoco.Compiler.Builder<_B>(null, null, false); _other.copyTo(_newBuilder); return _newBuilder; } public static<_B >Mujoco.Compiler.Builder<_B> copyOf(final Mujoco.Compiler _other) { final Mujoco.Compiler.Builder<_B> _newBuilder = new Mujoco.Compiler.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.Compiler.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super.copyTo(_other, _propertyTree, _propertyTreeUse); final PropertyTree lengthrangeOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lengthrangeOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lengthrangeOrIncludePropertyTree!= null):((lengthrangeOrIncludePropertyTree == null)||(!lengthrangeOrIncludePropertyTree.isLeaf())))) { if (this.lengthrangeOrInclude == null) { _other.lengthrangeOrInclude = null; } else { _other.lengthrangeOrInclude = new ArrayList(); for (Object _item: this.lengthrangeOrInclude) { _other.lengthrangeOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } @Override public<_B >Mujoco.Compiler.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Compiler.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } @Override public Mujoco.Compiler.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Compiler.Builder<_B> copyOf(final CompilerType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Compiler.Builder<_B> _newBuilder = new Mujoco.Compiler.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static<_B >Mujoco.Compiler.Builder<_B> copyOf(final Mujoco.Compiler _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Compiler.Builder<_B> _newBuilder = new Mujoco.Compiler.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Compiler.Builder copyExcept(final CompilerType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Compiler.Builder copyExcept(final Mujoco.Compiler _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Compiler.Builder copyOnly(final CompilerType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public static Mujoco.Compiler.Builder copyOnly(final Mujoco.Compiler _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Compiler visit(final PropertyVisitor _visitor_) { super.visit(_visitor_); return this; } public static class Builder<_B > extends CompilerType.Builder<_B> implements Buildable { private List lengthrangeOrInclude; public Builder(final _B _parentBuilder, final Mujoco.Compiler _other, final boolean _copy) { super(_parentBuilder, _other, _copy); if (_other!= null) { if (_other.lengthrangeOrInclude == null) { this.lengthrangeOrInclude = null; } else { this.lengthrangeOrInclude = new ArrayList(); for (Object _item: _other.lengthrangeOrInclude) { this.lengthrangeOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Compiler _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); if (_other!= null) { final PropertyTree lengthrangeOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lengthrangeOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lengthrangeOrIncludePropertyTree!= null):((lengthrangeOrIncludePropertyTree == null)||(!lengthrangeOrIncludePropertyTree.isLeaf())))) { if (_other.lengthrangeOrInclude == null) { this.lengthrangeOrInclude = null; } else { this.lengthrangeOrInclude = new ArrayList(); for (Object _item: _other.lengthrangeOrInclude) { this.lengthrangeOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } protected<_P extends Mujoco.Compiler >_P init(final _P _product) { if (this.lengthrangeOrInclude!= null) { final List lengthrangeOrInclude = new ArrayList(this.lengthrangeOrInclude.size()); for (Buildable _item: this.lengthrangeOrInclude) { lengthrangeOrInclude.add(((Object) _item.build())); } _product.lengthrangeOrInclude = lengthrangeOrInclude; } return super.init(_product); } /** * Adds the given items to the value of "lengthrangeOrInclude" * * @param lengthrangeOrInclude * Items to add to the value of the "lengthrangeOrInclude" property */ public Mujoco.Compiler.Builder<_B> addLengthrangeOrInclude(final Iterable lengthrangeOrInclude) { if (lengthrangeOrInclude!= null) { if (this.lengthrangeOrInclude == null) { this.lengthrangeOrInclude = new ArrayList(); } for (Object _item: lengthrangeOrInclude) { this.lengthrangeOrInclude.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "lengthrangeOrInclude" (any previous value will be replaced) * * @param lengthrangeOrInclude * New value of the "lengthrangeOrInclude" property. */ public Mujoco.Compiler.Builder<_B> withLengthrangeOrInclude(final Iterable lengthrangeOrInclude) { if (this.lengthrangeOrInclude!= null) { this.lengthrangeOrInclude.clear(); } return addLengthrangeOrInclude(lengthrangeOrInclude); } /** * Adds the given items to the value of "lengthrangeOrInclude" * * @param lengthrangeOrInclude * Items to add to the value of the "lengthrangeOrInclude" property */ public Mujoco.Compiler.Builder<_B> addLengthrangeOrInclude(Object... lengthrangeOrInclude) { addLengthrangeOrInclude(Arrays.asList(lengthrangeOrInclude)); return this; } /** * Sets the new value of "lengthrangeOrInclude" (any previous value will be replaced) * * @param lengthrangeOrInclude * New value of the "lengthrangeOrInclude" property. */ public Mujoco.Compiler.Builder<_B> withLengthrangeOrInclude(Object... lengthrangeOrInclude) { withLengthrangeOrInclude(Arrays.asList(lengthrangeOrInclude)); return this; } /** * Adds the given items to the value of "lengthrange_" * * @param lengthrange_ * Items to add to the value of the "lengthrange_" property */ public Mujoco.Compiler.Builder<_B> addLengthrange(final Iterable lengthrange_) { if (lengthrange_!= null) { if (this.lengthrangeOrInclude == null) { this.lengthrangeOrInclude = new ArrayList(); } for (LengthrangeType _item: lengthrange_) { this.lengthrangeOrInclude.add(new LengthrangeType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "lengthrange_" * * @param lengthrange_ * Items to add to the value of the "lengthrange_" property */ public Mujoco.Compiler.Builder<_B> addLengthrange(LengthrangeType... lengthrange_) { return addLengthrange(Arrays.asList(lengthrange_)); } /** * Returns a new builder to build an additional value of the "lengthrange" property. * Use {@link org.mujoco.xml.compiler.LengthrangeType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "lengthrange" property. * Use {@link org.mujoco.xml.compiler.LengthrangeType.Builder#end()} to return to the current builder. */ public LengthrangeType.Builder> addLengthrange() { if (this.lengthrangeOrInclude == null) { this.lengthrangeOrInclude = new ArrayList(); } final LengthrangeType.Builder> lengthrange_Builder = new LengthrangeType.Builder>(this, null, false); this.lengthrangeOrInclude.add(lengthrange_Builder); return lengthrange_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Compiler.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.lengthrangeOrInclude == null) { this.lengthrangeOrInclude = new ArrayList(); } for (IncludeType _item: include_) { this.lengthrangeOrInclude.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.Compiler.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> addInclude() { if (this.lengthrangeOrInclude == null) { this.lengthrangeOrInclude = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.lengthrangeOrInclude.add(include_Builder); return include_Builder; } /** * Sets the new value of "boundmass" (any previous value will be replaced) * * @param boundmass * New value of the "boundmass" property. */ @Override public Mujoco.Compiler.Builder<_B> withBoundmass(final BigDecimal boundmass) { super.withBoundmass(boundmass); return this; } /** * Sets the new value of "boudinertia" (any previous value will be replaced) * * @param boudinertia * New value of the "boudinertia" property. */ @Override public Mujoco.Compiler.Builder<_B> withBoudinertia(final BigDecimal boudinertia) { super.withBoudinertia(boudinertia); return this; } /** * Sets the new value of "settotalmass" (any previous value will be replaced) * * @param settotalmass * New value of the "settotalmass" property. */ @Override public Mujoco.Compiler.Builder<_B> withSettotalmass(final BigDecimal settotalmass) { super.withSettotalmass(settotalmass); return this; } /** * Sets the new value of "balanceinertia" (any previous value will be replaced) * * @param balanceinertia * New value of the "balanceinertia" property. */ @Override public Mujoco.Compiler.Builder<_B> withBalanceinertia(final Boolean balanceinertia) { super.withBalanceinertia(balanceinertia); return this; } /** * Sets the new value of "strippath" (any previous value will be replaced) * * @param strippath * New value of the "strippath" property. */ @Override public Mujoco.Compiler.Builder<_B> withStrippath(final Boolean strippath) { super.withStrippath(strippath); return this; } /** * Sets the new value of "coordinate" (any previous value will be replaced) * * @param coordinate * New value of the "coordinate" property. */ @Override public Mujoco.Compiler.Builder<_B> withCoordinate(final CoordinateType coordinate) { super.withCoordinate(coordinate); return this; } /** * Sets the new value of "angle" (any previous value will be replaced) * * @param angle * New value of the "angle" property. */ @Override public Mujoco.Compiler.Builder<_B> withAngle(final AngleType angle) { super.withAngle(angle); return this; } /** * Sets the new value of "fitaabb" (any previous value will be replaced) * * @param fitaabb * New value of the "fitaabb" property. */ @Override public Mujoco.Compiler.Builder<_B> withFitaabb(final Boolean fitaabb) { super.withFitaabb(fitaabb); return this; } /** * Sets the new value of "eulerseq" (any previous value will be replaced) * * @param eulerseq * New value of the "eulerseq" property. */ @Override public Mujoco.Compiler.Builder<_B> withEulerseq(final String eulerseq) { super.withEulerseq(eulerseq); return this; } /** * Sets the new value of "meshdir" (any previous value will be replaced) * * @param meshdir * New value of the "meshdir" property. */ @Override public Mujoco.Compiler.Builder<_B> withMeshdir(final String meshdir) { super.withMeshdir(meshdir); return this; } /** * Sets the new value of "texturedir" (any previous value will be replaced) * * @param texturedir * New value of the "texturedir" property. */ @Override public Mujoco.Compiler.Builder<_B> withTexturedir(final String texturedir) { super.withTexturedir(texturedir); return this; } /** * Sets the new value of "discardvisual" (any previous value will be replaced) * * @param discardvisual * New value of the "discardvisual" property. */ @Override public Mujoco.Compiler.Builder<_B> withDiscardvisual(final Boolean discardvisual) { super.withDiscardvisual(discardvisual); return this; } /** * Sets the new value of "convexhull" (any previous value will be replaced) * * @param convexhull * New value of the "convexhull" property. */ @Override public Mujoco.Compiler.Builder<_B> withConvexhull(final Boolean convexhull) { super.withConvexhull(convexhull); return this; } /** * Sets the new value of "userthread" (any previous value will be replaced) * * @param userthread * New value of the "userthread" property. */ @Override public Mujoco.Compiler.Builder<_B> withUserthread(final Boolean userthread) { super.withUserthread(userthread); return this; } /** * Sets the new value of "fusestatic" (any previous value will be replaced) * * @param fusestatic * New value of the "fusestatic" property. */ @Override public Mujoco.Compiler.Builder<_B> withFusestatic(final Boolean fusestatic) { super.withFusestatic(fusestatic); return this; } /** * Sets the new value of "inertiafromgeom" (any previous value will be replaced) * * @param inertiafromgeom * New value of the "inertiafromgeom" property. */ @Override public Mujoco.Compiler.Builder<_B> withInertiafromgeom(final InertiafromgeomType inertiafromgeom) { super.withInertiafromgeom(inertiafromgeom); return this; } /** * Sets the new value of "inertiagrouprange" (any previous value will be replaced) * * @param inertiagrouprange * New value of the "inertiagrouprange" property. */ @Override public Mujoco.Compiler.Builder<_B> withInertiagrouprange(final String inertiagrouprange) { super.withInertiagrouprange(inertiagrouprange); return this; } @Override public Mujoco.Compiler build() { return this.init(new Mujoco.Compiler()); } public Mujoco.Compiler.Builder<_B> copyOf(final Mujoco.Compiler _other) { _other.copyTo(this); return this; } public Mujoco.Compiler.Builder<_B> copyOf(final Mujoco.Compiler.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String LENGTHRANGE_OR_INCLUDE = "lengthrangeOrInclude"; } public static class Select extends Mujoco.Compiler.Selector { Select() { super(null, null, null); } public static Mujoco.Compiler.Select _root() { return new Mujoco.Compiler.Select(); } } public static class Selector , TParent > extends CompilerType.Selector { private com.kscs.util.jaxb.Selector> lengthrangeOrInclude = 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.lengthrangeOrInclude!= null) { products.put("lengthrangeOrInclude", this.lengthrangeOrInclude.init()); } return products; } public com.kscs.util.jaxb.Selector> lengthrangeOrInclude() { return ((this.lengthrangeOrInclude == null)?this.lengthrangeOrInclude = new com.kscs.util.jaxb.Selector>(this._root, this, "lengthrangeOrInclude"):this.lengthrangeOrInclude); } } } /** *

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="pair" type="{contact}pairType"/>
     *         <element name="exclude" type="{contact}excludeType"/>
     *         <element name="include" type="{root}includeType"/>
     *       </choice>
     *     </restriction>
     *   </complexContent>
     * </complexType>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "pairOrExcludeOrInclude" }) public static class Contact implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "pair", type = org.mujoco.xml.contact.PairType.class), @XmlElement(name = "exclude", type = ExcludeType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List pairOrExcludeOrInclude; private transient BoundList pairOrExcludeOrInclude__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 Contact() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Contact copying the state of another Contact * * @param _other * The original Contact from which to copy state. */ public Contact(final Mujoco.Contact _other) { this.pairOrExcludeOrInclude = ((_other.pairOrExcludeOrInclude == null)?null:new ArrayList(_other.pairOrExcludeOrInclude)); } /** * Instantiates a Contact copying the state of another Contact * * @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 Contact from which to copy state. */ public Contact(final Mujoco.Contact _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree pairOrExcludeOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pairOrExcludeOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pairOrExcludeOrIncludePropertyTree!= null):((pairOrExcludeOrIncludePropertyTree == null)||(!pairOrExcludeOrIncludePropertyTree.isLeaf())))) { this.pairOrExcludeOrInclude = ((_other.pairOrExcludeOrInclude == null)?null:new ArrayList(_other.pairOrExcludeOrInclude)); } } public BoundList getPairOrExcludeOrInclude() { if (this.pairOrExcludeOrInclude == null) { this.pairOrExcludeOrInclude = new ArrayList(); } if (this.pairOrExcludeOrInclude__Proxy == null) { this.pairOrExcludeOrInclude__Proxy = new BoundListProxy(this.pairOrExcludeOrInclude); } return this.pairOrExcludeOrInclude__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.Contact 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.Contact withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Contact clone() { final Mujoco.Contact _newObject; try { _newObject = ((Mujoco.Contact) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.pairOrExcludeOrInclude = ((this.pairOrExcludeOrInclude == null)?null:new ArrayList(this.pairOrExcludeOrInclude)); return _newObject; } @Override public Mujoco.Contact createCopy() { final Mujoco.Contact _newObject; try { _newObject = ((Mujoco.Contact) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.pairOrExcludeOrInclude = ((this.pairOrExcludeOrInclude == null)?null:new ArrayList(this.pairOrExcludeOrInclude)); return _newObject; } @Override public Mujoco.Contact createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Contact _newObject; try { _newObject = ((Mujoco.Contact) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } final PropertyTree pairOrExcludeOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pairOrExcludeOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pairOrExcludeOrIncludePropertyTree!= null):((pairOrExcludeOrIncludePropertyTree == null)||(!pairOrExcludeOrIncludePropertyTree.isLeaf())))) { _newObject.pairOrExcludeOrInclude = ((this.pairOrExcludeOrInclude == null)?null:new ArrayList(this.pairOrExcludeOrInclude)); } return _newObject; } @Override public Mujoco.Contact copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Contact 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.Contact.Builder<_B> _other) { if (this.pairOrExcludeOrInclude == null) { _other.pairOrExcludeOrInclude = null; } else { _other.pairOrExcludeOrInclude = new ArrayList(); for (Object _item: this.pairOrExcludeOrInclude) { _other.pairOrExcludeOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } public<_B >Mujoco.Contact.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Contact.Builder<_B>(_parentBuilder, this, true); } public Mujoco.Contact.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Contact.Builder builder() { return new Mujoco.Contact.Builder(null, null, false); } public static<_B >Mujoco.Contact.Builder<_B> copyOf(final Mujoco.Contact _other) { final Mujoco.Contact.Builder<_B> _newBuilder = new Mujoco.Contact.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.Contact.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree pairOrExcludeOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pairOrExcludeOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pairOrExcludeOrIncludePropertyTree!= null):((pairOrExcludeOrIncludePropertyTree == null)||(!pairOrExcludeOrIncludePropertyTree.isLeaf())))) { if (this.pairOrExcludeOrInclude == null) { _other.pairOrExcludeOrInclude = null; } else { _other.pairOrExcludeOrInclude = new ArrayList(); for (Object _item: this.pairOrExcludeOrInclude) { _other.pairOrExcludeOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public<_B >Mujoco.Contact.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Contact.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } public Mujoco.Contact.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Contact.Builder<_B> copyOf(final Mujoco.Contact _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Contact.Builder<_B> _newBuilder = new Mujoco.Contact.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Contact.Builder copyExcept(final Mujoco.Contact _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Contact.Builder copyOnly(final Mujoco.Contact _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Contact visit(final PropertyVisitor _visitor_) { _visitor_.visit(this); return this; } public static class Builder<_B >implements Buildable { protected final _B _parentBuilder; private List pairOrExcludeOrInclude; public Builder(final _B _parentBuilder, final Mujoco.Contact _other, final boolean _copy) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_other.pairOrExcludeOrInclude == null) { this.pairOrExcludeOrInclude = null; } else { this.pairOrExcludeOrInclude = new ArrayList(); for (Object _item: _other.pairOrExcludeOrInclude) { this.pairOrExcludeOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Contact _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { this._parentBuilder = _parentBuilder; if (_other!= null) { final PropertyTree pairOrExcludeOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pairOrExcludeOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pairOrExcludeOrIncludePropertyTree!= null):((pairOrExcludeOrIncludePropertyTree == null)||(!pairOrExcludeOrIncludePropertyTree.isLeaf())))) { if (_other.pairOrExcludeOrInclude == null) { this.pairOrExcludeOrInclude = null; } else { this.pairOrExcludeOrInclude = new ArrayList(); for (Object _item: _other.pairOrExcludeOrInclude) { this.pairOrExcludeOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } public _B end() { return this._parentBuilder; } protected<_P extends Mujoco.Contact >_P init(final _P _product) { if (this.pairOrExcludeOrInclude!= null) { final List pairOrExcludeOrInclude = new ArrayList(this.pairOrExcludeOrInclude.size()); for (Buildable _item: this.pairOrExcludeOrInclude) { pairOrExcludeOrInclude.add(((Object) _item.build())); } _product.pairOrExcludeOrInclude = pairOrExcludeOrInclude; } return _product; } /** * Adds the given items to the value of "pairOrExcludeOrInclude" * * @param pairOrExcludeOrInclude * Items to add to the value of the "pairOrExcludeOrInclude" property */ public Mujoco.Contact.Builder<_B> addPairOrExcludeOrInclude(final Iterable pairOrExcludeOrInclude) { if (pairOrExcludeOrInclude!= null) { if (this.pairOrExcludeOrInclude == null) { this.pairOrExcludeOrInclude = new ArrayList(); } for (Object _item: pairOrExcludeOrInclude) { this.pairOrExcludeOrInclude.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "pairOrExcludeOrInclude" (any previous value will be replaced) * * @param pairOrExcludeOrInclude * New value of the "pairOrExcludeOrInclude" property. */ public Mujoco.Contact.Builder<_B> withPairOrExcludeOrInclude(final Iterable pairOrExcludeOrInclude) { if (this.pairOrExcludeOrInclude!= null) { this.pairOrExcludeOrInclude.clear(); } return addPairOrExcludeOrInclude(pairOrExcludeOrInclude); } /** * Adds the given items to the value of "pairOrExcludeOrInclude" * * @param pairOrExcludeOrInclude * Items to add to the value of the "pairOrExcludeOrInclude" property */ public Mujoco.Contact.Builder<_B> addPairOrExcludeOrInclude(Object... pairOrExcludeOrInclude) { addPairOrExcludeOrInclude(Arrays.asList(pairOrExcludeOrInclude)); return this; } /** * Sets the new value of "pairOrExcludeOrInclude" (any previous value will be replaced) * * @param pairOrExcludeOrInclude * New value of the "pairOrExcludeOrInclude" property. */ public Mujoco.Contact.Builder<_B> withPairOrExcludeOrInclude(Object... pairOrExcludeOrInclude) { withPairOrExcludeOrInclude(Arrays.asList(pairOrExcludeOrInclude)); return this; } /** * Adds the given items to the value of "pair_" * * @param pair_ * Items to add to the value of the "pair_" property */ public Mujoco.Contact.Builder<_B> addPair(final Iterable pair_) { if (pair_!= null) { if (this.pairOrExcludeOrInclude == null) { this.pairOrExcludeOrInclude = new ArrayList(); } for (org.mujoco.xml.contact.PairType _item: pair_) { this.pairOrExcludeOrInclude.add(new org.mujoco.xml.contact.PairType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "pair_" * * @param pair_ * Items to add to the value of the "pair_" property */ public Mujoco.Contact.Builder<_B> addPair(org.mujoco.xml.contact.PairType... pair_) { return addPair(Arrays.asList(pair_)); } /** * Returns a new builder to build an additional value of the "pair" property. * Use {@link org.mujoco.xml.contact.PairType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "pair" property. * Use {@link org.mujoco.xml.contact.PairType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.contact.PairType.Builder> addPair() { if (this.pairOrExcludeOrInclude == null) { this.pairOrExcludeOrInclude = new ArrayList(); } final org.mujoco.xml.contact.PairType.Builder> pair_Builder = new org.mujoco.xml.contact.PairType.Builder>(this, null, false); this.pairOrExcludeOrInclude.add(pair_Builder); return pair_Builder; } /** * Adds the given items to the value of "exclude_" * * @param exclude_ * Items to add to the value of the "exclude_" property */ public Mujoco.Contact.Builder<_B> addExclude(final Iterable exclude_) { if (exclude_!= null) { if (this.pairOrExcludeOrInclude == null) { this.pairOrExcludeOrInclude = new ArrayList(); } for (ExcludeType _item: exclude_) { this.pairOrExcludeOrInclude.add(new ExcludeType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "exclude_" * * @param exclude_ * Items to add to the value of the "exclude_" property */ public Mujoco.Contact.Builder<_B> addExclude(ExcludeType... exclude_) { return addExclude(Arrays.asList(exclude_)); } /** * Returns a new builder to build an additional value of the "exclude" property. * Use {@link org.mujoco.xml.contact.ExcludeType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "exclude" property. * Use {@link org.mujoco.xml.contact.ExcludeType.Builder#end()} to return to the current builder. */ public ExcludeType.Builder> addExclude() { if (this.pairOrExcludeOrInclude == null) { this.pairOrExcludeOrInclude = new ArrayList(); } final ExcludeType.Builder> exclude_Builder = new ExcludeType.Builder>(this, null, false); this.pairOrExcludeOrInclude.add(exclude_Builder); return exclude_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Contact.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.pairOrExcludeOrInclude == null) { this.pairOrExcludeOrInclude = new ArrayList(); } for (IncludeType _item: include_) { this.pairOrExcludeOrInclude.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.Contact.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> addInclude() { if (this.pairOrExcludeOrInclude == null) { this.pairOrExcludeOrInclude = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.pairOrExcludeOrInclude.add(include_Builder); return include_Builder; } @Override public Mujoco.Contact build() { return this.init(new Mujoco.Contact()); } public Mujoco.Contact.Builder<_B> copyOf(final Mujoco.Contact _other) { _other.copyTo(this); return this; } public Mujoco.Contact.Builder<_B> copyOf(final Mujoco.Contact.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String PAIR_OR_EXCLUDE_OR_INCLUDE = "pairOrExcludeOrInclude"; } public static class Select extends Mujoco.Contact.Selector { Select() { super(null, null, null); } public static Mujoco.Contact.Select _root() { return new Mujoco.Contact.Select(); } } public static class Selector , TParent > extends com.kscs.util.jaxb.Selector { private com.kscs.util.jaxb.Selector> pairOrExcludeOrInclude = 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.pairOrExcludeOrInclude!= null) { products.put("pairOrExcludeOrInclude", this.pairOrExcludeOrInclude.init()); } return products; } public com.kscs.util.jaxb.Selector> pairOrExcludeOrInclude() { return ((this.pairOrExcludeOrInclude == null)?this.pairOrExcludeOrInclude = new com.kscs.util.jaxb.Selector>(this._root, this, "pairOrExcludeOrInclude"):this.pairOrExcludeOrInclude); } } } /** *

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="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>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "numericOrTextOrTuple" }) public static class Custom implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "numeric", type = NumericType.class), @XmlElement(name = "text", type = TextType.class), @XmlElement(name = "tuple", type = Mujoco.Custom.Tuple.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List numericOrTextOrTuple; private transient BoundList numericOrTextOrTuple__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 Custom() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Custom copying the state of another Custom * * @param _other * The original Custom from which to copy state. */ public Custom(final Mujoco.Custom _other) { this.numericOrTextOrTuple = ((_other.numericOrTextOrTuple == null)?null:new ArrayList(_other.numericOrTextOrTuple)); } /** * Instantiates a Custom copying the state of another Custom * * @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 Custom from which to copy state. */ public Custom(final Mujoco.Custom _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree numericOrTextOrTuplePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numericOrTextOrTuple")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numericOrTextOrTuplePropertyTree!= null):((numericOrTextOrTuplePropertyTree == null)||(!numericOrTextOrTuplePropertyTree.isLeaf())))) { this.numericOrTextOrTuple = ((_other.numericOrTextOrTuple == null)?null:new ArrayList(_other.numericOrTextOrTuple)); } } public BoundList getNumericOrTextOrTuple() { if (this.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = new ArrayList(); } if (this.numericOrTextOrTuple__Proxy == null) { this.numericOrTextOrTuple__Proxy = new BoundListProxy(this.numericOrTextOrTuple); } return this.numericOrTextOrTuple__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.Custom 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.Custom withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Custom clone() { final Mujoco.Custom _newObject; try { _newObject = ((Mujoco.Custom) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.numericOrTextOrTuple = ((this.numericOrTextOrTuple == null)?null:new ArrayList(this.numericOrTextOrTuple)); return _newObject; } @Override public Mujoco.Custom createCopy() { final Mujoco.Custom _newObject; try { _newObject = ((Mujoco.Custom) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.numericOrTextOrTuple = ((this.numericOrTextOrTuple == null)?null:new ArrayList(this.numericOrTextOrTuple)); return _newObject; } @Override public Mujoco.Custom createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Custom _newObject; try { _newObject = ((Mujoco.Custom) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } final PropertyTree numericOrTextOrTuplePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numericOrTextOrTuple")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numericOrTextOrTuplePropertyTree!= null):((numericOrTextOrTuplePropertyTree == null)||(!numericOrTextOrTuplePropertyTree.isLeaf())))) { _newObject.numericOrTextOrTuple = ((this.numericOrTextOrTuple == null)?null:new ArrayList(this.numericOrTextOrTuple)); } return _newObject; } @Override public Mujoco.Custom copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Custom 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.Custom.Builder<_B> _other) { if (this.numericOrTextOrTuple == null) { _other.numericOrTextOrTuple = null; } else { _other.numericOrTextOrTuple = new ArrayList(); for (Object _item: this.numericOrTextOrTuple) { _other.numericOrTextOrTuple.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } public<_B >Mujoco.Custom.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Custom.Builder<_B>(_parentBuilder, this, true); } public Mujoco.Custom.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Custom.Builder builder() { return new Mujoco.Custom.Builder(null, null, false); } public static<_B >Mujoco.Custom.Builder<_B> copyOf(final Mujoco.Custom _other) { final Mujoco.Custom.Builder<_B> _newBuilder = new Mujoco.Custom.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.Custom.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree numericOrTextOrTuplePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numericOrTextOrTuple")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numericOrTextOrTuplePropertyTree!= null):((numericOrTextOrTuplePropertyTree == null)||(!numericOrTextOrTuplePropertyTree.isLeaf())))) { if (this.numericOrTextOrTuple == null) { _other.numericOrTextOrTuple = null; } else { _other.numericOrTextOrTuple = new ArrayList(); for (Object _item: this.numericOrTextOrTuple) { _other.numericOrTextOrTuple.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public<_B >Mujoco.Custom.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Custom.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } public Mujoco.Custom.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Custom.Builder<_B> copyOf(final Mujoco.Custom _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Custom.Builder<_B> _newBuilder = new Mujoco.Custom.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Custom.Builder copyExcept(final Mujoco.Custom _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Custom.Builder copyOnly(final Mujoco.Custom _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Custom visit(final PropertyVisitor _visitor_) { _visitor_.visit(this); return this; } public static class Builder<_B >implements Buildable { protected final _B _parentBuilder; private List numericOrTextOrTuple; public Builder(final _B _parentBuilder, final Mujoco.Custom _other, final boolean _copy) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_other.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = null; } else { this.numericOrTextOrTuple = new ArrayList(); for (Object _item: _other.numericOrTextOrTuple) { this.numericOrTextOrTuple.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Custom _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { this._parentBuilder = _parentBuilder; if (_other!= null) { final PropertyTree numericOrTextOrTuplePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numericOrTextOrTuple")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numericOrTextOrTuplePropertyTree!= null):((numericOrTextOrTuplePropertyTree == null)||(!numericOrTextOrTuplePropertyTree.isLeaf())))) { if (_other.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = null; } else { this.numericOrTextOrTuple = new ArrayList(); for (Object _item: _other.numericOrTextOrTuple) { this.numericOrTextOrTuple.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } public _B end() { return this._parentBuilder; } protected<_P extends Mujoco.Custom >_P init(final _P _product) { if (this.numericOrTextOrTuple!= null) { final List numericOrTextOrTuple = new ArrayList(this.numericOrTextOrTuple.size()); for (Buildable _item: this.numericOrTextOrTuple) { numericOrTextOrTuple.add(((Object) _item.build())); } _product.numericOrTextOrTuple = numericOrTextOrTuple; } return _product; } /** * Adds the given items to the value of "numericOrTextOrTuple" * * @param numericOrTextOrTuple * Items to add to the value of the "numericOrTextOrTuple" property */ public Mujoco.Custom.Builder<_B> addNumericOrTextOrTuple(final Iterable numericOrTextOrTuple) { if (numericOrTextOrTuple!= null) { if (this.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = new ArrayList(); } for (Object _item: numericOrTextOrTuple) { this.numericOrTextOrTuple.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "numericOrTextOrTuple" (any previous value will be replaced) * * @param numericOrTextOrTuple * New value of the "numericOrTextOrTuple" property. */ public Mujoco.Custom.Builder<_B> withNumericOrTextOrTuple(final Iterable numericOrTextOrTuple) { if (this.numericOrTextOrTuple!= null) { this.numericOrTextOrTuple.clear(); } return addNumericOrTextOrTuple(numericOrTextOrTuple); } /** * Adds the given items to the value of "numericOrTextOrTuple" * * @param numericOrTextOrTuple * Items to add to the value of the "numericOrTextOrTuple" property */ public Mujoco.Custom.Builder<_B> addNumericOrTextOrTuple(Object... numericOrTextOrTuple) { addNumericOrTextOrTuple(Arrays.asList(numericOrTextOrTuple)); return this; } /** * Sets the new value of "numericOrTextOrTuple" (any previous value will be replaced) * * @param numericOrTextOrTuple * New value of the "numericOrTextOrTuple" property. */ public Mujoco.Custom.Builder<_B> withNumericOrTextOrTuple(Object... numericOrTextOrTuple) { withNumericOrTextOrTuple(Arrays.asList(numericOrTextOrTuple)); return this; } /** * Adds the given items to the value of "numeric_" * * @param numeric_ * Items to add to the value of the "numeric_" property */ public Mujoco.Custom.Builder<_B> addNumeric(final Iterable numeric_) { if (numeric_!= null) { if (this.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = new ArrayList(); } for (NumericType _item: numeric_) { this.numericOrTextOrTuple.add(new NumericType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "numeric_" * * @param numeric_ * Items to add to the value of the "numeric_" property */ public Mujoco.Custom.Builder<_B> addNumeric(NumericType... numeric_) { return addNumeric(Arrays.asList(numeric_)); } /** * Returns a new builder to build an additional value of the "numeric" property. * Use {@link org.mujoco.xml.custom.NumericType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "numeric" property. * Use {@link org.mujoco.xml.custom.NumericType.Builder#end()} to return to the current builder. */ public NumericType.Builder> addNumeric() { if (this.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = new ArrayList(); } final NumericType.Builder> numeric_Builder = new NumericType.Builder>(this, null, false); this.numericOrTextOrTuple.add(numeric_Builder); return numeric_Builder; } /** * Adds the given items to the value of "text_" * * @param text_ * Items to add to the value of the "text_" property */ public Mujoco.Custom.Builder<_B> addText(final Iterable text_) { if (text_!= null) { if (this.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = new ArrayList(); } for (TextType _item: text_) { this.numericOrTextOrTuple.add(new TextType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "text_" * * @param text_ * Items to add to the value of the "text_" property */ public Mujoco.Custom.Builder<_B> addText(TextType... text_) { return addText(Arrays.asList(text_)); } /** * Returns a new builder to build an additional value of the "text" property. * Use {@link org.mujoco.xml.custom.TextType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "text" property. * Use {@link org.mujoco.xml.custom.TextType.Builder#end()} to return to the current builder. */ public TextType.Builder> addText() { if (this.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = new ArrayList(); } final TextType.Builder> text_Builder = new TextType.Builder>(this, null, false); this.numericOrTextOrTuple.add(text_Builder); return text_Builder; } /** * Adds the given items to the value of "tuple_" * * @param tuple_ * Items to add to the value of the "tuple_" property */ public Mujoco.Custom.Builder<_B> addTuple(final Iterable tuple_) { if (tuple_!= null) { if (this.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = new ArrayList(); } for (Mujoco.Custom.Tuple _item: tuple_) { this.numericOrTextOrTuple.add(new Mujoco.Custom.Tuple.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "tuple_" * * @param tuple_ * Items to add to the value of the "tuple_" property */ public Mujoco.Custom.Builder<_B> addTuple(Mujoco.Custom.Tuple... tuple_) { return addTuple(Arrays.asList(tuple_)); } /** * Returns a new builder to build an additional value of the "tuple" property. * Use {@link org.mujoco.xml.Mujoco.Custom.Tuple.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "tuple" property. * Use {@link org.mujoco.xml.Mujoco.Custom.Tuple.Builder#end()} to return to the current builder. */ public Mujoco.Custom.Tuple.Builder> addTuple() { if (this.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = new ArrayList(); } final Mujoco.Custom.Tuple.Builder> tuple_Builder = new Mujoco.Custom.Tuple.Builder>(this, null, false); this.numericOrTextOrTuple.add(tuple_Builder); return tuple_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Custom.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = new ArrayList(); } for (IncludeType _item: include_) { this.numericOrTextOrTuple.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.Custom.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> addInclude() { if (this.numericOrTextOrTuple == null) { this.numericOrTextOrTuple = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.numericOrTextOrTuple.add(include_Builder); return include_Builder; } @Override public Mujoco.Custom build() { return this.init(new Mujoco.Custom()); } public Mujoco.Custom.Builder<_B> copyOf(final Mujoco.Custom _other) { _other.copyTo(this); return this; } public Mujoco.Custom.Builder<_B> copyOf(final Mujoco.Custom.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String NUMERIC_OR_TEXT_OR_TUPLE = "numericOrTextOrTuple"; } public static class Select extends Mujoco.Custom.Selector { Select() { super(null, null, null); } public static Mujoco.Custom.Select _root() { return new Mujoco.Custom.Select(); } } public static class Selector , TParent > extends com.kscs.util.jaxb.Selector { private com.kscs.util.jaxb.Selector> numericOrTextOrTuple = 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.numericOrTextOrTuple!= null) { products.put("numericOrTextOrTuple", this.numericOrTextOrTuple.init()); } return products; } public com.kscs.util.jaxb.Selector> numericOrTextOrTuple() { return ((this.numericOrTextOrTuple == null)?this.numericOrTextOrTuple = new com.kscs.util.jaxb.Selector>(this._root, this, "numericOrTextOrTuple"):this.numericOrTextOrTuple); } } /** *

Java class for anonymous complex type. * *

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

         * <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>
         * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "elementOrInclude" }) public static class Tuple extends TupleType implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "element", type = ElementType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List elementOrInclude; private transient BoundList elementOrInclude__Proxy = null; /** * Generated by copy-constructor plugin, JAXB requires public no-arg constructor. * */ public Tuple() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Tuple copying the state of another Tuple * * @param _other * The original Tuple from which to copy state. */ public Tuple(final Mujoco.Custom.Tuple _other) { super(_other); this.elementOrInclude = ((_other.elementOrInclude == null)?null:new ArrayList(_other.elementOrInclude)); } /** * Instantiates a Tuple copying the state of another Tuple * * @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 Tuple from which to copy state. */ public Tuple(final Mujoco.Custom.Tuple _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_other, _propertyTree, _propertyTreeUse); final PropertyTree elementOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elementOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementOrIncludePropertyTree!= null):((elementOrIncludePropertyTree == null)||(!elementOrIncludePropertyTree.isLeaf())))) { this.elementOrInclude = ((_other.elementOrInclude == null)?null:new ArrayList(_other.elementOrInclude)); } } public BoundList getElementOrInclude() { if (this.elementOrInclude == null) { this.elementOrInclude = new ArrayList(); } if (this.elementOrInclude__Proxy == null) { this.elementOrInclude__Proxy = new BoundListProxy(this.elementOrInclude); } return this.elementOrInclude__Proxy; } @Override public Mujoco.Custom.Tuple withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) { addVetoableChangeListener(vetoableChangeListener); return this; } @Override public Mujoco.Custom.Tuple withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Custom.Tuple clone() { final Mujoco.Custom.Tuple _newObject; _newObject = ((Mujoco.Custom.Tuple) super.clone()); _newObject.elementOrInclude = ((this.elementOrInclude == null)?null:new ArrayList(this.elementOrInclude)); return _newObject; } @Override public Mujoco.Custom.Tuple createCopy() { final Mujoco.Custom.Tuple _newObject = ((Mujoco.Custom.Tuple) super.createCopy()); _newObject.elementOrInclude = ((this.elementOrInclude == null)?null:new ArrayList(this.elementOrInclude)); return _newObject; } @Override public Mujoco.Custom.Tuple createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Custom.Tuple _newObject = ((Mujoco.Custom.Tuple) super.createCopy(_propertyTree, _propertyTreeUse)); final PropertyTree elementOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elementOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementOrIncludePropertyTree!= null):((elementOrIncludePropertyTree == null)||(!elementOrIncludePropertyTree.isLeaf())))) { _newObject.elementOrInclude = ((this.elementOrInclude == null)?null:new ArrayList(this.elementOrInclude)); } return _newObject; } @Override public Mujoco.Custom.Tuple copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Custom.Tuple 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.Custom.Tuple.Builder<_B> _other) { super.copyTo(_other); if (this.elementOrInclude == null) { _other.elementOrInclude = null; } else { _other.elementOrInclude = new ArrayList(); for (Object _item: this.elementOrInclude) { _other.elementOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } @Override public<_B >Mujoco.Custom.Tuple.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Custom.Tuple.Builder<_B>(_parentBuilder, this, true); } @Override public Mujoco.Custom.Tuple.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Custom.Tuple.Builder builder() { return new Mujoco.Custom.Tuple.Builder(null, null, false); } public static<_B >Mujoco.Custom.Tuple.Builder<_B> copyOf(final TupleType _other) { final Mujoco.Custom.Tuple.Builder<_B> _newBuilder = new Mujoco.Custom.Tuple.Builder<_B>(null, null, false); _other.copyTo(_newBuilder); return _newBuilder; } public static<_B >Mujoco.Custom.Tuple.Builder<_B> copyOf(final Mujoco.Custom.Tuple _other) { final Mujoco.Custom.Tuple.Builder<_B> _newBuilder = new Mujoco.Custom.Tuple.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.Custom.Tuple.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super.copyTo(_other, _propertyTree, _propertyTreeUse); final PropertyTree elementOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elementOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementOrIncludePropertyTree!= null):((elementOrIncludePropertyTree == null)||(!elementOrIncludePropertyTree.isLeaf())))) { if (this.elementOrInclude == null) { _other.elementOrInclude = null; } else { _other.elementOrInclude = new ArrayList(); for (Object _item: this.elementOrInclude) { _other.elementOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } @Override public<_B >Mujoco.Custom.Tuple.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Custom.Tuple.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } @Override public Mujoco.Custom.Tuple.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Custom.Tuple.Builder<_B> copyOf(final TupleType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Custom.Tuple.Builder<_B> _newBuilder = new Mujoco.Custom.Tuple.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static<_B >Mujoco.Custom.Tuple.Builder<_B> copyOf(final Mujoco.Custom.Tuple _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Custom.Tuple.Builder<_B> _newBuilder = new Mujoco.Custom.Tuple.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Custom.Tuple.Builder copyExcept(final TupleType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Custom.Tuple.Builder copyExcept(final Mujoco.Custom.Tuple _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Custom.Tuple.Builder copyOnly(final TupleType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public static Mujoco.Custom.Tuple.Builder copyOnly(final Mujoco.Custom.Tuple _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Custom.Tuple visit(final PropertyVisitor _visitor_) { super.visit(_visitor_); return this; } public static class Builder<_B > extends TupleType.Builder<_B> implements Buildable { private List elementOrInclude; public Builder(final _B _parentBuilder, final Mujoco.Custom.Tuple _other, final boolean _copy) { super(_parentBuilder, _other, _copy); if (_other!= null) { if (_other.elementOrInclude == null) { this.elementOrInclude = null; } else { this.elementOrInclude = new ArrayList(); for (Object _item: _other.elementOrInclude) { this.elementOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Custom.Tuple _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); if (_other!= null) { final PropertyTree elementOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elementOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementOrIncludePropertyTree!= null):((elementOrIncludePropertyTree == null)||(!elementOrIncludePropertyTree.isLeaf())))) { if (_other.elementOrInclude == null) { this.elementOrInclude = null; } else { this.elementOrInclude = new ArrayList(); for (Object _item: _other.elementOrInclude) { this.elementOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } protected<_P extends Mujoco.Custom.Tuple >_P init(final _P _product) { if (this.elementOrInclude!= null) { final List elementOrInclude = new ArrayList(this.elementOrInclude.size()); for (Buildable _item: this.elementOrInclude) { elementOrInclude.add(((Object) _item.build())); } _product.elementOrInclude = elementOrInclude; } return super.init(_product); } /** * Adds the given items to the value of "elementOrInclude" * * @param elementOrInclude * Items to add to the value of the "elementOrInclude" property */ public Mujoco.Custom.Tuple.Builder<_B> addElementOrInclude(final Iterable elementOrInclude) { if (elementOrInclude!= null) { if (this.elementOrInclude == null) { this.elementOrInclude = new ArrayList(); } for (Object _item: elementOrInclude) { this.elementOrInclude.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "elementOrInclude" (any previous value will be replaced) * * @param elementOrInclude * New value of the "elementOrInclude" property. */ public Mujoco.Custom.Tuple.Builder<_B> withElementOrInclude(final Iterable elementOrInclude) { if (this.elementOrInclude!= null) { this.elementOrInclude.clear(); } return addElementOrInclude(elementOrInclude); } /** * Adds the given items to the value of "elementOrInclude" * * @param elementOrInclude * Items to add to the value of the "elementOrInclude" property */ public Mujoco.Custom.Tuple.Builder<_B> addElementOrInclude(Object... elementOrInclude) { addElementOrInclude(Arrays.asList(elementOrInclude)); return this; } /** * Sets the new value of "elementOrInclude" (any previous value will be replaced) * * @param elementOrInclude * New value of the "elementOrInclude" property. */ public Mujoco.Custom.Tuple.Builder<_B> withElementOrInclude(Object... elementOrInclude) { withElementOrInclude(Arrays.asList(elementOrInclude)); return this; } /** * Adds the given items to the value of "element_" * * @param element_ * Items to add to the value of the "element_" property */ public Mujoco.Custom.Tuple.Builder<_B> addElement(final Iterable element_) { if (element_!= null) { if (this.elementOrInclude == null) { this.elementOrInclude = new ArrayList(); } for (ElementType _item: element_) { this.elementOrInclude.add(new ElementType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "element_" * * @param element_ * Items to add to the value of the "element_" property */ public Mujoco.Custom.Tuple.Builder<_B> addElement(ElementType... element_) { return addElement(Arrays.asList(element_)); } /** * Returns a new builder to build an additional value of the "element" property. * Use {@link org.mujoco.xml.custom.ElementType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "element" property. * Use {@link org.mujoco.xml.custom.ElementType.Builder#end()} to return to the current builder. */ public ElementType.Builder> addElement() { if (this.elementOrInclude == null) { this.elementOrInclude = new ArrayList(); } final ElementType.Builder> element_Builder = new ElementType.Builder>(this, null, false); this.elementOrInclude.add(element_Builder); return element_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Custom.Tuple.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.elementOrInclude == null) { this.elementOrInclude = new ArrayList(); } for (IncludeType _item: include_) { this.elementOrInclude.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.Custom.Tuple.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> addInclude() { if (this.elementOrInclude == null) { this.elementOrInclude = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.elementOrInclude.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.Custom.Tuple.Builder<_B> withName(final String name) { super.withName(name); return this; } @Override public Mujoco.Custom.Tuple build() { return this.init(new Mujoco.Custom.Tuple()); } public Mujoco.Custom.Tuple.Builder<_B> copyOf(final Mujoco.Custom.Tuple _other) { _other.copyTo(this); return this; } public Mujoco.Custom.Tuple.Builder<_B> copyOf(final Mujoco.Custom.Tuple.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String ELEMENT_OR_INCLUDE = "elementOrInclude"; } public static class Select extends Mujoco.Custom.Tuple.Selector { Select() { super(null, null, null); } public static Mujoco.Custom.Tuple.Select _root() { return new Mujoco.Custom.Tuple.Select(); } } public static class Selector , TParent > extends TupleType.Selector { private com.kscs.util.jaxb.Selector> elementOrInclude = 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.elementOrInclude!= null) { products.put("elementOrInclude", this.elementOrInclude.init()); } return products; } public com.kscs.util.jaxb.Selector> elementOrInclude() { return ((this.elementOrInclude == null)?this.elementOrInclude = new com.kscs.util.jaxb.Selector>(this._root, this, "elementOrInclude"):this.elementOrInclude); } } } } /** *

Java class for anonymous complex type. * *

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

     * <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>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "meshOrMaterialOrJoint" }) public static class Default extends DefaultmainType implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "mesh", type = org.mujoco.xml.MuJoCoDefault.MeshType.class), @XmlElement(name = "material", type = org.mujoco.xml.MuJoCoDefault.MaterialType.class), @XmlElement(name = "joint", type = org.mujoco.xml.MuJoCoDefault.JointType.class), @XmlElement(name = "geom", type = org.mujoco.xml.MuJoCoDefault.GeomType.class), @XmlElement(name = "site", type = org.mujoco.xml.MuJoCoDefault.SiteType.class), @XmlElement(name = "camera", type = org.mujoco.xml.MuJoCoDefault.CameraType.class), @XmlElement(name = "light", type = org.mujoco.xml.MuJoCoDefault.LightType.class), @XmlElement(name = "pair", type = org.mujoco.xml.MuJoCoDefault.PairType.class), @XmlElement(name = "equality", type = EqualityType.class), @XmlElement(name = "tendon", type = org.mujoco.xml.MuJoCoDefault.TendonType.class), @XmlElement(name = "general", type = org.mujoco.xml.MuJoCoDefault.GeneralType.class), @XmlElement(name = "motor", type = org.mujoco.xml.MuJoCoDefault.MotorType.class), @XmlElement(name = "position", type = org.mujoco.xml.MuJoCoDefault.PositionType.class), @XmlElement(name = "velocity", type = org.mujoco.xml.MuJoCoDefault.VelocityType.class), @XmlElement(name = "cylinder", type = org.mujoco.xml.MuJoCoDefault.CylinderType.class), @XmlElement(name = "muscle", type = org.mujoco.xml.MuJoCoDefault.MuscleType.class), @XmlElement(name = "default", type = DefaultType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List meshOrMaterialOrJoint; private transient BoundList meshOrMaterialOrJoint__Proxy = null; /** * Generated by copy-constructor plugin, JAXB requires public no-arg constructor. * */ public Default() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Default copying the state of another Default * * @param _other * The original Default from which to copy state. */ public Default(final Mujoco.Default _other) { super(_other); this.meshOrMaterialOrJoint = ((_other.meshOrMaterialOrJoint == null)?null:new ArrayList(_other.meshOrMaterialOrJoint)); } /** * Instantiates a Default copying the state of another Default * * @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 Default from which to copy state. */ public Default(final Mujoco.Default _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_other, _propertyTree, _propertyTreeUse); final PropertyTree meshOrMaterialOrJointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("meshOrMaterialOrJoint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(meshOrMaterialOrJointPropertyTree!= null):((meshOrMaterialOrJointPropertyTree == null)||(!meshOrMaterialOrJointPropertyTree.isLeaf())))) { this.meshOrMaterialOrJoint = ((_other.meshOrMaterialOrJoint == null)?null:new ArrayList(_other.meshOrMaterialOrJoint)); } } public BoundList getMeshOrMaterialOrJoint() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } if (this.meshOrMaterialOrJoint__Proxy == null) { this.meshOrMaterialOrJoint__Proxy = new BoundListProxy(this.meshOrMaterialOrJoint); } return this.meshOrMaterialOrJoint__Proxy; } @Override public Mujoco.Default withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) { addVetoableChangeListener(vetoableChangeListener); return this; } @Override public Mujoco.Default withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Default clone() { final Mujoco.Default _newObject; _newObject = ((Mujoco.Default) super.clone()); _newObject.meshOrMaterialOrJoint = ((this.meshOrMaterialOrJoint == null)?null:new ArrayList(this.meshOrMaterialOrJoint)); return _newObject; } @Override public Mujoco.Default createCopy() { final Mujoco.Default _newObject = ((Mujoco.Default) super.createCopy()); _newObject.meshOrMaterialOrJoint = ((this.meshOrMaterialOrJoint == null)?null:new ArrayList(this.meshOrMaterialOrJoint)); return _newObject; } @Override public Mujoco.Default createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Default _newObject = ((Mujoco.Default) super.createCopy(_propertyTree, _propertyTreeUse)); final PropertyTree meshOrMaterialOrJointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("meshOrMaterialOrJoint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(meshOrMaterialOrJointPropertyTree!= null):((meshOrMaterialOrJointPropertyTree == null)||(!meshOrMaterialOrJointPropertyTree.isLeaf())))) { _newObject.meshOrMaterialOrJoint = ((this.meshOrMaterialOrJoint == null)?null:new ArrayList(this.meshOrMaterialOrJoint)); } return _newObject; } @Override public Mujoco.Default copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Default 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.Default.Builder<_B> _other) { super.copyTo(_other); if (this.meshOrMaterialOrJoint == null) { _other.meshOrMaterialOrJoint = null; } else { _other.meshOrMaterialOrJoint = new ArrayList(); for (Object _item: this.meshOrMaterialOrJoint) { _other.meshOrMaterialOrJoint.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } @Override public<_B >Mujoco.Default.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Default.Builder<_B>(_parentBuilder, this, true); } @Override public Mujoco.Default.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Default.Builder builder() { return new Mujoco.Default.Builder(null, null, false); } public static<_B >Mujoco.Default.Builder<_B> copyOf(final DefaultmainType _other) { final Mujoco.Default.Builder<_B> _newBuilder = new Mujoco.Default.Builder<_B>(null, null, false); _other.copyTo(_newBuilder); return _newBuilder; } public static<_B >Mujoco.Default.Builder<_B> copyOf(final Mujoco.Default _other) { final Mujoco.Default.Builder<_B> _newBuilder = new Mujoco.Default.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.Default.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super.copyTo(_other, _propertyTree, _propertyTreeUse); final PropertyTree meshOrMaterialOrJointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("meshOrMaterialOrJoint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(meshOrMaterialOrJointPropertyTree!= null):((meshOrMaterialOrJointPropertyTree == null)||(!meshOrMaterialOrJointPropertyTree.isLeaf())))) { if (this.meshOrMaterialOrJoint == null) { _other.meshOrMaterialOrJoint = null; } else { _other.meshOrMaterialOrJoint = new ArrayList(); for (Object _item: this.meshOrMaterialOrJoint) { _other.meshOrMaterialOrJoint.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } @Override public<_B >Mujoco.Default.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Default.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } @Override public Mujoco.Default.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Default.Builder<_B> copyOf(final DefaultmainType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Default.Builder<_B> _newBuilder = new Mujoco.Default.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static<_B >Mujoco.Default.Builder<_B> copyOf(final Mujoco.Default _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Default.Builder<_B> _newBuilder = new Mujoco.Default.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Default.Builder copyExcept(final DefaultmainType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Default.Builder copyExcept(final Mujoco.Default _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Default.Builder copyOnly(final DefaultmainType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public static Mujoco.Default.Builder copyOnly(final Mujoco.Default _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Default visit(final PropertyVisitor _visitor_) { super.visit(_visitor_); return this; } public static class Builder<_B > extends DefaultmainType.Builder<_B> implements Buildable { private List meshOrMaterialOrJoint; public Builder(final _B _parentBuilder, final Mujoco.Default _other, final boolean _copy) { super(_parentBuilder, _other, _copy); if (_other!= null) { if (_other.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = null; } else { this.meshOrMaterialOrJoint = new ArrayList(); for (Object _item: _other.meshOrMaterialOrJoint) { this.meshOrMaterialOrJoint.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Default _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); if (_other!= null) { final PropertyTree meshOrMaterialOrJointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("meshOrMaterialOrJoint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(meshOrMaterialOrJointPropertyTree!= null):((meshOrMaterialOrJointPropertyTree == null)||(!meshOrMaterialOrJointPropertyTree.isLeaf())))) { if (_other.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = null; } else { this.meshOrMaterialOrJoint = new ArrayList(); for (Object _item: _other.meshOrMaterialOrJoint) { this.meshOrMaterialOrJoint.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } protected<_P extends Mujoco.Default >_P init(final _P _product) { if (this.meshOrMaterialOrJoint!= null) { final List meshOrMaterialOrJoint = new ArrayList(this.meshOrMaterialOrJoint.size()); for (Buildable _item: this.meshOrMaterialOrJoint) { meshOrMaterialOrJoint.add(((Object) _item.build())); } _product.meshOrMaterialOrJoint = meshOrMaterialOrJoint; } return super.init(_product); } /** * Adds the given items to the value of "meshOrMaterialOrJoint" * * @param meshOrMaterialOrJoint * Items to add to the value of the "meshOrMaterialOrJoint" property */ public Mujoco.Default.Builder<_B> addMeshOrMaterialOrJoint(final Iterable meshOrMaterialOrJoint) { if (meshOrMaterialOrJoint!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (Object _item: meshOrMaterialOrJoint) { this.meshOrMaterialOrJoint.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "meshOrMaterialOrJoint" (any previous value will be replaced) * * @param meshOrMaterialOrJoint * New value of the "meshOrMaterialOrJoint" property. */ public Mujoco.Default.Builder<_B> withMeshOrMaterialOrJoint(final Iterable meshOrMaterialOrJoint) { if (this.meshOrMaterialOrJoint!= null) { this.meshOrMaterialOrJoint.clear(); } return addMeshOrMaterialOrJoint(meshOrMaterialOrJoint); } /** * Adds the given items to the value of "meshOrMaterialOrJoint" * * @param meshOrMaterialOrJoint * Items to add to the value of the "meshOrMaterialOrJoint" property */ public Mujoco.Default.Builder<_B> addMeshOrMaterialOrJoint(Object... meshOrMaterialOrJoint) { addMeshOrMaterialOrJoint(Arrays.asList(meshOrMaterialOrJoint)); return this; } /** * Sets the new value of "meshOrMaterialOrJoint" (any previous value will be replaced) * * @param meshOrMaterialOrJoint * New value of the "meshOrMaterialOrJoint" property. */ public Mujoco.Default.Builder<_B> withMeshOrMaterialOrJoint(Object... meshOrMaterialOrJoint) { withMeshOrMaterialOrJoint(Arrays.asList(meshOrMaterialOrJoint)); 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.Default.Builder<_B> addMesh(final Iterable mesh_) { if (mesh_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.MeshType _item: mesh_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.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.Default.Builder<_B> addMesh(org.mujoco.xml.MuJoCoDefault.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.MuJoCoDefault.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.MuJoCoDefault.MeshType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.MeshType.Builder> addMesh() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.MeshType.Builder> mesh_Builder = new org.mujoco.xml.MuJoCoDefault.MeshType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(mesh_Builder); return mesh_Builder; } /** * Adds the given items to the value of "material_" * * @param material_ * Items to add to the value of the "material_" property */ public Mujoco.Default.Builder<_B> addMaterial(final Iterable material_) { if (material_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.MaterialType _item: material_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.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.Default.Builder<_B> addMaterial(org.mujoco.xml.MuJoCoDefault.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.MuJoCoDefault.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.MuJoCoDefault.MaterialType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.MaterialType.Builder> addMaterial() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.MaterialType.Builder> material_Builder = new org.mujoco.xml.MuJoCoDefault.MaterialType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(material_Builder); return material_Builder; } /** * Adds the given items to the value of "joint_" * * @param joint_ * Items to add to the value of the "joint_" property */ public Mujoco.Default.Builder<_B> addJoint(final Iterable joint_) { if (joint_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.JointType _item: joint_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.JointType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "joint_" * * @param joint_ * Items to add to the value of the "joint_" property */ public Mujoco.Default.Builder<_B> addJoint(org.mujoco.xml.MuJoCoDefault.JointType... joint_) { return addJoint(Arrays.asList(joint_)); } /** * Returns a new builder to build an additional value of the "joint" property. * Use {@link org.mujoco.xml.MuJoCoDefault.JointType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "joint" property. * Use {@link org.mujoco.xml.MuJoCoDefault.JointType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.JointType.Builder> addJoint() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.JointType.Builder> joint_Builder = new org.mujoco.xml.MuJoCoDefault.JointType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(joint_Builder); return joint_Builder; } /** * Adds the given items to the value of "geom_" * * @param geom_ * Items to add to the value of the "geom_" property */ public Mujoco.Default.Builder<_B> addGeom(final Iterable geom_) { if (geom_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.GeomType _item: geom_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.GeomType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "geom_" * * @param geom_ * Items to add to the value of the "geom_" property */ public Mujoco.Default.Builder<_B> addGeom(org.mujoco.xml.MuJoCoDefault.GeomType... geom_) { return addGeom(Arrays.asList(geom_)); } /** * Returns a new builder to build an additional value of the "geom" property. * Use {@link org.mujoco.xml.MuJoCoDefault.GeomType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "geom" property. * Use {@link org.mujoco.xml.MuJoCoDefault.GeomType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.GeomType.Builder> addGeom() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.GeomType.Builder> geom_Builder = new org.mujoco.xml.MuJoCoDefault.GeomType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(geom_Builder); return geom_Builder; } /** * Adds the given items to the value of "site_" * * @param site_ * Items to add to the value of the "site_" property */ public Mujoco.Default.Builder<_B> addSite(final Iterable site_) { if (site_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.SiteType _item: site_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.SiteType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "site_" * * @param site_ * Items to add to the value of the "site_" property */ public Mujoco.Default.Builder<_B> addSite(org.mujoco.xml.MuJoCoDefault.SiteType... site_) { return addSite(Arrays.asList(site_)); } /** * Returns a new builder to build an additional value of the "site" property. * Use {@link org.mujoco.xml.MuJoCoDefault.SiteType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "site" property. * Use {@link org.mujoco.xml.MuJoCoDefault.SiteType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.SiteType.Builder> addSite() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.SiteType.Builder> site_Builder = new org.mujoco.xml.MuJoCoDefault.SiteType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(site_Builder); return site_Builder; } /** * Adds the given items to the value of "camera_" * * @param camera_ * Items to add to the value of the "camera_" property */ public Mujoco.Default.Builder<_B> addCamera(final Iterable camera_) { if (camera_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.CameraType _item: camera_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.CameraType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "camera_" * * @param camera_ * Items to add to the value of the "camera_" property */ public Mujoco.Default.Builder<_B> addCamera(org.mujoco.xml.MuJoCoDefault.CameraType... camera_) { return addCamera(Arrays.asList(camera_)); } /** * Returns a new builder to build an additional value of the "camera" property. * Use {@link org.mujoco.xml.MuJoCoDefault.CameraType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "camera" property. * Use {@link org.mujoco.xml.MuJoCoDefault.CameraType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.CameraType.Builder> addCamera() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.CameraType.Builder> camera_Builder = new org.mujoco.xml.MuJoCoDefault.CameraType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(camera_Builder); return camera_Builder; } /** * Adds the given items to the value of "light_" * * @param light_ * Items to add to the value of the "light_" property */ public Mujoco.Default.Builder<_B> addLight(final Iterable light_) { if (light_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.LightType _item: light_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.LightType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "light_" * * @param light_ * Items to add to the value of the "light_" property */ public Mujoco.Default.Builder<_B> addLight(org.mujoco.xml.MuJoCoDefault.LightType... light_) { return addLight(Arrays.asList(light_)); } /** * Returns a new builder to build an additional value of the "light" property. * Use {@link org.mujoco.xml.MuJoCoDefault.LightType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "light" property. * Use {@link org.mujoco.xml.MuJoCoDefault.LightType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.LightType.Builder> addLight() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.LightType.Builder> light_Builder = new org.mujoco.xml.MuJoCoDefault.LightType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(light_Builder); return light_Builder; } /** * Adds the given items to the value of "pair_" * * @param pair_ * Items to add to the value of the "pair_" property */ public Mujoco.Default.Builder<_B> addPair(final Iterable pair_) { if (pair_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.PairType _item: pair_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.PairType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "pair_" * * @param pair_ * Items to add to the value of the "pair_" property */ public Mujoco.Default.Builder<_B> addPair(org.mujoco.xml.MuJoCoDefault.PairType... pair_) { return addPair(Arrays.asList(pair_)); } /** * Returns a new builder to build an additional value of the "pair" property. * Use {@link org.mujoco.xml.MuJoCoDefault.PairType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "pair" property. * Use {@link org.mujoco.xml.MuJoCoDefault.PairType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.PairType.Builder> addPair() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.PairType.Builder> pair_Builder = new org.mujoco.xml.MuJoCoDefault.PairType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(pair_Builder); return pair_Builder; } /** * Adds the given items to the value of "equality_" * * @param equality_ * Items to add to the value of the "equality_" property */ public Mujoco.Default.Builder<_B> addEquality(final Iterable equality_) { if (equality_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (EqualityType _item: equality_) { this.meshOrMaterialOrJoint.add(new EqualityType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "equality_" * * @param equality_ * Items to add to the value of the "equality_" property */ public Mujoco.Default.Builder<_B> addEquality(EqualityType... equality_) { return addEquality(Arrays.asList(equality_)); } /** * Returns a new builder to build an additional value of the "equality" property. * Use {@link org.mujoco.xml.MuJoCoDefault.EqualityType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "equality" property. * Use {@link org.mujoco.xml.MuJoCoDefault.EqualityType.Builder#end()} to return to the current builder. */ public EqualityType.Builder> addEquality() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final EqualityType.Builder> equality_Builder = new EqualityType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(equality_Builder); return equality_Builder; } /** * Adds the given items to the value of "tendon_" * * @param tendon_ * Items to add to the value of the "tendon_" property */ public Mujoco.Default.Builder<_B> addTendon(final Iterable tendon_) { if (tendon_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.TendonType _item: tendon_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.TendonType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "tendon_" * * @param tendon_ * Items to add to the value of the "tendon_" property */ public Mujoco.Default.Builder<_B> addTendon(org.mujoco.xml.MuJoCoDefault.TendonType... tendon_) { return addTendon(Arrays.asList(tendon_)); } /** * Returns a new builder to build an additional value of the "tendon" property. * Use {@link org.mujoco.xml.MuJoCoDefault.TendonType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "tendon" property. * Use {@link org.mujoco.xml.MuJoCoDefault.TendonType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.TendonType.Builder> addTendon() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.TendonType.Builder> tendon_Builder = new org.mujoco.xml.MuJoCoDefault.TendonType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(tendon_Builder); return tendon_Builder; } /** * Adds the given items to the value of "general_" * * @param general_ * Items to add to the value of the "general_" property */ public Mujoco.Default.Builder<_B> addGeneral(final Iterable general_) { if (general_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.GeneralType _item: general_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.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.Default.Builder<_B> addGeneral(org.mujoco.xml.MuJoCoDefault.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.MuJoCoDefault.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.MuJoCoDefault.GeneralType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.GeneralType.Builder> addGeneral() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.GeneralType.Builder> general_Builder = new org.mujoco.xml.MuJoCoDefault.GeneralType.Builder>(this, null, false); this.meshOrMaterialOrJoint.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.Default.Builder<_B> addMotor(final Iterable motor_) { if (motor_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.MotorType _item: motor_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.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.Default.Builder<_B> addMotor(org.mujoco.xml.MuJoCoDefault.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.MuJoCoDefault.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.MuJoCoDefault.MotorType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.MotorType.Builder> addMotor() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.MotorType.Builder> motor_Builder = new org.mujoco.xml.MuJoCoDefault.MotorType.Builder>(this, null, false); this.meshOrMaterialOrJoint.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.Default.Builder<_B> addPosition(final Iterable position_) { if (position_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.PositionType _item: position_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.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.Default.Builder<_B> addPosition(org.mujoco.xml.MuJoCoDefault.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.MuJoCoDefault.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.MuJoCoDefault.PositionType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.PositionType.Builder> addPosition() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.PositionType.Builder> position_Builder = new org.mujoco.xml.MuJoCoDefault.PositionType.Builder>(this, null, false); this.meshOrMaterialOrJoint.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.Default.Builder<_B> addVelocity(final Iterable velocity_) { if (velocity_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.VelocityType _item: velocity_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.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.Default.Builder<_B> addVelocity(org.mujoco.xml.MuJoCoDefault.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.MuJoCoDefault.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.MuJoCoDefault.VelocityType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.VelocityType.Builder> addVelocity() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.VelocityType.Builder> velocity_Builder = new org.mujoco.xml.MuJoCoDefault.VelocityType.Builder>(this, null, false); this.meshOrMaterialOrJoint.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.Default.Builder<_B> addCylinder(final Iterable cylinder_) { if (cylinder_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.CylinderType _item: cylinder_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.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.Default.Builder<_B> addCylinder(org.mujoco.xml.MuJoCoDefault.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.MuJoCoDefault.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.MuJoCoDefault.CylinderType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.CylinderType.Builder> addCylinder() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.CylinderType.Builder> cylinder_Builder = new org.mujoco.xml.MuJoCoDefault.CylinderType.Builder>(this, null, false); this.meshOrMaterialOrJoint.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.Default.Builder<_B> addMuscle(final Iterable muscle_) { if (muscle_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (org.mujoco.xml.MuJoCoDefault.MuscleType _item: muscle_) { this.meshOrMaterialOrJoint.add(new org.mujoco.xml.MuJoCoDefault.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.Default.Builder<_B> addMuscle(org.mujoco.xml.MuJoCoDefault.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.MuJoCoDefault.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.MuJoCoDefault.MuscleType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.MuJoCoDefault.MuscleType.Builder> addMuscle() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final org.mujoco.xml.MuJoCoDefault.MuscleType.Builder> muscle_Builder = new org.mujoco.xml.MuJoCoDefault.MuscleType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(muscle_Builder); return muscle_Builder; } /** * Adds the given items to the value of "default_" * * @param default_ * Items to add to the value of the "default_" property */ public Mujoco.Default.Builder<_B> addDefault(final Iterable default_) { if (default_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (DefaultType _item: default_) { this.meshOrMaterialOrJoint.add(new DefaultType.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.Default.Builder<_B> addDefault(DefaultType... default_) { return addDefault(Arrays.asList(default_)); } /** * Returns a new builder to build an additional value of the "default" property. * Use {@link org.mujoco.xml.DefaultType.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.DefaultType.Builder#end()} to return to the current builder. */ public DefaultType.Builder> addDefault() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final DefaultType.Builder> default_Builder = new DefaultType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(default_Builder); return default_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Default.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } for (IncludeType _item: include_) { this.meshOrMaterialOrJoint.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.Default.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> addInclude() { if (this.meshOrMaterialOrJoint == null) { this.meshOrMaterialOrJoint = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.meshOrMaterialOrJoint.add(include_Builder); return include_Builder; } /** * Sets the new value of "clazz" (any previous value will be replaced) * * @param clazz * New value of the "clazz" property. */ @Override public Mujoco.Default.Builder<_B> withClazz(final String clazz) { super.withClazz(clazz); return this; } @Override public Mujoco.Default build() { return this.init(new Mujoco.Default()); } public Mujoco.Default.Builder<_B> copyOf(final Mujoco.Default _other) { _other.copyTo(this); return this; } public Mujoco.Default.Builder<_B> copyOf(final Mujoco.Default.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String MESH_OR_MATERIAL_OR_JOINT = "meshOrMaterialOrJoint"; } public static class Select extends Mujoco.Default.Selector { Select() { super(null, null, null); } public static Mujoco.Default.Select _root() { return new Mujoco.Default.Select(); } } public static class Selector , TParent > extends DefaultmainType.Selector { private com.kscs.util.jaxb.Selector> meshOrMaterialOrJoint = 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.meshOrMaterialOrJoint!= null) { products.put("meshOrMaterialOrJoint", this.meshOrMaterialOrJoint.init()); } return products; } public com.kscs.util.jaxb.Selector> meshOrMaterialOrJoint() { return ((this.meshOrMaterialOrJoint == null)?this.meshOrMaterialOrJoint = new com.kscs.util.jaxb.Selector>(this._root, this, "meshOrMaterialOrJoint"):this.meshOrMaterialOrJoint); } } } /** *

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="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>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "connectOrWeldOrJoint" }) public static class Equality implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "connect", type = ConnectType.class), @XmlElement(name = "weld", type = WeldType.class), @XmlElement(name = "joint", type = org.mujoco.xml.equality.JointType.class), @XmlElement(name = "tendon", type = org.mujoco.xml.equality.TendonType.class), @XmlElement(name = "distance", type = DistanceType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List connectOrWeldOrJoint; private transient BoundList connectOrWeldOrJoint__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 Equality() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Equality copying the state of another Equality * * @param _other * The original Equality from which to copy state. */ public Equality(final Mujoco.Equality _other) { this.connectOrWeldOrJoint = ((_other.connectOrWeldOrJoint == null)?null:new ArrayList(_other.connectOrWeldOrJoint)); } /** * Instantiates a Equality copying the state of another Equality * * @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 Equality from which to copy state. */ public Equality(final Mujoco.Equality _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree connectOrWeldOrJointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("connectOrWeldOrJoint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(connectOrWeldOrJointPropertyTree!= null):((connectOrWeldOrJointPropertyTree == null)||(!connectOrWeldOrJointPropertyTree.isLeaf())))) { this.connectOrWeldOrJoint = ((_other.connectOrWeldOrJoint == null)?null:new ArrayList(_other.connectOrWeldOrJoint)); } } public BoundList getConnectOrWeldOrJoint() { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } if (this.connectOrWeldOrJoint__Proxy == null) { this.connectOrWeldOrJoint__Proxy = new BoundListProxy(this.connectOrWeldOrJoint); } return this.connectOrWeldOrJoint__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.Equality 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.Equality withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Equality clone() { final Mujoco.Equality _newObject; try { _newObject = ((Mujoco.Equality) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.connectOrWeldOrJoint = ((this.connectOrWeldOrJoint == null)?null:new ArrayList(this.connectOrWeldOrJoint)); return _newObject; } @Override public Mujoco.Equality createCopy() { final Mujoco.Equality _newObject; try { _newObject = ((Mujoco.Equality) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.connectOrWeldOrJoint = ((this.connectOrWeldOrJoint == null)?null:new ArrayList(this.connectOrWeldOrJoint)); return _newObject; } @Override public Mujoco.Equality createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Equality _newObject; try { _newObject = ((Mujoco.Equality) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } final PropertyTree connectOrWeldOrJointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("connectOrWeldOrJoint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(connectOrWeldOrJointPropertyTree!= null):((connectOrWeldOrJointPropertyTree == null)||(!connectOrWeldOrJointPropertyTree.isLeaf())))) { _newObject.connectOrWeldOrJoint = ((this.connectOrWeldOrJoint == null)?null:new ArrayList(this.connectOrWeldOrJoint)); } return _newObject; } @Override public Mujoco.Equality copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Equality 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.Equality.Builder<_B> _other) { if (this.connectOrWeldOrJoint == null) { _other.connectOrWeldOrJoint = null; } else { _other.connectOrWeldOrJoint = new ArrayList(); for (Object _item: this.connectOrWeldOrJoint) { _other.connectOrWeldOrJoint.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } public<_B >Mujoco.Equality.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Equality.Builder<_B>(_parentBuilder, this, true); } public Mujoco.Equality.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Equality.Builder builder() { return new Mujoco.Equality.Builder(null, null, false); } public static<_B >Mujoco.Equality.Builder<_B> copyOf(final Mujoco.Equality _other) { final Mujoco.Equality.Builder<_B> _newBuilder = new Mujoco.Equality.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.Equality.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree connectOrWeldOrJointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("connectOrWeldOrJoint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(connectOrWeldOrJointPropertyTree!= null):((connectOrWeldOrJointPropertyTree == null)||(!connectOrWeldOrJointPropertyTree.isLeaf())))) { if (this.connectOrWeldOrJoint == null) { _other.connectOrWeldOrJoint = null; } else { _other.connectOrWeldOrJoint = new ArrayList(); for (Object _item: this.connectOrWeldOrJoint) { _other.connectOrWeldOrJoint.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public<_B >Mujoco.Equality.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Equality.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } public Mujoco.Equality.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Equality.Builder<_B> copyOf(final Mujoco.Equality _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Equality.Builder<_B> _newBuilder = new Mujoco.Equality.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Equality.Builder copyExcept(final Mujoco.Equality _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Equality.Builder copyOnly(final Mujoco.Equality _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Equality visit(final PropertyVisitor _visitor_) { _visitor_.visit(this); return this; } public static class Builder<_B >implements Buildable { protected final _B _parentBuilder; private List connectOrWeldOrJoint; public Builder(final _B _parentBuilder, final Mujoco.Equality _other, final boolean _copy) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_other.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = null; } else { this.connectOrWeldOrJoint = new ArrayList(); for (Object _item: _other.connectOrWeldOrJoint) { this.connectOrWeldOrJoint.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Equality _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { this._parentBuilder = _parentBuilder; if (_other!= null) { final PropertyTree connectOrWeldOrJointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("connectOrWeldOrJoint")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(connectOrWeldOrJointPropertyTree!= null):((connectOrWeldOrJointPropertyTree == null)||(!connectOrWeldOrJointPropertyTree.isLeaf())))) { if (_other.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = null; } else { this.connectOrWeldOrJoint = new ArrayList(); for (Object _item: _other.connectOrWeldOrJoint) { this.connectOrWeldOrJoint.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } public _B end() { return this._parentBuilder; } protected<_P extends Mujoco.Equality >_P init(final _P _product) { if (this.connectOrWeldOrJoint!= null) { final List connectOrWeldOrJoint = new ArrayList(this.connectOrWeldOrJoint.size()); for (Buildable _item: this.connectOrWeldOrJoint) { connectOrWeldOrJoint.add(((Object) _item.build())); } _product.connectOrWeldOrJoint = connectOrWeldOrJoint; } return _product; } /** * Adds the given items to the value of "connectOrWeldOrJoint" * * @param connectOrWeldOrJoint * Items to add to the value of the "connectOrWeldOrJoint" property */ public Mujoco.Equality.Builder<_B> addConnectOrWeldOrJoint(final Iterable connectOrWeldOrJoint) { if (connectOrWeldOrJoint!= null) { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } for (Object _item: connectOrWeldOrJoint) { this.connectOrWeldOrJoint.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "connectOrWeldOrJoint" (any previous value will be replaced) * * @param connectOrWeldOrJoint * New value of the "connectOrWeldOrJoint" property. */ public Mujoco.Equality.Builder<_B> withConnectOrWeldOrJoint(final Iterable connectOrWeldOrJoint) { if (this.connectOrWeldOrJoint!= null) { this.connectOrWeldOrJoint.clear(); } return addConnectOrWeldOrJoint(connectOrWeldOrJoint); } /** * Adds the given items to the value of "connectOrWeldOrJoint" * * @param connectOrWeldOrJoint * Items to add to the value of the "connectOrWeldOrJoint" property */ public Mujoco.Equality.Builder<_B> addConnectOrWeldOrJoint(Object... connectOrWeldOrJoint) { addConnectOrWeldOrJoint(Arrays.asList(connectOrWeldOrJoint)); return this; } /** * Sets the new value of "connectOrWeldOrJoint" (any previous value will be replaced) * * @param connectOrWeldOrJoint * New value of the "connectOrWeldOrJoint" property. */ public Mujoco.Equality.Builder<_B> withConnectOrWeldOrJoint(Object... connectOrWeldOrJoint) { withConnectOrWeldOrJoint(Arrays.asList(connectOrWeldOrJoint)); return this; } /** * Adds the given items to the value of "connect_" * * @param connect_ * Items to add to the value of the "connect_" property */ public Mujoco.Equality.Builder<_B> addConnect(final Iterable connect_) { if (connect_!= null) { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } for (ConnectType _item: connect_) { this.connectOrWeldOrJoint.add(new ConnectType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "connect_" * * @param connect_ * Items to add to the value of the "connect_" property */ public Mujoco.Equality.Builder<_B> addConnect(ConnectType... connect_) { return addConnect(Arrays.asList(connect_)); } /** * Returns a new builder to build an additional value of the "connect" property. * Use {@link org.mujoco.xml.equality.ConnectType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "connect" property. * Use {@link org.mujoco.xml.equality.ConnectType.Builder#end()} to return to the current builder. */ public ConnectType.Builder> addConnect() { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } final ConnectType.Builder> connect_Builder = new ConnectType.Builder>(this, null, false); this.connectOrWeldOrJoint.add(connect_Builder); return connect_Builder; } /** * Adds the given items to the value of "weld_" * * @param weld_ * Items to add to the value of the "weld_" property */ public Mujoco.Equality.Builder<_B> addWeld(final Iterable weld_) { if (weld_!= null) { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } for (WeldType _item: weld_) { this.connectOrWeldOrJoint.add(new WeldType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "weld_" * * @param weld_ * Items to add to the value of the "weld_" property */ public Mujoco.Equality.Builder<_B> addWeld(WeldType... weld_) { return addWeld(Arrays.asList(weld_)); } /** * Returns a new builder to build an additional value of the "weld" property. * Use {@link org.mujoco.xml.equality.WeldType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "weld" property. * Use {@link org.mujoco.xml.equality.WeldType.Builder#end()} to return to the current builder. */ public WeldType.Builder> addWeld() { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } final WeldType.Builder> weld_Builder = new WeldType.Builder>(this, null, false); this.connectOrWeldOrJoint.add(weld_Builder); return weld_Builder; } /** * Adds the given items to the value of "joint_" * * @param joint_ * Items to add to the value of the "joint_" property */ public Mujoco.Equality.Builder<_B> addJoint(final Iterable joint_) { if (joint_!= null) { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } for (org.mujoco.xml.equality.JointType _item: joint_) { this.connectOrWeldOrJoint.add(new org.mujoco.xml.equality.JointType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "joint_" * * @param joint_ * Items to add to the value of the "joint_" property */ public Mujoco.Equality.Builder<_B> addJoint(org.mujoco.xml.equality.JointType... joint_) { return addJoint(Arrays.asList(joint_)); } /** * Returns a new builder to build an additional value of the "joint" property. * Use {@link org.mujoco.xml.equality.JointType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "joint" property. * Use {@link org.mujoco.xml.equality.JointType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.equality.JointType.Builder> addJoint() { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } final org.mujoco.xml.equality.JointType.Builder> joint_Builder = new org.mujoco.xml.equality.JointType.Builder>(this, null, false); this.connectOrWeldOrJoint.add(joint_Builder); return joint_Builder; } /** * Adds the given items to the value of "tendon_" * * @param tendon_ * Items to add to the value of the "tendon_" property */ public Mujoco.Equality.Builder<_B> addTendon(final Iterable tendon_) { if (tendon_!= null) { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } for (org.mujoco.xml.equality.TendonType _item: tendon_) { this.connectOrWeldOrJoint.add(new org.mujoco.xml.equality.TendonType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "tendon_" * * @param tendon_ * Items to add to the value of the "tendon_" property */ public Mujoco.Equality.Builder<_B> addTendon(org.mujoco.xml.equality.TendonType... tendon_) { return addTendon(Arrays.asList(tendon_)); } /** * Returns a new builder to build an additional value of the "tendon" property. * Use {@link org.mujoco.xml.equality.TendonType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "tendon" property. * Use {@link org.mujoco.xml.equality.TendonType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.equality.TendonType.Builder> addTendon() { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } final org.mujoco.xml.equality.TendonType.Builder> tendon_Builder = new org.mujoco.xml.equality.TendonType.Builder>(this, null, false); this.connectOrWeldOrJoint.add(tendon_Builder); return tendon_Builder; } /** * Adds the given items to the value of "distance_" * * @param distance_ * Items to add to the value of the "distance_" property */ public Mujoco.Equality.Builder<_B> addDistance(final Iterable distance_) { if (distance_!= null) { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } for (DistanceType _item: distance_) { this.connectOrWeldOrJoint.add(new DistanceType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "distance_" * * @param distance_ * Items to add to the value of the "distance_" property */ public Mujoco.Equality.Builder<_B> addDistance(DistanceType... distance_) { return addDistance(Arrays.asList(distance_)); } /** * Returns a new builder to build an additional value of the "distance" property. * Use {@link org.mujoco.xml.equality.DistanceType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "distance" property. * Use {@link org.mujoco.xml.equality.DistanceType.Builder#end()} to return to the current builder. */ public DistanceType.Builder> addDistance() { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } final DistanceType.Builder> distance_Builder = new DistanceType.Builder>(this, null, false); this.connectOrWeldOrJoint.add(distance_Builder); return distance_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Equality.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } for (IncludeType _item: include_) { this.connectOrWeldOrJoint.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.Equality.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> addInclude() { if (this.connectOrWeldOrJoint == null) { this.connectOrWeldOrJoint = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.connectOrWeldOrJoint.add(include_Builder); return include_Builder; } @Override public Mujoco.Equality build() { return this.init(new Mujoco.Equality()); } public Mujoco.Equality.Builder<_B> copyOf(final Mujoco.Equality _other) { _other.copyTo(this); return this; } public Mujoco.Equality.Builder<_B> copyOf(final Mujoco.Equality.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String CONNECT_OR_WELD_OR_JOINT = "connectOrWeldOrJoint"; } public static class Select extends Mujoco.Equality.Selector { Select() { super(null, null, null); } public static Mujoco.Equality.Select _root() { return new Mujoco.Equality.Select(); } } public static class Selector , TParent > extends com.kscs.util.jaxb.Selector { private com.kscs.util.jaxb.Selector> connectOrWeldOrJoint = 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.connectOrWeldOrJoint!= null) { products.put("connectOrWeldOrJoint", this.connectOrWeldOrJoint.init()); } return products; } public com.kscs.util.jaxb.Selector> connectOrWeldOrJoint() { return ((this.connectOrWeldOrJoint == null)?this.connectOrWeldOrJoint = new com.kscs.util.jaxb.Selector>(this._root, this, "connectOrWeldOrJoint"):this.connectOrWeldOrJoint); } } } /** *

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="key" type="{keyframe}keyType"/>
     *         <element name="include" type="{root}includeType"/>
     *       </choice>
     *     </restriction>
     *   </complexContent>
     * </complexType>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "keyOrInclude" }) public static class Keyframe implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "key", type = KeyType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List keyOrInclude; private transient BoundList keyOrInclude__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 Keyframe() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Keyframe copying the state of another Keyframe * * @param _other * The original Keyframe from which to copy state. */ public Keyframe(final Mujoco.Keyframe _other) { this.keyOrInclude = ((_other.keyOrInclude == null)?null:new ArrayList(_other.keyOrInclude)); } /** * Instantiates a Keyframe copying the state of another Keyframe * * @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 Keyframe from which to copy state. */ public Keyframe(final Mujoco.Keyframe _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree keyOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keyOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyOrIncludePropertyTree!= null):((keyOrIncludePropertyTree == null)||(!keyOrIncludePropertyTree.isLeaf())))) { this.keyOrInclude = ((_other.keyOrInclude == null)?null:new ArrayList(_other.keyOrInclude)); } } public BoundList getKeyOrInclude() { if (this.keyOrInclude == null) { this.keyOrInclude = new ArrayList(); } if (this.keyOrInclude__Proxy == null) { this.keyOrInclude__Proxy = new BoundListProxy(this.keyOrInclude); } return this.keyOrInclude__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.Keyframe 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.Keyframe withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Keyframe clone() { final Mujoco.Keyframe _newObject; try { _newObject = ((Mujoco.Keyframe) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.keyOrInclude = ((this.keyOrInclude == null)?null:new ArrayList(this.keyOrInclude)); return _newObject; } @Override public Mujoco.Keyframe createCopy() { final Mujoco.Keyframe _newObject; try { _newObject = ((Mujoco.Keyframe) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.keyOrInclude = ((this.keyOrInclude == null)?null:new ArrayList(this.keyOrInclude)); return _newObject; } @Override public Mujoco.Keyframe createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Keyframe _newObject; try { _newObject = ((Mujoco.Keyframe) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } final PropertyTree keyOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keyOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyOrIncludePropertyTree!= null):((keyOrIncludePropertyTree == null)||(!keyOrIncludePropertyTree.isLeaf())))) { _newObject.keyOrInclude = ((this.keyOrInclude == null)?null:new ArrayList(this.keyOrInclude)); } return _newObject; } @Override public Mujoco.Keyframe copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Keyframe 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.Keyframe.Builder<_B> _other) { if (this.keyOrInclude == null) { _other.keyOrInclude = null; } else { _other.keyOrInclude = new ArrayList(); for (Object _item: this.keyOrInclude) { _other.keyOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } public<_B >Mujoco.Keyframe.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Keyframe.Builder<_B>(_parentBuilder, this, true); } public Mujoco.Keyframe.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Keyframe.Builder builder() { return new Mujoco.Keyframe.Builder(null, null, false); } public static<_B >Mujoco.Keyframe.Builder<_B> copyOf(final Mujoco.Keyframe _other) { final Mujoco.Keyframe.Builder<_B> _newBuilder = new Mujoco.Keyframe.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.Keyframe.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree keyOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keyOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyOrIncludePropertyTree!= null):((keyOrIncludePropertyTree == null)||(!keyOrIncludePropertyTree.isLeaf())))) { if (this.keyOrInclude == null) { _other.keyOrInclude = null; } else { _other.keyOrInclude = new ArrayList(); for (Object _item: this.keyOrInclude) { _other.keyOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public<_B >Mujoco.Keyframe.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Keyframe.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } public Mujoco.Keyframe.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Keyframe.Builder<_B> copyOf(final Mujoco.Keyframe _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Keyframe.Builder<_B> _newBuilder = new Mujoco.Keyframe.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Keyframe.Builder copyExcept(final Mujoco.Keyframe _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Keyframe.Builder copyOnly(final Mujoco.Keyframe _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Keyframe visit(final PropertyVisitor _visitor_) { _visitor_.visit(this); return this; } public static class Builder<_B >implements Buildable { protected final _B _parentBuilder; private List keyOrInclude; public Builder(final _B _parentBuilder, final Mujoco.Keyframe _other, final boolean _copy) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_other.keyOrInclude == null) { this.keyOrInclude = null; } else { this.keyOrInclude = new ArrayList(); for (Object _item: _other.keyOrInclude) { this.keyOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Keyframe _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { this._parentBuilder = _parentBuilder; if (_other!= null) { final PropertyTree keyOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keyOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyOrIncludePropertyTree!= null):((keyOrIncludePropertyTree == null)||(!keyOrIncludePropertyTree.isLeaf())))) { if (_other.keyOrInclude == null) { this.keyOrInclude = null; } else { this.keyOrInclude = new ArrayList(); for (Object _item: _other.keyOrInclude) { this.keyOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } public _B end() { return this._parentBuilder; } protected<_P extends Mujoco.Keyframe >_P init(final _P _product) { if (this.keyOrInclude!= null) { final List keyOrInclude = new ArrayList(this.keyOrInclude.size()); for (Buildable _item: this.keyOrInclude) { keyOrInclude.add(((Object) _item.build())); } _product.keyOrInclude = keyOrInclude; } return _product; } /** * Adds the given items to the value of "keyOrInclude" * * @param keyOrInclude * Items to add to the value of the "keyOrInclude" property */ public Mujoco.Keyframe.Builder<_B> addKeyOrInclude(final Iterable keyOrInclude) { if (keyOrInclude!= null) { if (this.keyOrInclude == null) { this.keyOrInclude = new ArrayList(); } for (Object _item: keyOrInclude) { this.keyOrInclude.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "keyOrInclude" (any previous value will be replaced) * * @param keyOrInclude * New value of the "keyOrInclude" property. */ public Mujoco.Keyframe.Builder<_B> withKeyOrInclude(final Iterable keyOrInclude) { if (this.keyOrInclude!= null) { this.keyOrInclude.clear(); } return addKeyOrInclude(keyOrInclude); } /** * Adds the given items to the value of "keyOrInclude" * * @param keyOrInclude * Items to add to the value of the "keyOrInclude" property */ public Mujoco.Keyframe.Builder<_B> addKeyOrInclude(Object... keyOrInclude) { addKeyOrInclude(Arrays.asList(keyOrInclude)); return this; } /** * Sets the new value of "keyOrInclude" (any previous value will be replaced) * * @param keyOrInclude * New value of the "keyOrInclude" property. */ public Mujoco.Keyframe.Builder<_B> withKeyOrInclude(Object... keyOrInclude) { withKeyOrInclude(Arrays.asList(keyOrInclude)); return this; } /** * Adds the given items to the value of "key_" * * @param key_ * Items to add to the value of the "key_" property */ public Mujoco.Keyframe.Builder<_B> addKey(final Iterable key_) { if (key_!= null) { if (this.keyOrInclude == null) { this.keyOrInclude = new ArrayList(); } for (KeyType _item: key_) { this.keyOrInclude.add(new KeyType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "key_" * * @param key_ * Items to add to the value of the "key_" property */ public Mujoco.Keyframe.Builder<_B> addKey(KeyType... key_) { return addKey(Arrays.asList(key_)); } /** * Returns a new builder to build an additional value of the "key" property. * Use {@link org.mujoco.xml.keyframe.KeyType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "key" property. * Use {@link org.mujoco.xml.keyframe.KeyType.Builder#end()} to return to the current builder. */ public KeyType.Builder> addKey() { if (this.keyOrInclude == null) { this.keyOrInclude = new ArrayList(); } final KeyType.Builder> key_Builder = new KeyType.Builder>(this, null, false); this.keyOrInclude.add(key_Builder); return key_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Keyframe.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.keyOrInclude == null) { this.keyOrInclude = new ArrayList(); } for (IncludeType _item: include_) { this.keyOrInclude.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.Keyframe.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> addInclude() { if (this.keyOrInclude == null) { this.keyOrInclude = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.keyOrInclude.add(include_Builder); return include_Builder; } @Override public Mujoco.Keyframe build() { return this.init(new Mujoco.Keyframe()); } public Mujoco.Keyframe.Builder<_B> copyOf(final Mujoco.Keyframe _other) { _other.copyTo(this); return this; } public Mujoco.Keyframe.Builder<_B> copyOf(final Mujoco.Keyframe.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String KEY_OR_INCLUDE = "keyOrInclude"; } public static class Select extends Mujoco.Keyframe.Selector { Select() { super(null, null, null); } public static Mujoco.Keyframe.Select _root() { return new Mujoco.Keyframe.Select(); } } public static class Selector , TParent > extends com.kscs.util.jaxb.Selector { private com.kscs.util.jaxb.Selector> keyOrInclude = 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.keyOrInclude!= null) { products.put("keyOrInclude", this.keyOrInclude.init()); } return products; } public com.kscs.util.jaxb.Selector> keyOrInclude() { return ((this.keyOrInclude == null)?this.keyOrInclude = new com.kscs.util.jaxb.Selector>(this._root, this, "keyOrInclude"):this.keyOrInclude); } } } /** *

Java class for anonymous complex type. * *

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

     * <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>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "flagOrInclude" }) public static class Option extends OptionType implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "flag", type = FlagType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List flagOrInclude; private transient BoundList flagOrInclude__Proxy = null; /** * Generated by copy-constructor plugin, JAXB requires public no-arg constructor. * */ public Option() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Option copying the state of another Option * * @param _other * The original Option from which to copy state. */ public Option(final Mujoco.Option _other) { super(_other); this.flagOrInclude = ((_other.flagOrInclude == null)?null:new ArrayList(_other.flagOrInclude)); } /** * Instantiates a Option copying the state of another Option * * @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 Option from which to copy state. */ public Option(final Mujoco.Option _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_other, _propertyTree, _propertyTreeUse); final PropertyTree flagOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("flagOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(flagOrIncludePropertyTree!= null):((flagOrIncludePropertyTree == null)||(!flagOrIncludePropertyTree.isLeaf())))) { this.flagOrInclude = ((_other.flagOrInclude == null)?null:new ArrayList(_other.flagOrInclude)); } } public BoundList getFlagOrInclude() { if (this.flagOrInclude == null) { this.flagOrInclude = new ArrayList(); } if (this.flagOrInclude__Proxy == null) { this.flagOrInclude__Proxy = new BoundListProxy(this.flagOrInclude); } return this.flagOrInclude__Proxy; } @Override public Mujoco.Option withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) { addVetoableChangeListener(vetoableChangeListener); return this; } @Override public Mujoco.Option withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Option clone() { final Mujoco.Option _newObject; _newObject = ((Mujoco.Option) super.clone()); _newObject.flagOrInclude = ((this.flagOrInclude == null)?null:new ArrayList(this.flagOrInclude)); return _newObject; } @Override public Mujoco.Option createCopy() { final Mujoco.Option _newObject = ((Mujoco.Option) super.createCopy()); _newObject.flagOrInclude = ((this.flagOrInclude == null)?null:new ArrayList(this.flagOrInclude)); return _newObject; } @Override public Mujoco.Option createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Option _newObject = ((Mujoco.Option) super.createCopy(_propertyTree, _propertyTreeUse)); final PropertyTree flagOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("flagOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(flagOrIncludePropertyTree!= null):((flagOrIncludePropertyTree == null)||(!flagOrIncludePropertyTree.isLeaf())))) { _newObject.flagOrInclude = ((this.flagOrInclude == null)?null:new ArrayList(this.flagOrInclude)); } return _newObject; } @Override public Mujoco.Option copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Option 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.Option.Builder<_B> _other) { super.copyTo(_other); if (this.flagOrInclude == null) { _other.flagOrInclude = null; } else { _other.flagOrInclude = new ArrayList(); for (Object _item: this.flagOrInclude) { _other.flagOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } @Override public<_B >Mujoco.Option.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Option.Builder<_B>(_parentBuilder, this, true); } @Override public Mujoco.Option.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Option.Builder builder() { return new Mujoco.Option.Builder(null, null, false); } public static<_B >Mujoco.Option.Builder<_B> copyOf(final OptionType _other) { final Mujoco.Option.Builder<_B> _newBuilder = new Mujoco.Option.Builder<_B>(null, null, false); _other.copyTo(_newBuilder); return _newBuilder; } public static<_B >Mujoco.Option.Builder<_B> copyOf(final Mujoco.Option _other) { final Mujoco.Option.Builder<_B> _newBuilder = new Mujoco.Option.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.Option.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super.copyTo(_other, _propertyTree, _propertyTreeUse); final PropertyTree flagOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("flagOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(flagOrIncludePropertyTree!= null):((flagOrIncludePropertyTree == null)||(!flagOrIncludePropertyTree.isLeaf())))) { if (this.flagOrInclude == null) { _other.flagOrInclude = null; } else { _other.flagOrInclude = new ArrayList(); for (Object _item: this.flagOrInclude) { _other.flagOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } @Override public<_B >Mujoco.Option.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Option.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } @Override public Mujoco.Option.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Option.Builder<_B> copyOf(final OptionType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Option.Builder<_B> _newBuilder = new Mujoco.Option.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static<_B >Mujoco.Option.Builder<_B> copyOf(final Mujoco.Option _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Option.Builder<_B> _newBuilder = new Mujoco.Option.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Option.Builder copyExcept(final OptionType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Option.Builder copyExcept(final Mujoco.Option _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Option.Builder copyOnly(final OptionType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public static Mujoco.Option.Builder copyOnly(final Mujoco.Option _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Option visit(final PropertyVisitor _visitor_) { super.visit(_visitor_); return this; } public static class Builder<_B > extends OptionType.Builder<_B> implements Buildable { private List flagOrInclude; public Builder(final _B _parentBuilder, final Mujoco.Option _other, final boolean _copy) { super(_parentBuilder, _other, _copy); if (_other!= null) { if (_other.flagOrInclude == null) { this.flagOrInclude = null; } else { this.flagOrInclude = new ArrayList(); for (Object _item: _other.flagOrInclude) { this.flagOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Option _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); if (_other!= null) { final PropertyTree flagOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("flagOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(flagOrIncludePropertyTree!= null):((flagOrIncludePropertyTree == null)||(!flagOrIncludePropertyTree.isLeaf())))) { if (_other.flagOrInclude == null) { this.flagOrInclude = null; } else { this.flagOrInclude = new ArrayList(); for (Object _item: _other.flagOrInclude) { this.flagOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } protected<_P extends Mujoco.Option >_P init(final _P _product) { if (this.flagOrInclude!= null) { final List flagOrInclude = new ArrayList(this.flagOrInclude.size()); for (Buildable _item: this.flagOrInclude) { flagOrInclude.add(((Object) _item.build())); } _product.flagOrInclude = flagOrInclude; } return super.init(_product); } /** * Adds the given items to the value of "flagOrInclude" * * @param flagOrInclude * Items to add to the value of the "flagOrInclude" property */ public Mujoco.Option.Builder<_B> addFlagOrInclude(final Iterable flagOrInclude) { if (flagOrInclude!= null) { if (this.flagOrInclude == null) { this.flagOrInclude = new ArrayList(); } for (Object _item: flagOrInclude) { this.flagOrInclude.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "flagOrInclude" (any previous value will be replaced) * * @param flagOrInclude * New value of the "flagOrInclude" property. */ public Mujoco.Option.Builder<_B> withFlagOrInclude(final Iterable flagOrInclude) { if (this.flagOrInclude!= null) { this.flagOrInclude.clear(); } return addFlagOrInclude(flagOrInclude); } /** * Adds the given items to the value of "flagOrInclude" * * @param flagOrInclude * Items to add to the value of the "flagOrInclude" property */ public Mujoco.Option.Builder<_B> addFlagOrInclude(Object... flagOrInclude) { addFlagOrInclude(Arrays.asList(flagOrInclude)); return this; } /** * Sets the new value of "flagOrInclude" (any previous value will be replaced) * * @param flagOrInclude * New value of the "flagOrInclude" property. */ public Mujoco.Option.Builder<_B> withFlagOrInclude(Object... flagOrInclude) { withFlagOrInclude(Arrays.asList(flagOrInclude)); return this; } /** * Adds the given items to the value of "flag_" * * @param flag_ * Items to add to the value of the "flag_" property */ public Mujoco.Option.Builder<_B> addFlag(final Iterable flag_) { if (flag_!= null) { if (this.flagOrInclude == null) { this.flagOrInclude = new ArrayList(); } for (FlagType _item: flag_) { this.flagOrInclude.add(new FlagType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "flag_" * * @param flag_ * Items to add to the value of the "flag_" property */ public Mujoco.Option.Builder<_B> addFlag(FlagType... flag_) { return addFlag(Arrays.asList(flag_)); } /** * Returns a new builder to build an additional value of the "flag" property. * Use {@link org.mujoco.xml.option.FlagType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "flag" property. * Use {@link org.mujoco.xml.option.FlagType.Builder#end()} to return to the current builder. */ public FlagType.Builder> addFlag() { if (this.flagOrInclude == null) { this.flagOrInclude = new ArrayList(); } final FlagType.Builder> flag_Builder = new FlagType.Builder>(this, null, false); this.flagOrInclude.add(flag_Builder); return flag_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Option.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.flagOrInclude == null) { this.flagOrInclude = new ArrayList(); } for (IncludeType _item: include_) { this.flagOrInclude.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.Option.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> addInclude() { if (this.flagOrInclude == null) { this.flagOrInclude = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.flagOrInclude.add(include_Builder); return include_Builder; } /** * Sets the new value of "timestep" (any previous value will be replaced) * * @param timestep * New value of the "timestep" property. */ @Override public Mujoco.Option.Builder<_B> withTimestep(final BigDecimal timestep) { super.withTimestep(timestep); return this; } /** * Sets the new value of "apirate" (any previous value will be replaced) * * @param apirate * New value of the "apirate" property. */ @Override public Mujoco.Option.Builder<_B> withApirate(final BigDecimal apirate) { super.withApirate(apirate); return this; } /** * Sets the new value of "impratio" (any previous value will be replaced) * * @param impratio * New value of the "impratio" property. */ @Override public Mujoco.Option.Builder<_B> withImpratio(final BigDecimal impratio) { super.withImpratio(impratio); return this; } /** * Sets the new value of "gravity" (any previous value will be replaced) * * @param gravity * New value of the "gravity" property. */ @Override public Mujoco.Option.Builder<_B> withGravity(final String gravity) { super.withGravity(gravity); return this; } /** * Sets the new value of "wind" (any previous value will be replaced) * * @param wind * New value of the "wind" property. */ @Override public Mujoco.Option.Builder<_B> withWind(final String wind) { super.withWind(wind); return this; } /** * Sets the new value of "magnetic" (any previous value will be replaced) * * @param magnetic * New value of the "magnetic" property. */ @Override public Mujoco.Option.Builder<_B> withMagnetic(final String magnetic) { super.withMagnetic(magnetic); return this; } /** * Sets the new value of "density" (any previous value will be replaced) * * @param density * New value of the "density" property. */ @Override public Mujoco.Option.Builder<_B> withDensity(final BigDecimal density) { super.withDensity(density); return this; } /** * Sets the new value of "viscosity" (any previous value will be replaced) * * @param viscosity * New value of the "viscosity" property. */ @Override public Mujoco.Option.Builder<_B> withViscosity(final BigDecimal viscosity) { super.withViscosity(viscosity); return this; } /** * Sets the new value of "oMargin" (any previous value will be replaced) * * @param oMargin * New value of the "oMargin" property. */ @Override public Mujoco.Option.Builder<_B> withOMargin(final BigDecimal oMargin) { super.withOMargin(oMargin); return this; } /** * Sets the new value of "oSolimp" (any previous value will be replaced) * * @param oSolimp * New value of the "oSolimp" property. */ @Override public Mujoco.Option.Builder<_B> withOSolimp(final String oSolimp) { super.withOSolimp(oSolimp); return this; } /** * Sets the new value of "oSolref" (any previous value will be replaced) * * @param oSolref * New value of the "oSolref" property. */ @Override public Mujoco.Option.Builder<_B> withOSolref(final String oSolref) { super.withOSolref(oSolref); return this; } /** * Sets the new value of "integrator" (any previous value will be replaced) * * @param integrator * New value of the "integrator" property. */ @Override public Mujoco.Option.Builder<_B> withIntegrator(final IntegratorType integrator) { super.withIntegrator(integrator); return this; } /** * Sets the new value of "collision" (any previous value will be replaced) * * @param collision * New value of the "collision" property. */ @Override public Mujoco.Option.Builder<_B> withCollision(final CollisionType collision) { super.withCollision(collision); return this; } /** * Sets the new value of "cone" (any previous value will be replaced) * * @param cone * New value of the "cone" property. */ @Override public Mujoco.Option.Builder<_B> withCone(final ConeType cone) { super.withCone(cone); return this; } /** * Sets the new value of "jacobian" (any previous value will be replaced) * * @param jacobian * New value of the "jacobian" property. */ @Override public Mujoco.Option.Builder<_B> withJacobian(final JacobianType jacobian) { super.withJacobian(jacobian); return this; } /** * Sets the new value of "solver" (any previous value will be replaced) * * @param solver * New value of the "solver" property. */ @Override public Mujoco.Option.Builder<_B> withSolver(final SolverType solver) { super.withSolver(solver); return this; } /** * Sets the new value of "iterations" (any previous value will be replaced) * * @param iterations * New value of the "iterations" property. */ @Override public Mujoco.Option.Builder<_B> withIterations(final Integer iterations) { super.withIterations(iterations); return this; } /** * Sets the new value of "tolerance" (any previous value will be replaced) * * @param tolerance * New value of the "tolerance" property. */ @Override public Mujoco.Option.Builder<_B> withTolerance(final Double tolerance) { super.withTolerance(tolerance); return this; } /** * Sets the new value of "noslipIterations" (any previous value will be replaced) * * @param noslipIterations * New value of the "noslipIterations" property. */ @Override public Mujoco.Option.Builder<_B> withNoslipIterations(final Integer noslipIterations) { super.withNoslipIterations(noslipIterations); return this; } /** * Sets the new value of "noslipTolerance" (any previous value will be replaced) * * @param noslipTolerance * New value of the "noslipTolerance" property. */ @Override public Mujoco.Option.Builder<_B> withNoslipTolerance(final Double noslipTolerance) { super.withNoslipTolerance(noslipTolerance); return this; } /** * Sets the new value of "mprIterations" (any previous value will be replaced) * * @param mprIterations * New value of the "mprIterations" property. */ @Override public Mujoco.Option.Builder<_B> withMprIterations(final Integer mprIterations) { super.withMprIterations(mprIterations); return this; } /** * Sets the new value of "mprTolerance" (any previous value will be replaced) * * @param mprTolerance * New value of the "mprTolerance" property. */ @Override public Mujoco.Option.Builder<_B> withMprTolerance(final Double mprTolerance) { super.withMprTolerance(mprTolerance); return this; } @Override public Mujoco.Option build() { return this.init(new Mujoco.Option()); } public Mujoco.Option.Builder<_B> copyOf(final Mujoco.Option _other) { _other.copyTo(this); return this; } public Mujoco.Option.Builder<_B> copyOf(final Mujoco.Option.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String FLAG_OR_INCLUDE = "flagOrInclude"; } public static class Select extends Mujoco.Option.Selector { Select() { super(null, null, null); } public static Mujoco.Option.Select _root() { return new Mujoco.Option.Select(); } } public static class Selector , TParent > extends OptionType.Selector { private com.kscs.util.jaxb.Selector> flagOrInclude = 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.flagOrInclude!= null) { products.put("flagOrInclude", this.flagOrInclude.init()); } return products; } public com.kscs.util.jaxb.Selector> flagOrInclude() { return ((this.flagOrInclude == null)?this.flagOrInclude = new com.kscs.util.jaxb.Selector>(this._root, this, "flagOrInclude"):this.flagOrInclude); } } } public static class PropInfo { public final static transient String COMPILER_OR_OPTION_OR_SIZE = "compilerOrOptionOrSize"; } public static class Select extends Mujoco.Selector { Select() { super(null, null, null); } public static Mujoco.Select _root() { return new Mujoco.Select(); } } public static class Selector , TParent > extends MujocoType.Selector { private com.kscs.util.jaxb.Selector> compilerOrOptionOrSize = 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.compilerOrOptionOrSize!= null) { products.put("compilerOrOptionOrSize", this.compilerOrOptionOrSize.init()); } return products; } public com.kscs.util.jaxb.Selector> compilerOrOptionOrSize() { return ((this.compilerOrOptionOrSize == null)?this.compilerOrOptionOrSize = new com.kscs.util.jaxb.Selector>(this._root, this, "compilerOrOptionOrSize"):this.compilerOrOptionOrSize); } } /** *

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="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>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "touchOrAccelerometerOrVelocimeter" }) public static class Sensor implements Cloneable, Copyable, PartialCopyable { @XmlElementRefs({ @XmlElementRef(name = "touch", type = JAXBElement.class, required = false), @XmlElementRef(name = "accelerometer", type = JAXBElement.class, required = false), @XmlElementRef(name = "velocimeter", type = JAXBElement.class, required = false), @XmlElementRef(name = "gyro", type = JAXBElement.class, required = false), @XmlElementRef(name = "force", type = JAXBElement.class, required = false), @XmlElementRef(name = "torque", type = JAXBElement.class, required = false), @XmlElementRef(name = "magnetometer", type = JAXBElement.class, required = false), @XmlElementRef(name = "rangefinder", type = JAXBElement.class, required = false), @XmlElementRef(name = "jointpos", type = JAXBElement.class, required = false), @XmlElementRef(name = "jointvel", type = JAXBElement.class, required = false), @XmlElementRef(name = "tendonpos", type = JAXBElement.class, required = false), @XmlElementRef(name = "tendonvel", type = JAXBElement.class, required = false), @XmlElementRef(name = "actuatorpos", type = JAXBElement.class, required = false), @XmlElementRef(name = "actuatorvel", type = JAXBElement.class, required = false), @XmlElementRef(name = "actuatorfrc", type = JAXBElement.class, required = false), @XmlElementRef(name = "ballquat", type = JAXBElement.class, required = false), @XmlElementRef(name = "ballangvel", type = JAXBElement.class, required = false), @XmlElementRef(name = "jointlimitpos", type = JAXBElement.class, required = false), @XmlElementRef(name = "jointlimitvel", type = JAXBElement.class, required = false), @XmlElementRef(name = "jointlimitfrc", type = JAXBElement.class, required = false), @XmlElementRef(name = "tendonlimitpos", type = JAXBElement.class, required = false), @XmlElementRef(name = "tendonlimitvel", type = JAXBElement.class, required = false), @XmlElementRef(name = "tendonlimitfrc", type = JAXBElement.class, required = false), @XmlElementRef(name = "framepos", type = JAXBElement.class, required = false), @XmlElementRef(name = "framequat", type = JAXBElement.class, required = false), @XmlElementRef(name = "framexaxis", type = JAXBElement.class, required = false), @XmlElementRef(name = "frameyaxis", type = JAXBElement.class, required = false), @XmlElementRef(name = "framezaxis", type = JAXBElement.class, required = false), @XmlElementRef(name = "framelinvel", type = JAXBElement.class, required = false), @XmlElementRef(name = "frameangvel", type = JAXBElement.class, required = false), @XmlElementRef(name = "framelinacc", type = JAXBElement.class, required = false), @XmlElementRef(name = "frameangacc", type = JAXBElement.class, required = false), @XmlElementRef(name = "subtreecom", type = JAXBElement.class, required = false), @XmlElementRef(name = "subtreelinvel", type = JAXBElement.class, required = false), @XmlElementRef(name = "subtreeangmom", type = JAXBElement.class, required = false), @XmlElementRef(name = "user", type = JAXBElement.class, required = false), @XmlElementRef(name = "include", type = JAXBElement.class, required = false) }) protected List> touchOrAccelerometerOrVelocimeter; private transient BoundList> touchOrAccelerometerOrVelocimeter__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 Sensor() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Sensor copying the state of another Sensor * * @param _other * The original Sensor from which to copy state. */ public Sensor(final Mujoco.Sensor _other) { this.touchOrAccelerometerOrVelocimeter = ((_other.touchOrAccelerometerOrVelocimeter == null)?null:new ArrayList>(_other.touchOrAccelerometerOrVelocimeter)); } /** * Instantiates a Sensor copying the state of another Sensor * * @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 Sensor from which to copy state. */ public Sensor(final Mujoco.Sensor _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree touchOrAccelerometerOrVelocimeterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("touchOrAccelerometerOrVelocimeter")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(touchOrAccelerometerOrVelocimeterPropertyTree!= null):((touchOrAccelerometerOrVelocimeterPropertyTree == null)||(!touchOrAccelerometerOrVelocimeterPropertyTree.isLeaf())))) { this.touchOrAccelerometerOrVelocimeter = ((_other.touchOrAccelerometerOrVelocimeter == null)?null:new ArrayList>(_other.touchOrAccelerometerOrVelocimeter)); } } public BoundList> getTouchOrAccelerometerOrVelocimeter() { if (this.touchOrAccelerometerOrVelocimeter == null) { this.touchOrAccelerometerOrVelocimeter = new ArrayList>(); } if (this.touchOrAccelerometerOrVelocimeter__Proxy == null) { this.touchOrAccelerometerOrVelocimeter__Proxy = new BoundListProxy>(this.touchOrAccelerometerOrVelocimeter); } return this.touchOrAccelerometerOrVelocimeter__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.Sensor 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.Sensor withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Sensor clone() { final Mujoco.Sensor _newObject; try { _newObject = ((Mujoco.Sensor) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.touchOrAccelerometerOrVelocimeter = ((this.touchOrAccelerometerOrVelocimeter == null)?null:new ArrayList>(this.touchOrAccelerometerOrVelocimeter)); return _newObject; } @Override public Mujoco.Sensor createCopy() { final Mujoco.Sensor _newObject; try { _newObject = ((Mujoco.Sensor) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.touchOrAccelerometerOrVelocimeter = ((this.touchOrAccelerometerOrVelocimeter == null)?null:new ArrayList>(this.touchOrAccelerometerOrVelocimeter)); return _newObject; } @Override public Mujoco.Sensor createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Sensor _newObject; try { _newObject = ((Mujoco.Sensor) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } final PropertyTree touchOrAccelerometerOrVelocimeterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("touchOrAccelerometerOrVelocimeter")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(touchOrAccelerometerOrVelocimeterPropertyTree!= null):((touchOrAccelerometerOrVelocimeterPropertyTree == null)||(!touchOrAccelerometerOrVelocimeterPropertyTree.isLeaf())))) { _newObject.touchOrAccelerometerOrVelocimeter = ((this.touchOrAccelerometerOrVelocimeter == null)?null:new ArrayList>(this.touchOrAccelerometerOrVelocimeter)); } return _newObject; } @Override public Mujoco.Sensor copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Sensor 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.Sensor.Builder<_B> _other) { if (this.touchOrAccelerometerOrVelocimeter == null) { _other.touchOrAccelerometerOrVelocimeter = null; } else { _other.touchOrAccelerometerOrVelocimeter = new ArrayList(); for (JAXBElement _item: this.touchOrAccelerometerOrVelocimeter) { _other.touchOrAccelerometerOrVelocimeter.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } public<_B >Mujoco.Sensor.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Sensor.Builder<_B>(_parentBuilder, this, true); } public Mujoco.Sensor.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Sensor.Builder builder() { return new Mujoco.Sensor.Builder(null, null, false); } public static<_B >Mujoco.Sensor.Builder<_B> copyOf(final Mujoco.Sensor _other) { final Mujoco.Sensor.Builder<_B> _newBuilder = new Mujoco.Sensor.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.Sensor.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree touchOrAccelerometerOrVelocimeterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("touchOrAccelerometerOrVelocimeter")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(touchOrAccelerometerOrVelocimeterPropertyTree!= null):((touchOrAccelerometerOrVelocimeterPropertyTree == null)||(!touchOrAccelerometerOrVelocimeterPropertyTree.isLeaf())))) { if (this.touchOrAccelerometerOrVelocimeter == null) { _other.touchOrAccelerometerOrVelocimeter = null; } else { _other.touchOrAccelerometerOrVelocimeter = new ArrayList(); for (JAXBElement _item: this.touchOrAccelerometerOrVelocimeter) { _other.touchOrAccelerometerOrVelocimeter.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public<_B >Mujoco.Sensor.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Sensor.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } public Mujoco.Sensor.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Sensor.Builder<_B> copyOf(final Mujoco.Sensor _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Sensor.Builder<_B> _newBuilder = new Mujoco.Sensor.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Sensor.Builder copyExcept(final Mujoco.Sensor _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Sensor.Builder copyOnly(final Mujoco.Sensor _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Sensor visit(final PropertyVisitor _visitor_) { _visitor_.visit(this); return this; } public static class Builder<_B >implements Buildable { protected final _B _parentBuilder; private List touchOrAccelerometerOrVelocimeter; public Builder(final _B _parentBuilder, final Mujoco.Sensor _other, final boolean _copy) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_other.touchOrAccelerometerOrVelocimeter == null) { this.touchOrAccelerometerOrVelocimeter = null; } else { this.touchOrAccelerometerOrVelocimeter = new ArrayList(); for (JAXBElement _item: _other.touchOrAccelerometerOrVelocimeter) { this.touchOrAccelerometerOrVelocimeter.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Sensor _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { this._parentBuilder = _parentBuilder; if (_other!= null) { final PropertyTree touchOrAccelerometerOrVelocimeterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("touchOrAccelerometerOrVelocimeter")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(touchOrAccelerometerOrVelocimeterPropertyTree!= null):((touchOrAccelerometerOrVelocimeterPropertyTree == null)||(!touchOrAccelerometerOrVelocimeterPropertyTree.isLeaf())))) { if (_other.touchOrAccelerometerOrVelocimeter == null) { this.touchOrAccelerometerOrVelocimeter = null; } else { this.touchOrAccelerometerOrVelocimeter = new ArrayList(); for (JAXBElement _item: _other.touchOrAccelerometerOrVelocimeter) { this.touchOrAccelerometerOrVelocimeter.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } public _B end() { return this._parentBuilder; } protected<_P extends Mujoco.Sensor >_P init(final _P _product) { if (this.touchOrAccelerometerOrVelocimeter!= null) { final List> touchOrAccelerometerOrVelocimeter = new ArrayList>(this.touchOrAccelerometerOrVelocimeter.size()); for (Buildable _item: this.touchOrAccelerometerOrVelocimeter) { touchOrAccelerometerOrVelocimeter.add(((JAXBElement ) _item.build())); } _product.touchOrAccelerometerOrVelocimeter = touchOrAccelerometerOrVelocimeter; } return _product; } /** * Adds the given items to the value of "touchOrAccelerometerOrVelocimeter" * * @param touchOrAccelerometerOrVelocimeter * Items to add to the value of the "touchOrAccelerometerOrVelocimeter" property */ public Mujoco.Sensor.Builder<_B> addTouchOrAccelerometerOrVelocimeter(final Iterable> touchOrAccelerometerOrVelocimeter) { if (touchOrAccelerometerOrVelocimeter!= null) { if (this.touchOrAccelerometerOrVelocimeter == null) { this.touchOrAccelerometerOrVelocimeter = new ArrayList(); } for (JAXBElement _item: touchOrAccelerometerOrVelocimeter) { this.touchOrAccelerometerOrVelocimeter.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "touchOrAccelerometerOrVelocimeter" (any previous value will be replaced) * * @param touchOrAccelerometerOrVelocimeter * New value of the "touchOrAccelerometerOrVelocimeter" property. */ public Mujoco.Sensor.Builder<_B> withTouchOrAccelerometerOrVelocimeter(final Iterable> touchOrAccelerometerOrVelocimeter) { if (this.touchOrAccelerometerOrVelocimeter!= null) { this.touchOrAccelerometerOrVelocimeter.clear(); } return addTouchOrAccelerometerOrVelocimeter(touchOrAccelerometerOrVelocimeter); } /** * Adds the given items to the value of "touchOrAccelerometerOrVelocimeter" * * @param touchOrAccelerometerOrVelocimeter * Items to add to the value of the "touchOrAccelerometerOrVelocimeter" property */ public Mujoco.Sensor.Builder<_B> addTouchOrAccelerometerOrVelocimeter(JAXBElement ... touchOrAccelerometerOrVelocimeter) { addTouchOrAccelerometerOrVelocimeter(Arrays.asList(touchOrAccelerometerOrVelocimeter)); return this; } /** * Sets the new value of "touchOrAccelerometerOrVelocimeter" (any previous value will be replaced) * * @param touchOrAccelerometerOrVelocimeter * New value of the "touchOrAccelerometerOrVelocimeter" property. */ public Mujoco.Sensor.Builder<_B> withTouchOrAccelerometerOrVelocimeter(JAXBElement ... touchOrAccelerometerOrVelocimeter) { withTouchOrAccelerometerOrVelocimeter(Arrays.asList(touchOrAccelerometerOrVelocimeter)); return this; } /** * Adds the given items to the value of "touch_" * * @param touch_ * Items to add to the value of the "touch_" property */ public Mujoco.Sensor.Builder<_B> addTouch(final Iterable> touch_) { return addTouchOrAccelerometerOrVelocimeter(touch_); } /** * Adds the given items to the value of "touch_" * * @param touch_ * Items to add to the value of the "touch_" property */ public Mujoco.Sensor.Builder<_B> addTouch(JAXBElement ... touch_) { return addTouch(Arrays.asList(touch_)); } /** * Adds the given items to the value of "accelerometer_" * * @param accelerometer_ * Items to add to the value of the "accelerometer_" property */ public Mujoco.Sensor.Builder<_B> addAccelerometer(final Iterable> accelerometer_) { return addTouchOrAccelerometerOrVelocimeter(accelerometer_); } /** * Adds the given items to the value of "accelerometer_" * * @param accelerometer_ * Items to add to the value of the "accelerometer_" property */ public Mujoco.Sensor.Builder<_B> addAccelerometer(JAXBElement ... accelerometer_) { return addAccelerometer(Arrays.asList(accelerometer_)); } /** * Adds the given items to the value of "velocimeter_" * * @param velocimeter_ * Items to add to the value of the "velocimeter_" property */ public Mujoco.Sensor.Builder<_B> addVelocimeter(final Iterable> velocimeter_) { return addTouchOrAccelerometerOrVelocimeter(velocimeter_); } /** * Adds the given items to the value of "velocimeter_" * * @param velocimeter_ * Items to add to the value of the "velocimeter_" property */ public Mujoco.Sensor.Builder<_B> addVelocimeter(JAXBElement ... velocimeter_) { return addVelocimeter(Arrays.asList(velocimeter_)); } /** * Adds the given items to the value of "gyro_" * * @param gyro_ * Items to add to the value of the "gyro_" property */ public Mujoco.Sensor.Builder<_B> addGyro(final Iterable> gyro_) { return addTouchOrAccelerometerOrVelocimeter(gyro_); } /** * Adds the given items to the value of "gyro_" * * @param gyro_ * Items to add to the value of the "gyro_" property */ public Mujoco.Sensor.Builder<_B> addGyro(JAXBElement ... gyro_) { return addGyro(Arrays.asList(gyro_)); } /** * Adds the given items to the value of "force_" * * @param force_ * Items to add to the value of the "force_" property */ public Mujoco.Sensor.Builder<_B> addForce(final Iterable> force_) { return addTouchOrAccelerometerOrVelocimeter(force_); } /** * Adds the given items to the value of "force_" * * @param force_ * Items to add to the value of the "force_" property */ public Mujoco.Sensor.Builder<_B> addForce(JAXBElement ... force_) { return addForce(Arrays.asList(force_)); } /** * Adds the given items to the value of "torque_" * * @param torque_ * Items to add to the value of the "torque_" property */ public Mujoco.Sensor.Builder<_B> addTorque(final Iterable> torque_) { return addTouchOrAccelerometerOrVelocimeter(torque_); } /** * Adds the given items to the value of "torque_" * * @param torque_ * Items to add to the value of the "torque_" property */ public Mujoco.Sensor.Builder<_B> addTorque(JAXBElement ... torque_) { return addTorque(Arrays.asList(torque_)); } /** * Adds the given items to the value of "magnetometer_" * * @param magnetometer_ * Items to add to the value of the "magnetometer_" property */ public Mujoco.Sensor.Builder<_B> addMagnetometer(final Iterable> magnetometer_) { return addTouchOrAccelerometerOrVelocimeter(magnetometer_); } /** * Adds the given items to the value of "magnetometer_" * * @param magnetometer_ * Items to add to the value of the "magnetometer_" property */ public Mujoco.Sensor.Builder<_B> addMagnetometer(JAXBElement ... magnetometer_) { return addMagnetometer(Arrays.asList(magnetometer_)); } /** * Adds the given items to the value of "rangefinder_" * * @param rangefinder_ * Items to add to the value of the "rangefinder_" property */ public Mujoco.Sensor.Builder<_B> addRangefinder(final Iterable> rangefinder_) { return addTouchOrAccelerometerOrVelocimeter(rangefinder_); } /** * Adds the given items to the value of "rangefinder_" * * @param rangefinder_ * Items to add to the value of the "rangefinder_" property */ public Mujoco.Sensor.Builder<_B> addRangefinder(JAXBElement ... rangefinder_) { return addRangefinder(Arrays.asList(rangefinder_)); } /** * Adds the given items to the value of "jointpos_" * * @param jointpos_ * Items to add to the value of the "jointpos_" property */ public Mujoco.Sensor.Builder<_B> addJointpos(final Iterable> jointpos_) { return addTouchOrAccelerometerOrVelocimeter(jointpos_); } /** * Adds the given items to the value of "jointpos_" * * @param jointpos_ * Items to add to the value of the "jointpos_" property */ public Mujoco.Sensor.Builder<_B> addJointpos(JAXBElement ... jointpos_) { return addJointpos(Arrays.asList(jointpos_)); } /** * Adds the given items to the value of "jointvel_" * * @param jointvel_ * Items to add to the value of the "jointvel_" property */ public Mujoco.Sensor.Builder<_B> addJointvel(final Iterable> jointvel_) { return addTouchOrAccelerometerOrVelocimeter(jointvel_); } /** * Adds the given items to the value of "jointvel_" * * @param jointvel_ * Items to add to the value of the "jointvel_" property */ public Mujoco.Sensor.Builder<_B> addJointvel(JAXBElement ... jointvel_) { return addJointvel(Arrays.asList(jointvel_)); } /** * Adds the given items to the value of "tendonpos_" * * @param tendonpos_ * Items to add to the value of the "tendonpos_" property */ public Mujoco.Sensor.Builder<_B> addTendonpos(final Iterable> tendonpos_) { return addTouchOrAccelerometerOrVelocimeter(tendonpos_); } /** * Adds the given items to the value of "tendonpos_" * * @param tendonpos_ * Items to add to the value of the "tendonpos_" property */ public Mujoco.Sensor.Builder<_B> addTendonpos(JAXBElement ... tendonpos_) { return addTendonpos(Arrays.asList(tendonpos_)); } /** * Adds the given items to the value of "tendonvel_" * * @param tendonvel_ * Items to add to the value of the "tendonvel_" property */ public Mujoco.Sensor.Builder<_B> addTendonvel(final Iterable> tendonvel_) { return addTouchOrAccelerometerOrVelocimeter(tendonvel_); } /** * Adds the given items to the value of "tendonvel_" * * @param tendonvel_ * Items to add to the value of the "tendonvel_" property */ public Mujoco.Sensor.Builder<_B> addTendonvel(JAXBElement ... tendonvel_) { return addTendonvel(Arrays.asList(tendonvel_)); } /** * Adds the given items to the value of "actuatorpos_" * * @param actuatorpos_ * Items to add to the value of the "actuatorpos_" property */ public Mujoco.Sensor.Builder<_B> addActuatorpos(final Iterable> actuatorpos_) { return addTouchOrAccelerometerOrVelocimeter(actuatorpos_); } /** * Adds the given items to the value of "actuatorpos_" * * @param actuatorpos_ * Items to add to the value of the "actuatorpos_" property */ public Mujoco.Sensor.Builder<_B> addActuatorpos(JAXBElement ... actuatorpos_) { return addActuatorpos(Arrays.asList(actuatorpos_)); } /** * Adds the given items to the value of "actuatorvel_" * * @param actuatorvel_ * Items to add to the value of the "actuatorvel_" property */ public Mujoco.Sensor.Builder<_B> addActuatorvel(final Iterable> actuatorvel_) { return addTouchOrAccelerometerOrVelocimeter(actuatorvel_); } /** * Adds the given items to the value of "actuatorvel_" * * @param actuatorvel_ * Items to add to the value of the "actuatorvel_" property */ public Mujoco.Sensor.Builder<_B> addActuatorvel(JAXBElement ... actuatorvel_) { return addActuatorvel(Arrays.asList(actuatorvel_)); } /** * Adds the given items to the value of "actuatorfrc_" * * @param actuatorfrc_ * Items to add to the value of the "actuatorfrc_" property */ public Mujoco.Sensor.Builder<_B> addActuatorfrc(final Iterable> actuatorfrc_) { return addTouchOrAccelerometerOrVelocimeter(actuatorfrc_); } /** * Adds the given items to the value of "actuatorfrc_" * * @param actuatorfrc_ * Items to add to the value of the "actuatorfrc_" property */ public Mujoco.Sensor.Builder<_B> addActuatorfrc(JAXBElement ... actuatorfrc_) { return addActuatorfrc(Arrays.asList(actuatorfrc_)); } /** * Adds the given items to the value of "ballquat_" * * @param ballquat_ * Items to add to the value of the "ballquat_" property */ public Mujoco.Sensor.Builder<_B> addBallquat(final Iterable> ballquat_) { return addTouchOrAccelerometerOrVelocimeter(ballquat_); } /** * Adds the given items to the value of "ballquat_" * * @param ballquat_ * Items to add to the value of the "ballquat_" property */ public Mujoco.Sensor.Builder<_B> addBallquat(JAXBElement ... ballquat_) { return addBallquat(Arrays.asList(ballquat_)); } /** * Adds the given items to the value of "ballangvel_" * * @param ballangvel_ * Items to add to the value of the "ballangvel_" property */ public Mujoco.Sensor.Builder<_B> addBallangvel(final Iterable> ballangvel_) { return addTouchOrAccelerometerOrVelocimeter(ballangvel_); } /** * Adds the given items to the value of "ballangvel_" * * @param ballangvel_ * Items to add to the value of the "ballangvel_" property */ public Mujoco.Sensor.Builder<_B> addBallangvel(JAXBElement ... ballangvel_) { return addBallangvel(Arrays.asList(ballangvel_)); } /** * Adds the given items to the value of "jointlimitpos_" * * @param jointlimitpos_ * Items to add to the value of the "jointlimitpos_" property */ public Mujoco.Sensor.Builder<_B> addJointlimitpos(final Iterable> jointlimitpos_) { return addTouchOrAccelerometerOrVelocimeter(jointlimitpos_); } /** * Adds the given items to the value of "jointlimitpos_" * * @param jointlimitpos_ * Items to add to the value of the "jointlimitpos_" property */ public Mujoco.Sensor.Builder<_B> addJointlimitpos(JAXBElement ... jointlimitpos_) { return addJointlimitpos(Arrays.asList(jointlimitpos_)); } /** * Adds the given items to the value of "jointlimitvel_" * * @param jointlimitvel_ * Items to add to the value of the "jointlimitvel_" property */ public Mujoco.Sensor.Builder<_B> addJointlimitvel(final Iterable> jointlimitvel_) { return addTouchOrAccelerometerOrVelocimeter(jointlimitvel_); } /** * Adds the given items to the value of "jointlimitvel_" * * @param jointlimitvel_ * Items to add to the value of the "jointlimitvel_" property */ public Mujoco.Sensor.Builder<_B> addJointlimitvel(JAXBElement ... jointlimitvel_) { return addJointlimitvel(Arrays.asList(jointlimitvel_)); } /** * Adds the given items to the value of "jointlimitfrc_" * * @param jointlimitfrc_ * Items to add to the value of the "jointlimitfrc_" property */ public Mujoco.Sensor.Builder<_B> addJointlimitfrc(final Iterable> jointlimitfrc_) { return addTouchOrAccelerometerOrVelocimeter(jointlimitfrc_); } /** * Adds the given items to the value of "jointlimitfrc_" * * @param jointlimitfrc_ * Items to add to the value of the "jointlimitfrc_" property */ public Mujoco.Sensor.Builder<_B> addJointlimitfrc(JAXBElement ... jointlimitfrc_) { return addJointlimitfrc(Arrays.asList(jointlimitfrc_)); } /** * Adds the given items to the value of "tendonlimitpos_" * * @param tendonlimitpos_ * Items to add to the value of the "tendonlimitpos_" property */ public Mujoco.Sensor.Builder<_B> addTendonlimitpos(final Iterable> tendonlimitpos_) { return addTouchOrAccelerometerOrVelocimeter(tendonlimitpos_); } /** * Adds the given items to the value of "tendonlimitpos_" * * @param tendonlimitpos_ * Items to add to the value of the "tendonlimitpos_" property */ public Mujoco.Sensor.Builder<_B> addTendonlimitpos(JAXBElement ... tendonlimitpos_) { return addTendonlimitpos(Arrays.asList(tendonlimitpos_)); } /** * Adds the given items to the value of "tendonlimitvel_" * * @param tendonlimitvel_ * Items to add to the value of the "tendonlimitvel_" property */ public Mujoco.Sensor.Builder<_B> addTendonlimitvel(final Iterable> tendonlimitvel_) { return addTouchOrAccelerometerOrVelocimeter(tendonlimitvel_); } /** * Adds the given items to the value of "tendonlimitvel_" * * @param tendonlimitvel_ * Items to add to the value of the "tendonlimitvel_" property */ public Mujoco.Sensor.Builder<_B> addTendonlimitvel(JAXBElement ... tendonlimitvel_) { return addTendonlimitvel(Arrays.asList(tendonlimitvel_)); } /** * Adds the given items to the value of "tendonlimitfrc_" * * @param tendonlimitfrc_ * Items to add to the value of the "tendonlimitfrc_" property */ public Mujoco.Sensor.Builder<_B> addTendonlimitfrc(final Iterable> tendonlimitfrc_) { return addTouchOrAccelerometerOrVelocimeter(tendonlimitfrc_); } /** * Adds the given items to the value of "tendonlimitfrc_" * * @param tendonlimitfrc_ * Items to add to the value of the "tendonlimitfrc_" property */ public Mujoco.Sensor.Builder<_B> addTendonlimitfrc(JAXBElement ... tendonlimitfrc_) { return addTendonlimitfrc(Arrays.asList(tendonlimitfrc_)); } /** * Adds the given items to the value of "framepos_" * * @param framepos_ * Items to add to the value of the "framepos_" property */ public Mujoco.Sensor.Builder<_B> addFramepos(final Iterable> framepos_) { return addTouchOrAccelerometerOrVelocimeter(framepos_); } /** * Adds the given items to the value of "framepos_" * * @param framepos_ * Items to add to the value of the "framepos_" property */ public Mujoco.Sensor.Builder<_B> addFramepos(JAXBElement ... framepos_) { return addFramepos(Arrays.asList(framepos_)); } /** * Adds the given items to the value of "framequat_" * * @param framequat_ * Items to add to the value of the "framequat_" property */ public Mujoco.Sensor.Builder<_B> addFramequat(final Iterable> framequat_) { return addTouchOrAccelerometerOrVelocimeter(framequat_); } /** * Adds the given items to the value of "framequat_" * * @param framequat_ * Items to add to the value of the "framequat_" property */ public Mujoco.Sensor.Builder<_B> addFramequat(JAXBElement ... framequat_) { return addFramequat(Arrays.asList(framequat_)); } /** * Adds the given items to the value of "framexaxis_" * * @param framexaxis_ * Items to add to the value of the "framexaxis_" property */ public Mujoco.Sensor.Builder<_B> addFramexaxis(final Iterable> framexaxis_) { return addTouchOrAccelerometerOrVelocimeter(framexaxis_); } /** * Adds the given items to the value of "framexaxis_" * * @param framexaxis_ * Items to add to the value of the "framexaxis_" property */ public Mujoco.Sensor.Builder<_B> addFramexaxis(JAXBElement ... framexaxis_) { return addFramexaxis(Arrays.asList(framexaxis_)); } /** * Adds the given items to the value of "frameyaxis_" * * @param frameyaxis_ * Items to add to the value of the "frameyaxis_" property */ public Mujoco.Sensor.Builder<_B> addFrameyaxis(final Iterable> frameyaxis_) { return addTouchOrAccelerometerOrVelocimeter(frameyaxis_); } /** * Adds the given items to the value of "frameyaxis_" * * @param frameyaxis_ * Items to add to the value of the "frameyaxis_" property */ public Mujoco.Sensor.Builder<_B> addFrameyaxis(JAXBElement ... frameyaxis_) { return addFrameyaxis(Arrays.asList(frameyaxis_)); } /** * Adds the given items to the value of "framezaxis_" * * @param framezaxis_ * Items to add to the value of the "framezaxis_" property */ public Mujoco.Sensor.Builder<_B> addFramezaxis(final Iterable> framezaxis_) { return addTouchOrAccelerometerOrVelocimeter(framezaxis_); } /** * Adds the given items to the value of "framezaxis_" * * @param framezaxis_ * Items to add to the value of the "framezaxis_" property */ public Mujoco.Sensor.Builder<_B> addFramezaxis(JAXBElement ... framezaxis_) { return addFramezaxis(Arrays.asList(framezaxis_)); } /** * Adds the given items to the value of "framelinvel_" * * @param framelinvel_ * Items to add to the value of the "framelinvel_" property */ public Mujoco.Sensor.Builder<_B> addFramelinvel(final Iterable> framelinvel_) { return addTouchOrAccelerometerOrVelocimeter(framelinvel_); } /** * Adds the given items to the value of "framelinvel_" * * @param framelinvel_ * Items to add to the value of the "framelinvel_" property */ public Mujoco.Sensor.Builder<_B> addFramelinvel(JAXBElement ... framelinvel_) { return addFramelinvel(Arrays.asList(framelinvel_)); } /** * Adds the given items to the value of "frameangvel_" * * @param frameangvel_ * Items to add to the value of the "frameangvel_" property */ public Mujoco.Sensor.Builder<_B> addFrameangvel(final Iterable> frameangvel_) { return addTouchOrAccelerometerOrVelocimeter(frameangvel_); } /** * Adds the given items to the value of "frameangvel_" * * @param frameangvel_ * Items to add to the value of the "frameangvel_" property */ public Mujoco.Sensor.Builder<_B> addFrameangvel(JAXBElement ... frameangvel_) { return addFrameangvel(Arrays.asList(frameangvel_)); } /** * Adds the given items to the value of "framelinacc_" * * @param framelinacc_ * Items to add to the value of the "framelinacc_" property */ public Mujoco.Sensor.Builder<_B> addFramelinacc(final Iterable> framelinacc_) { return addTouchOrAccelerometerOrVelocimeter(framelinacc_); } /** * Adds the given items to the value of "framelinacc_" * * @param framelinacc_ * Items to add to the value of the "framelinacc_" property */ public Mujoco.Sensor.Builder<_B> addFramelinacc(JAXBElement ... framelinacc_) { return addFramelinacc(Arrays.asList(framelinacc_)); } /** * Adds the given items to the value of "frameangacc_" * * @param frameangacc_ * Items to add to the value of the "frameangacc_" property */ public Mujoco.Sensor.Builder<_B> addFrameangacc(final Iterable> frameangacc_) { return addTouchOrAccelerometerOrVelocimeter(frameangacc_); } /** * Adds the given items to the value of "frameangacc_" * * @param frameangacc_ * Items to add to the value of the "frameangacc_" property */ public Mujoco.Sensor.Builder<_B> addFrameangacc(JAXBElement ... frameangacc_) { return addFrameangacc(Arrays.asList(frameangacc_)); } /** * Adds the given items to the value of "subtreecom_" * * @param subtreecom_ * Items to add to the value of the "subtreecom_" property */ public Mujoco.Sensor.Builder<_B> addSubtreecom(final Iterable> subtreecom_) { return addTouchOrAccelerometerOrVelocimeter(subtreecom_); } /** * Adds the given items to the value of "subtreecom_" * * @param subtreecom_ * Items to add to the value of the "subtreecom_" property */ public Mujoco.Sensor.Builder<_B> addSubtreecom(JAXBElement ... subtreecom_) { return addSubtreecom(Arrays.asList(subtreecom_)); } /** * Adds the given items to the value of "subtreelinvel_" * * @param subtreelinvel_ * Items to add to the value of the "subtreelinvel_" property */ public Mujoco.Sensor.Builder<_B> addSubtreelinvel(final Iterable> subtreelinvel_) { return addTouchOrAccelerometerOrVelocimeter(subtreelinvel_); } /** * Adds the given items to the value of "subtreelinvel_" * * @param subtreelinvel_ * Items to add to the value of the "subtreelinvel_" property */ public Mujoco.Sensor.Builder<_B> addSubtreelinvel(JAXBElement ... subtreelinvel_) { return addSubtreelinvel(Arrays.asList(subtreelinvel_)); } /** * Adds the given items to the value of "subtreeangmom_" * * @param subtreeangmom_ * Items to add to the value of the "subtreeangmom_" property */ public Mujoco.Sensor.Builder<_B> addSubtreeangmom(final Iterable> subtreeangmom_) { return addTouchOrAccelerometerOrVelocimeter(subtreeangmom_); } /** * Adds the given items to the value of "subtreeangmom_" * * @param subtreeangmom_ * Items to add to the value of the "subtreeangmom_" property */ public Mujoco.Sensor.Builder<_B> addSubtreeangmom(JAXBElement ... subtreeangmom_) { return addSubtreeangmom(Arrays.asList(subtreeangmom_)); } /** * Adds the given items to the value of "user_" * * @param user_ * Items to add to the value of the "user_" property */ public Mujoco.Sensor.Builder<_B> addUser(final Iterable> user_) { return addTouchOrAccelerometerOrVelocimeter(user_); } /** * Adds the given items to the value of "user_" * * @param user_ * Items to add to the value of the "user_" property */ public Mujoco.Sensor.Builder<_B> addUser(JAXBElement ... user_) { return addUser(Arrays.asList(user_)); } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Sensor.Builder<_B> addInclude(final Iterable> include_) { return addTouchOrAccelerometerOrVelocimeter(include_); } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Sensor.Builder<_B> addInclude(JAXBElement ... include_) { return addInclude(Arrays.asList(include_)); } @Override public Mujoco.Sensor build() { return this.init(new Mujoco.Sensor()); } public Mujoco.Sensor.Builder<_B> copyOf(final Mujoco.Sensor _other) { _other.copyTo(this); return this; } public Mujoco.Sensor.Builder<_B> copyOf(final Mujoco.Sensor.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String TOUCH_OR_ACCELEROMETER_OR_VELOCIMETER = "touchOrAccelerometerOrVelocimeter"; } public static class Select extends Mujoco.Sensor.Selector { Select() { super(null, null, null); } public static Mujoco.Sensor.Select _root() { return new Mujoco.Sensor.Select(); } } public static class Selector , TParent > extends com.kscs.util.jaxb.Selector { private com.kscs.util.jaxb.Selector> touchOrAccelerometerOrVelocimeter = 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.touchOrAccelerometerOrVelocimeter!= null) { products.put("touchOrAccelerometerOrVelocimeter", this.touchOrAccelerometerOrVelocimeter.init()); } return products; } public com.kscs.util.jaxb.Selector> touchOrAccelerometerOrVelocimeter() { return ((this.touchOrAccelerometerOrVelocimeter == null)?this.touchOrAccelerometerOrVelocimeter = new com.kscs.util.jaxb.Selector>(this._root, this, "touchOrAccelerometerOrVelocimeter"):this.touchOrAccelerometerOrVelocimeter); } } } /** *

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="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>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "spatialOrFixedOrInclude" }) public static class Tendon implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "spatial", type = Mujoco.Tendon.Spatial.class), @XmlElement(name = "fixed", type = Mujoco.Tendon.Fixed.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List spatialOrFixedOrInclude; private transient BoundList spatialOrFixedOrInclude__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 Tendon() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Tendon copying the state of another Tendon * * @param _other * The original Tendon from which to copy state. */ public Tendon(final Mujoco.Tendon _other) { this.spatialOrFixedOrInclude = ((_other.spatialOrFixedOrInclude == null)?null:new ArrayList(_other.spatialOrFixedOrInclude)); } /** * Instantiates a Tendon copying the state of another Tendon * * @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 Tendon from which to copy state. */ public Tendon(final Mujoco.Tendon _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree spatialOrFixedOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("spatialOrFixedOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(spatialOrFixedOrIncludePropertyTree!= null):((spatialOrFixedOrIncludePropertyTree == null)||(!spatialOrFixedOrIncludePropertyTree.isLeaf())))) { this.spatialOrFixedOrInclude = ((_other.spatialOrFixedOrInclude == null)?null:new ArrayList(_other.spatialOrFixedOrInclude)); } } public BoundList getSpatialOrFixedOrInclude() { if (this.spatialOrFixedOrInclude == null) { this.spatialOrFixedOrInclude = new ArrayList(); } if (this.spatialOrFixedOrInclude__Proxy == null) { this.spatialOrFixedOrInclude__Proxy = new BoundListProxy(this.spatialOrFixedOrInclude); } return this.spatialOrFixedOrInclude__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.Tendon 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.Tendon withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Tendon clone() { final Mujoco.Tendon _newObject; try { _newObject = ((Mujoco.Tendon) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.spatialOrFixedOrInclude = ((this.spatialOrFixedOrInclude == null)?null:new ArrayList(this.spatialOrFixedOrInclude)); return _newObject; } @Override public Mujoco.Tendon createCopy() { final Mujoco.Tendon _newObject; try { _newObject = ((Mujoco.Tendon) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.spatialOrFixedOrInclude = ((this.spatialOrFixedOrInclude == null)?null:new ArrayList(this.spatialOrFixedOrInclude)); return _newObject; } @Override public Mujoco.Tendon createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Tendon _newObject; try { _newObject = ((Mujoco.Tendon) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } final PropertyTree spatialOrFixedOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("spatialOrFixedOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(spatialOrFixedOrIncludePropertyTree!= null):((spatialOrFixedOrIncludePropertyTree == null)||(!spatialOrFixedOrIncludePropertyTree.isLeaf())))) { _newObject.spatialOrFixedOrInclude = ((this.spatialOrFixedOrInclude == null)?null:new ArrayList(this.spatialOrFixedOrInclude)); } return _newObject; } @Override public Mujoco.Tendon copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Tendon 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.Tendon.Builder<_B> _other) { if (this.spatialOrFixedOrInclude == null) { _other.spatialOrFixedOrInclude = null; } else { _other.spatialOrFixedOrInclude = new ArrayList(); for (Object _item: this.spatialOrFixedOrInclude) { _other.spatialOrFixedOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } public<_B >Mujoco.Tendon.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Tendon.Builder<_B>(_parentBuilder, this, true); } public Mujoco.Tendon.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Tendon.Builder builder() { return new Mujoco.Tendon.Builder(null, null, false); } public static<_B >Mujoco.Tendon.Builder<_B> copyOf(final Mujoco.Tendon _other) { final Mujoco.Tendon.Builder<_B> _newBuilder = new Mujoco.Tendon.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.Tendon.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree spatialOrFixedOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("spatialOrFixedOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(spatialOrFixedOrIncludePropertyTree!= null):((spatialOrFixedOrIncludePropertyTree == null)||(!spatialOrFixedOrIncludePropertyTree.isLeaf())))) { if (this.spatialOrFixedOrInclude == null) { _other.spatialOrFixedOrInclude = null; } else { _other.spatialOrFixedOrInclude = new ArrayList(); for (Object _item: this.spatialOrFixedOrInclude) { _other.spatialOrFixedOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public<_B >Mujoco.Tendon.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Tendon.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } public Mujoco.Tendon.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Tendon.Builder<_B> copyOf(final Mujoco.Tendon _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Tendon.Builder<_B> _newBuilder = new Mujoco.Tendon.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Tendon.Builder copyExcept(final Mujoco.Tendon _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Tendon.Builder copyOnly(final Mujoco.Tendon _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Tendon visit(final PropertyVisitor _visitor_) { _visitor_.visit(this); return this; } public static class Builder<_B >implements Buildable { protected final _B _parentBuilder; private List spatialOrFixedOrInclude; public Builder(final _B _parentBuilder, final Mujoco.Tendon _other, final boolean _copy) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_other.spatialOrFixedOrInclude == null) { this.spatialOrFixedOrInclude = null; } else { this.spatialOrFixedOrInclude = new ArrayList(); for (Object _item: _other.spatialOrFixedOrInclude) { this.spatialOrFixedOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Tendon _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { this._parentBuilder = _parentBuilder; if (_other!= null) { final PropertyTree spatialOrFixedOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("spatialOrFixedOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(spatialOrFixedOrIncludePropertyTree!= null):((spatialOrFixedOrIncludePropertyTree == null)||(!spatialOrFixedOrIncludePropertyTree.isLeaf())))) { if (_other.spatialOrFixedOrInclude == null) { this.spatialOrFixedOrInclude = null; } else { this.spatialOrFixedOrInclude = new ArrayList(); for (Object _item: _other.spatialOrFixedOrInclude) { this.spatialOrFixedOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } public _B end() { return this._parentBuilder; } protected<_P extends Mujoco.Tendon >_P init(final _P _product) { if (this.spatialOrFixedOrInclude!= null) { final List spatialOrFixedOrInclude = new ArrayList(this.spatialOrFixedOrInclude.size()); for (Buildable _item: this.spatialOrFixedOrInclude) { spatialOrFixedOrInclude.add(((Object) _item.build())); } _product.spatialOrFixedOrInclude = spatialOrFixedOrInclude; } return _product; } /** * Adds the given items to the value of "spatialOrFixedOrInclude" * * @param spatialOrFixedOrInclude * Items to add to the value of the "spatialOrFixedOrInclude" property */ public Mujoco.Tendon.Builder<_B> addSpatialOrFixedOrInclude(final Iterable spatialOrFixedOrInclude) { if (spatialOrFixedOrInclude!= null) { if (this.spatialOrFixedOrInclude == null) { this.spatialOrFixedOrInclude = new ArrayList(); } for (Object _item: spatialOrFixedOrInclude) { this.spatialOrFixedOrInclude.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "spatialOrFixedOrInclude" (any previous value will be replaced) * * @param spatialOrFixedOrInclude * New value of the "spatialOrFixedOrInclude" property. */ public Mujoco.Tendon.Builder<_B> withSpatialOrFixedOrInclude(final Iterable spatialOrFixedOrInclude) { if (this.spatialOrFixedOrInclude!= null) { this.spatialOrFixedOrInclude.clear(); } return addSpatialOrFixedOrInclude(spatialOrFixedOrInclude); } /** * Adds the given items to the value of "spatialOrFixedOrInclude" * * @param spatialOrFixedOrInclude * Items to add to the value of the "spatialOrFixedOrInclude" property */ public Mujoco.Tendon.Builder<_B> addSpatialOrFixedOrInclude(Object... spatialOrFixedOrInclude) { addSpatialOrFixedOrInclude(Arrays.asList(spatialOrFixedOrInclude)); return this; } /** * Sets the new value of "spatialOrFixedOrInclude" (any previous value will be replaced) * * @param spatialOrFixedOrInclude * New value of the "spatialOrFixedOrInclude" property. */ public Mujoco.Tendon.Builder<_B> withSpatialOrFixedOrInclude(Object... spatialOrFixedOrInclude) { withSpatialOrFixedOrInclude(Arrays.asList(spatialOrFixedOrInclude)); return this; } /** * Adds the given items to the value of "spatial_" * * @param spatial_ * Items to add to the value of the "spatial_" property */ public Mujoco.Tendon.Builder<_B> addSpatial(final Iterable spatial_) { if (spatial_!= null) { if (this.spatialOrFixedOrInclude == null) { this.spatialOrFixedOrInclude = new ArrayList(); } for (Mujoco.Tendon.Spatial _item: spatial_) { this.spatialOrFixedOrInclude.add(new Mujoco.Tendon.Spatial.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "spatial_" * * @param spatial_ * Items to add to the value of the "spatial_" property */ public Mujoco.Tendon.Builder<_B> addSpatial(Mujoco.Tendon.Spatial... spatial_) { return addSpatial(Arrays.asList(spatial_)); } /** * Returns a new builder to build an additional value of the "spatial" property. * Use {@link org.mujoco.xml.Mujoco.Tendon.Spatial.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "spatial" property. * Use {@link org.mujoco.xml.Mujoco.Tendon.Spatial.Builder#end()} to return to the current builder. */ public Mujoco.Tendon.Spatial.Builder> addSpatial() { if (this.spatialOrFixedOrInclude == null) { this.spatialOrFixedOrInclude = new ArrayList(); } final Mujoco.Tendon.Spatial.Builder> spatial_Builder = new Mujoco.Tendon.Spatial.Builder>(this, null, false); this.spatialOrFixedOrInclude.add(spatial_Builder); return spatial_Builder; } /** * Adds the given items to the value of "fixed_" * * @param fixed_ * Items to add to the value of the "fixed_" property */ public Mujoco.Tendon.Builder<_B> addFixed(final Iterable fixed_) { if (fixed_!= null) { if (this.spatialOrFixedOrInclude == null) { this.spatialOrFixedOrInclude = new ArrayList(); } for (Mujoco.Tendon.Fixed _item: fixed_) { this.spatialOrFixedOrInclude.add(new Mujoco.Tendon.Fixed.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "fixed_" * * @param fixed_ * Items to add to the value of the "fixed_" property */ public Mujoco.Tendon.Builder<_B> addFixed(Mujoco.Tendon.Fixed... fixed_) { return addFixed(Arrays.asList(fixed_)); } /** * Returns a new builder to build an additional value of the "fixed" property. * Use {@link org.mujoco.xml.Mujoco.Tendon.Fixed.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "fixed" property. * Use {@link org.mujoco.xml.Mujoco.Tendon.Fixed.Builder#end()} to return to the current builder. */ public Mujoco.Tendon.Fixed.Builder> addFixed() { if (this.spatialOrFixedOrInclude == null) { this.spatialOrFixedOrInclude = new ArrayList(); } final Mujoco.Tendon.Fixed.Builder> fixed_Builder = new Mujoco.Tendon.Fixed.Builder>(this, null, false); this.spatialOrFixedOrInclude.add(fixed_Builder); return fixed_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Tendon.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.spatialOrFixedOrInclude == null) { this.spatialOrFixedOrInclude = new ArrayList(); } for (IncludeType _item: include_) { this.spatialOrFixedOrInclude.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.Tendon.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> addInclude() { if (this.spatialOrFixedOrInclude == null) { this.spatialOrFixedOrInclude = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.spatialOrFixedOrInclude.add(include_Builder); return include_Builder; } @Override public Mujoco.Tendon build() { return this.init(new Mujoco.Tendon()); } public Mujoco.Tendon.Builder<_B> copyOf(final Mujoco.Tendon _other) { _other.copyTo(this); return this; } public Mujoco.Tendon.Builder<_B> copyOf(final Mujoco.Tendon.Builder _other) { return copyOf(_other.build()); } } /** *

Java class for anonymous complex type. * *

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

         * <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>
         * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "jointOrInclude" }) public static class Fixed extends FixedType implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "joint", type = org.mujoco.xml.tendon.JointType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List jointOrInclude; private transient BoundList jointOrInclude__Proxy = null; /** * Generated by copy-constructor plugin, JAXB requires public no-arg constructor. * */ public Fixed() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Fixed copying the state of another Fixed * * @param _other * The original Fixed from which to copy state. */ public Fixed(final Mujoco.Tendon.Fixed _other) { super(_other); this.jointOrInclude = ((_other.jointOrInclude == null)?null:new ArrayList(_other.jointOrInclude)); } /** * Instantiates a Fixed copying the state of another Fixed * * @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 Fixed from which to copy state. */ public Fixed(final Mujoco.Tendon.Fixed _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_other, _propertyTree, _propertyTreeUse); final PropertyTree jointOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jointOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jointOrIncludePropertyTree!= null):((jointOrIncludePropertyTree == null)||(!jointOrIncludePropertyTree.isLeaf())))) { this.jointOrInclude = ((_other.jointOrInclude == null)?null:new ArrayList(_other.jointOrInclude)); } } public BoundList getJointOrInclude() { if (this.jointOrInclude == null) { this.jointOrInclude = new ArrayList(); } if (this.jointOrInclude__Proxy == null) { this.jointOrInclude__Proxy = new BoundListProxy(this.jointOrInclude); } return this.jointOrInclude__Proxy; } @Override public Mujoco.Tendon.Fixed withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) { addVetoableChangeListener(vetoableChangeListener); return this; } @Override public Mujoco.Tendon.Fixed withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Tendon.Fixed clone() { final Mujoco.Tendon.Fixed _newObject; _newObject = ((Mujoco.Tendon.Fixed) super.clone()); _newObject.jointOrInclude = ((this.jointOrInclude == null)?null:new ArrayList(this.jointOrInclude)); return _newObject; } @Override public Mujoco.Tendon.Fixed createCopy() { final Mujoco.Tendon.Fixed _newObject = ((Mujoco.Tendon.Fixed) super.createCopy()); _newObject.jointOrInclude = ((this.jointOrInclude == null)?null:new ArrayList(this.jointOrInclude)); return _newObject; } @Override public Mujoco.Tendon.Fixed createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Tendon.Fixed _newObject = ((Mujoco.Tendon.Fixed) super.createCopy(_propertyTree, _propertyTreeUse)); final PropertyTree jointOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jointOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jointOrIncludePropertyTree!= null):((jointOrIncludePropertyTree == null)||(!jointOrIncludePropertyTree.isLeaf())))) { _newObject.jointOrInclude = ((this.jointOrInclude == null)?null:new ArrayList(this.jointOrInclude)); } return _newObject; } @Override public Mujoco.Tendon.Fixed copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Tendon.Fixed 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.Tendon.Fixed.Builder<_B> _other) { super.copyTo(_other); if (this.jointOrInclude == null) { _other.jointOrInclude = null; } else { _other.jointOrInclude = new ArrayList(); for (Object _item: this.jointOrInclude) { _other.jointOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } @Override public<_B >Mujoco.Tendon.Fixed.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Tendon.Fixed.Builder<_B>(_parentBuilder, this, true); } @Override public Mujoco.Tendon.Fixed.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Tendon.Fixed.Builder builder() { return new Mujoco.Tendon.Fixed.Builder(null, null, false); } public static<_B >Mujoco.Tendon.Fixed.Builder<_B> copyOf(final FixedType _other) { final Mujoco.Tendon.Fixed.Builder<_B> _newBuilder = new Mujoco.Tendon.Fixed.Builder<_B>(null, null, false); _other.copyTo(_newBuilder); return _newBuilder; } public static<_B >Mujoco.Tendon.Fixed.Builder<_B> copyOf(final Mujoco.Tendon.Fixed _other) { final Mujoco.Tendon.Fixed.Builder<_B> _newBuilder = new Mujoco.Tendon.Fixed.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.Tendon.Fixed.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super.copyTo(_other, _propertyTree, _propertyTreeUse); final PropertyTree jointOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jointOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jointOrIncludePropertyTree!= null):((jointOrIncludePropertyTree == null)||(!jointOrIncludePropertyTree.isLeaf())))) { if (this.jointOrInclude == null) { _other.jointOrInclude = null; } else { _other.jointOrInclude = new ArrayList(); for (Object _item: this.jointOrInclude) { _other.jointOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } @Override public<_B >Mujoco.Tendon.Fixed.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Tendon.Fixed.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } @Override public Mujoco.Tendon.Fixed.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Tendon.Fixed.Builder<_B> copyOf(final FixedType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Tendon.Fixed.Builder<_B> _newBuilder = new Mujoco.Tendon.Fixed.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static<_B >Mujoco.Tendon.Fixed.Builder<_B> copyOf(final Mujoco.Tendon.Fixed _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Tendon.Fixed.Builder<_B> _newBuilder = new Mujoco.Tendon.Fixed.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Tendon.Fixed.Builder copyExcept(final FixedType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Tendon.Fixed.Builder copyExcept(final Mujoco.Tendon.Fixed _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Tendon.Fixed.Builder copyOnly(final FixedType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public static Mujoco.Tendon.Fixed.Builder copyOnly(final Mujoco.Tendon.Fixed _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Tendon.Fixed visit(final PropertyVisitor _visitor_) { super.visit(_visitor_); return this; } public static class Builder<_B > extends FixedType.Builder<_B> implements Buildable { private List jointOrInclude; public Builder(final _B _parentBuilder, final Mujoco.Tendon.Fixed _other, final boolean _copy) { super(_parentBuilder, _other, _copy); if (_other!= null) { if (_other.jointOrInclude == null) { this.jointOrInclude = null; } else { this.jointOrInclude = new ArrayList(); for (Object _item: _other.jointOrInclude) { this.jointOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Tendon.Fixed _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); if (_other!= null) { final PropertyTree jointOrIncludePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jointOrInclude")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jointOrIncludePropertyTree!= null):((jointOrIncludePropertyTree == null)||(!jointOrIncludePropertyTree.isLeaf())))) { if (_other.jointOrInclude == null) { this.jointOrInclude = null; } else { this.jointOrInclude = new ArrayList(); for (Object _item: _other.jointOrInclude) { this.jointOrInclude.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } protected<_P extends Mujoco.Tendon.Fixed >_P init(final _P _product) { if (this.jointOrInclude!= null) { final List jointOrInclude = new ArrayList(this.jointOrInclude.size()); for (Buildable _item: this.jointOrInclude) { jointOrInclude.add(((Object) _item.build())); } _product.jointOrInclude = jointOrInclude; } return super.init(_product); } /** * Adds the given items to the value of "jointOrInclude" * * @param jointOrInclude * Items to add to the value of the "jointOrInclude" property */ public Mujoco.Tendon.Fixed.Builder<_B> addJointOrInclude(final Iterable jointOrInclude) { if (jointOrInclude!= null) { if (this.jointOrInclude == null) { this.jointOrInclude = new ArrayList(); } for (Object _item: jointOrInclude) { this.jointOrInclude.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "jointOrInclude" (any previous value will be replaced) * * @param jointOrInclude * New value of the "jointOrInclude" property. */ public Mujoco.Tendon.Fixed.Builder<_B> withJointOrInclude(final Iterable jointOrInclude) { if (this.jointOrInclude!= null) { this.jointOrInclude.clear(); } return addJointOrInclude(jointOrInclude); } /** * Adds the given items to the value of "jointOrInclude" * * @param jointOrInclude * Items to add to the value of the "jointOrInclude" property */ public Mujoco.Tendon.Fixed.Builder<_B> addJointOrInclude(Object... jointOrInclude) { addJointOrInclude(Arrays.asList(jointOrInclude)); return this; } /** * Sets the new value of "jointOrInclude" (any previous value will be replaced) * * @param jointOrInclude * New value of the "jointOrInclude" property. */ public Mujoco.Tendon.Fixed.Builder<_B> withJointOrInclude(Object... jointOrInclude) { withJointOrInclude(Arrays.asList(jointOrInclude)); return this; } /** * Adds the given items to the value of "joint_" * * @param joint_ * Items to add to the value of the "joint_" property */ public Mujoco.Tendon.Fixed.Builder<_B> addJoint(final Iterable joint_) { if (joint_!= null) { if (this.jointOrInclude == null) { this.jointOrInclude = new ArrayList(); } for (org.mujoco.xml.tendon.JointType _item: joint_) { this.jointOrInclude.add(new org.mujoco.xml.tendon.JointType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "joint_" * * @param joint_ * Items to add to the value of the "joint_" property */ public Mujoco.Tendon.Fixed.Builder<_B> addJoint(org.mujoco.xml.tendon.JointType... joint_) { return addJoint(Arrays.asList(joint_)); } /** * Returns a new builder to build an additional value of the "joint" property. * Use {@link org.mujoco.xml.tendon.JointType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "joint" property. * Use {@link org.mujoco.xml.tendon.JointType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.tendon.JointType.Builder> addJoint() { if (this.jointOrInclude == null) { this.jointOrInclude = new ArrayList(); } final org.mujoco.xml.tendon.JointType.Builder> joint_Builder = new org.mujoco.xml.tendon.JointType.Builder>(this, null, false); this.jointOrInclude.add(joint_Builder); return joint_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Tendon.Fixed.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.jointOrInclude == null) { this.jointOrInclude = new ArrayList(); } for (IncludeType _item: include_) { this.jointOrInclude.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.Tendon.Fixed.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> addInclude() { if (this.jointOrInclude == null) { this.jointOrInclude = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.jointOrInclude.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.Tendon.Fixed.Builder<_B> withName(final String name) { super.withName(name); return this; } /** * Sets the new value of "clazz" (any previous value will be replaced) * * @param clazz * New value of the "clazz" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withClazz(final String clazz) { super.withClazz(clazz); return this; } /** * Sets the new value of "group" (any previous value will be replaced) * * @param group * New value of the "group" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withGroup(final Integer group) { super.withGroup(group); return this; } /** * Sets the new value of "limited" (any previous value will be replaced) * * @param limited * New value of the "limited" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withLimited(final Boolean limited) { super.withLimited(limited); return this; } /** * Sets the new value of "range" (any previous value will be replaced) * * @param range * New value of the "range" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withRange(final String range) { super.withRange(range); return this; } /** * Sets the new value of "solimplimit" (any previous value will be replaced) * * @param solimplimit * New value of the "solimplimit" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withSolimplimit(final String solimplimit) { super.withSolimplimit(solimplimit); return this; } /** * Sets the new value of "solreflimit" (any previous value will be replaced) * * @param solreflimit * New value of the "solreflimit" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withSolreflimit(final String solreflimit) { super.withSolreflimit(solreflimit); return this; } /** * Sets the new value of "solimpfriction" (any previous value will be replaced) * * @param solimpfriction * New value of the "solimpfriction" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withSolimpfriction(final String solimpfriction) { super.withSolimpfriction(solimpfriction); return this; } /** * Sets the new value of "solreffriction" (any previous value will be replaced) * * @param solreffriction * New value of the "solreffriction" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withSolreffriction(final String solreffriction) { super.withSolreffriction(solreffriction); return this; } /** * Sets the new value of "margin" (any previous value will be replaced) * * @param margin * New value of the "margin" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withMargin(final BigDecimal margin) { super.withMargin(margin); return this; } /** * Sets the new value of "frictionloss" (any previous value will be replaced) * * @param frictionloss * New value of the "frictionloss" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withFrictionloss(final BigDecimal frictionloss) { super.withFrictionloss(frictionloss); return this; } /** * Sets the new value of "springlength" (any previous value will be replaced) * * @param springlength * New value of the "springlength" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withSpringlength(final BigDecimal springlength) { super.withSpringlength(springlength); return this; } /** * Sets the new value of "stiffness" (any previous value will be replaced) * * @param stiffness * New value of the "stiffness" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withStiffness(final BigDecimal stiffness) { super.withStiffness(stiffness); return this; } /** * Sets the new value of "damping" (any previous value will be replaced) * * @param damping * New value of the "damping" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withDamping(final BigDecimal damping) { super.withDamping(damping); return this; } /** * Sets the new value of "user" (any previous value will be replaced) * * @param user * New value of the "user" property. */ @Override public Mujoco.Tendon.Fixed.Builder<_B> withUser(final String user) { super.withUser(user); return this; } @Override public Mujoco.Tendon.Fixed build() { return this.init(new Mujoco.Tendon.Fixed()); } public Mujoco.Tendon.Fixed.Builder<_B> copyOf(final Mujoco.Tendon.Fixed _other) { _other.copyTo(this); return this; } public Mujoco.Tendon.Fixed.Builder<_B> copyOf(final Mujoco.Tendon.Fixed.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String JOINT_OR_INCLUDE = "jointOrInclude"; } public static class Select extends Mujoco.Tendon.Fixed.Selector { Select() { super(null, null, null); } public static Mujoco.Tendon.Fixed.Select _root() { return new Mujoco.Tendon.Fixed.Select(); } } public static class Selector , TParent > extends FixedType.Selector { private com.kscs.util.jaxb.Selector> jointOrInclude = 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.jointOrInclude!= null) { products.put("jointOrInclude", this.jointOrInclude.init()); } return products; } public com.kscs.util.jaxb.Selector> jointOrInclude() { return ((this.jointOrInclude == null)?this.jointOrInclude = new com.kscs.util.jaxb.Selector>(this._root, this, "jointOrInclude"):this.jointOrInclude); } } } public static class PropInfo { public final static transient String SPATIAL_OR_FIXED_OR_INCLUDE = "spatialOrFixedOrInclude"; } public static class Select extends Mujoco.Tendon.Selector { Select() { super(null, null, null); } public static Mujoco.Tendon.Select _root() { return new Mujoco.Tendon.Select(); } } public static class Selector , TParent > extends com.kscs.util.jaxb.Selector { private com.kscs.util.jaxb.Selector> spatialOrFixedOrInclude = 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.spatialOrFixedOrInclude!= null) { products.put("spatialOrFixedOrInclude", this.spatialOrFixedOrInclude.init()); } return products; } public com.kscs.util.jaxb.Selector> spatialOrFixedOrInclude() { return ((this.spatialOrFixedOrInclude == null)?this.spatialOrFixedOrInclude = new com.kscs.util.jaxb.Selector>(this._root, this, "spatialOrFixedOrInclude"):this.spatialOrFixedOrInclude); } } /** *

Java class for anonymous complex type. * *

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

         * <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>
         * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "siteOrGeomOrPulley" }) public static class Spatial extends SpatialType implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "site", type = org.mujoco.xml.tendon.SiteType.class), @XmlElement(name = "geom", type = org.mujoco.xml.tendon.GeomType.class), @XmlElement(name = "pulley", type = PulleyType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List siteOrGeomOrPulley; private transient BoundList siteOrGeomOrPulley__Proxy = null; /** * Generated by copy-constructor plugin, JAXB requires public no-arg constructor. * */ public Spatial() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Spatial copying the state of another Spatial * * @param _other * The original Spatial from which to copy state. */ public Spatial(final Mujoco.Tendon.Spatial _other) { super(_other); this.siteOrGeomOrPulley = ((_other.siteOrGeomOrPulley == null)?null:new ArrayList(_other.siteOrGeomOrPulley)); } /** * Instantiates a Spatial copying the state of another Spatial * * @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 Spatial from which to copy state. */ public Spatial(final Mujoco.Tendon.Spatial _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_other, _propertyTree, _propertyTreeUse); final PropertyTree siteOrGeomOrPulleyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("siteOrGeomOrPulley")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(siteOrGeomOrPulleyPropertyTree!= null):((siteOrGeomOrPulleyPropertyTree == null)||(!siteOrGeomOrPulleyPropertyTree.isLeaf())))) { this.siteOrGeomOrPulley = ((_other.siteOrGeomOrPulley == null)?null:new ArrayList(_other.siteOrGeomOrPulley)); } } public BoundList getSiteOrGeomOrPulley() { if (this.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = new ArrayList(); } if (this.siteOrGeomOrPulley__Proxy == null) { this.siteOrGeomOrPulley__Proxy = new BoundListProxy(this.siteOrGeomOrPulley); } return this.siteOrGeomOrPulley__Proxy; } @Override public Mujoco.Tendon.Spatial withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) { addVetoableChangeListener(vetoableChangeListener); return this; } @Override public Mujoco.Tendon.Spatial withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Tendon.Spatial clone() { final Mujoco.Tendon.Spatial _newObject; _newObject = ((Mujoco.Tendon.Spatial) super.clone()); _newObject.siteOrGeomOrPulley = ((this.siteOrGeomOrPulley == null)?null:new ArrayList(this.siteOrGeomOrPulley)); return _newObject; } @Override public Mujoco.Tendon.Spatial createCopy() { final Mujoco.Tendon.Spatial _newObject = ((Mujoco.Tendon.Spatial) super.createCopy()); _newObject.siteOrGeomOrPulley = ((this.siteOrGeomOrPulley == null)?null:new ArrayList(this.siteOrGeomOrPulley)); return _newObject; } @Override public Mujoco.Tendon.Spatial createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Tendon.Spatial _newObject = ((Mujoco.Tendon.Spatial) super.createCopy(_propertyTree, _propertyTreeUse)); final PropertyTree siteOrGeomOrPulleyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("siteOrGeomOrPulley")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(siteOrGeomOrPulleyPropertyTree!= null):((siteOrGeomOrPulleyPropertyTree == null)||(!siteOrGeomOrPulleyPropertyTree.isLeaf())))) { _newObject.siteOrGeomOrPulley = ((this.siteOrGeomOrPulley == null)?null:new ArrayList(this.siteOrGeomOrPulley)); } return _newObject; } @Override public Mujoco.Tendon.Spatial copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Tendon.Spatial 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.Tendon.Spatial.Builder<_B> _other) { super.copyTo(_other); if (this.siteOrGeomOrPulley == null) { _other.siteOrGeomOrPulley = null; } else { _other.siteOrGeomOrPulley = new ArrayList(); for (Object _item: this.siteOrGeomOrPulley) { _other.siteOrGeomOrPulley.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } @Override public<_B >Mujoco.Tendon.Spatial.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Tendon.Spatial.Builder<_B>(_parentBuilder, this, true); } @Override public Mujoco.Tendon.Spatial.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Tendon.Spatial.Builder builder() { return new Mujoco.Tendon.Spatial.Builder(null, null, false); } public static<_B >Mujoco.Tendon.Spatial.Builder<_B> copyOf(final SpatialType _other) { final Mujoco.Tendon.Spatial.Builder<_B> _newBuilder = new Mujoco.Tendon.Spatial.Builder<_B>(null, null, false); _other.copyTo(_newBuilder); return _newBuilder; } public static<_B >Mujoco.Tendon.Spatial.Builder<_B> copyOf(final Mujoco.Tendon.Spatial _other) { final Mujoco.Tendon.Spatial.Builder<_B> _newBuilder = new Mujoco.Tendon.Spatial.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.Tendon.Spatial.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super.copyTo(_other, _propertyTree, _propertyTreeUse); final PropertyTree siteOrGeomOrPulleyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("siteOrGeomOrPulley")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(siteOrGeomOrPulleyPropertyTree!= null):((siteOrGeomOrPulleyPropertyTree == null)||(!siteOrGeomOrPulleyPropertyTree.isLeaf())))) { if (this.siteOrGeomOrPulley == null) { _other.siteOrGeomOrPulley = null; } else { _other.siteOrGeomOrPulley = new ArrayList(); for (Object _item: this.siteOrGeomOrPulley) { _other.siteOrGeomOrPulley.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } @Override public<_B >Mujoco.Tendon.Spatial.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Tendon.Spatial.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } @Override public Mujoco.Tendon.Spatial.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Tendon.Spatial.Builder<_B> copyOf(final SpatialType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Tendon.Spatial.Builder<_B> _newBuilder = new Mujoco.Tendon.Spatial.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static<_B >Mujoco.Tendon.Spatial.Builder<_B> copyOf(final Mujoco.Tendon.Spatial _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Tendon.Spatial.Builder<_B> _newBuilder = new Mujoco.Tendon.Spatial.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Tendon.Spatial.Builder copyExcept(final SpatialType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Tendon.Spatial.Builder copyExcept(final Mujoco.Tendon.Spatial _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Tendon.Spatial.Builder copyOnly(final SpatialType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public static Mujoco.Tendon.Spatial.Builder copyOnly(final Mujoco.Tendon.Spatial _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Tendon.Spatial visit(final PropertyVisitor _visitor_) { super.visit(_visitor_); return this; } public static class Builder<_B > extends SpatialType.Builder<_B> implements Buildable { private List siteOrGeomOrPulley; public Builder(final _B _parentBuilder, final Mujoco.Tendon.Spatial _other, final boolean _copy) { super(_parentBuilder, _other, _copy); if (_other!= null) { if (_other.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = null; } else { this.siteOrGeomOrPulley = new ArrayList(); for (Object _item: _other.siteOrGeomOrPulley) { this.siteOrGeomOrPulley.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Tendon.Spatial _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); if (_other!= null) { final PropertyTree siteOrGeomOrPulleyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("siteOrGeomOrPulley")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(siteOrGeomOrPulleyPropertyTree!= null):((siteOrGeomOrPulleyPropertyTree == null)||(!siteOrGeomOrPulleyPropertyTree.isLeaf())))) { if (_other.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = null; } else { this.siteOrGeomOrPulley = new ArrayList(); for (Object _item: _other.siteOrGeomOrPulley) { this.siteOrGeomOrPulley.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } protected<_P extends Mujoco.Tendon.Spatial >_P init(final _P _product) { if (this.siteOrGeomOrPulley!= null) { final List siteOrGeomOrPulley = new ArrayList(this.siteOrGeomOrPulley.size()); for (Buildable _item: this.siteOrGeomOrPulley) { siteOrGeomOrPulley.add(((Object) _item.build())); } _product.siteOrGeomOrPulley = siteOrGeomOrPulley; } return super.init(_product); } /** * Adds the given items to the value of "siteOrGeomOrPulley" * * @param siteOrGeomOrPulley * Items to add to the value of the "siteOrGeomOrPulley" property */ public Mujoco.Tendon.Spatial.Builder<_B> addSiteOrGeomOrPulley(final Iterable siteOrGeomOrPulley) { if (siteOrGeomOrPulley!= null) { if (this.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = new ArrayList(); } for (Object _item: siteOrGeomOrPulley) { this.siteOrGeomOrPulley.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "siteOrGeomOrPulley" (any previous value will be replaced) * * @param siteOrGeomOrPulley * New value of the "siteOrGeomOrPulley" property. */ public Mujoco.Tendon.Spatial.Builder<_B> withSiteOrGeomOrPulley(final Iterable siteOrGeomOrPulley) { if (this.siteOrGeomOrPulley!= null) { this.siteOrGeomOrPulley.clear(); } return addSiteOrGeomOrPulley(siteOrGeomOrPulley); } /** * Adds the given items to the value of "siteOrGeomOrPulley" * * @param siteOrGeomOrPulley * Items to add to the value of the "siteOrGeomOrPulley" property */ public Mujoco.Tendon.Spatial.Builder<_B> addSiteOrGeomOrPulley(Object... siteOrGeomOrPulley) { addSiteOrGeomOrPulley(Arrays.asList(siteOrGeomOrPulley)); return this; } /** * Sets the new value of "siteOrGeomOrPulley" (any previous value will be replaced) * * @param siteOrGeomOrPulley * New value of the "siteOrGeomOrPulley" property. */ public Mujoco.Tendon.Spatial.Builder<_B> withSiteOrGeomOrPulley(Object... siteOrGeomOrPulley) { withSiteOrGeomOrPulley(Arrays.asList(siteOrGeomOrPulley)); return this; } /** * Adds the given items to the value of "site_" * * @param site_ * Items to add to the value of the "site_" property */ public Mujoco.Tendon.Spatial.Builder<_B> addSite(final Iterable site_) { if (site_!= null) { if (this.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = new ArrayList(); } for (org.mujoco.xml.tendon.SiteType _item: site_) { this.siteOrGeomOrPulley.add(new org.mujoco.xml.tendon.SiteType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "site_" * * @param site_ * Items to add to the value of the "site_" property */ public Mujoco.Tendon.Spatial.Builder<_B> addSite(org.mujoco.xml.tendon.SiteType... site_) { return addSite(Arrays.asList(site_)); } /** * Returns a new builder to build an additional value of the "site" property. * Use {@link org.mujoco.xml.tendon.SiteType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "site" property. * Use {@link org.mujoco.xml.tendon.SiteType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.tendon.SiteType.Builder> addSite() { if (this.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = new ArrayList(); } final org.mujoco.xml.tendon.SiteType.Builder> site_Builder = new org.mujoco.xml.tendon.SiteType.Builder>(this, null, false); this.siteOrGeomOrPulley.add(site_Builder); return site_Builder; } /** * Adds the given items to the value of "geom_" * * @param geom_ * Items to add to the value of the "geom_" property */ public Mujoco.Tendon.Spatial.Builder<_B> addGeom(final Iterable geom_) { if (geom_!= null) { if (this.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = new ArrayList(); } for (org.mujoco.xml.tendon.GeomType _item: geom_) { this.siteOrGeomOrPulley.add(new org.mujoco.xml.tendon.GeomType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "geom_" * * @param geom_ * Items to add to the value of the "geom_" property */ public Mujoco.Tendon.Spatial.Builder<_B> addGeom(org.mujoco.xml.tendon.GeomType... geom_) { return addGeom(Arrays.asList(geom_)); } /** * Returns a new builder to build an additional value of the "geom" property. * Use {@link org.mujoco.xml.tendon.GeomType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "geom" property. * Use {@link org.mujoco.xml.tendon.GeomType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.tendon.GeomType.Builder> addGeom() { if (this.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = new ArrayList(); } final org.mujoco.xml.tendon.GeomType.Builder> geom_Builder = new org.mujoco.xml.tendon.GeomType.Builder>(this, null, false); this.siteOrGeomOrPulley.add(geom_Builder); return geom_Builder; } /** * Adds the given items to the value of "pulley_" * * @param pulley_ * Items to add to the value of the "pulley_" property */ public Mujoco.Tendon.Spatial.Builder<_B> addPulley(final Iterable pulley_) { if (pulley_!= null) { if (this.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = new ArrayList(); } for (PulleyType _item: pulley_) { this.siteOrGeomOrPulley.add(new PulleyType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "pulley_" * * @param pulley_ * Items to add to the value of the "pulley_" property */ public Mujoco.Tendon.Spatial.Builder<_B> addPulley(PulleyType... pulley_) { return addPulley(Arrays.asList(pulley_)); } /** * Returns a new builder to build an additional value of the "pulley" property. * Use {@link org.mujoco.xml.tendon.PulleyType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "pulley" property. * Use {@link org.mujoco.xml.tendon.PulleyType.Builder#end()} to return to the current builder. */ public PulleyType.Builder> addPulley() { if (this.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = new ArrayList(); } final PulleyType.Builder> pulley_Builder = new PulleyType.Builder>(this, null, false); this.siteOrGeomOrPulley.add(pulley_Builder); return pulley_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Tendon.Spatial.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = new ArrayList(); } for (IncludeType _item: include_) { this.siteOrGeomOrPulley.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.Tendon.Spatial.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> addInclude() { if (this.siteOrGeomOrPulley == null) { this.siteOrGeomOrPulley = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.siteOrGeomOrPulley.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.Tendon.Spatial.Builder<_B> withName(final String name) { super.withName(name); return this; } /** * Sets the new value of "clazz" (any previous value will be replaced) * * @param clazz * New value of the "clazz" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withClazz(final String clazz) { super.withClazz(clazz); return this; } /** * Sets the new value of "group" (any previous value will be replaced) * * @param group * New value of the "group" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withGroup(final Integer group) { super.withGroup(group); return this; } /** * Sets the new value of "limited" (any previous value will be replaced) * * @param limited * New value of the "limited" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withLimited(final Boolean limited) { super.withLimited(limited); return this; } /** * Sets the new value of "range" (any previous value will be replaced) * * @param range * New value of the "range" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withRange(final String range) { super.withRange(range); return this; } /** * Sets the new value of "solimplimit" (any previous value will be replaced) * * @param solimplimit * New value of the "solimplimit" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withSolimplimit(final String solimplimit) { super.withSolimplimit(solimplimit); return this; } /** * Sets the new value of "solreflimit" (any previous value will be replaced) * * @param solreflimit * New value of the "solreflimit" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withSolreflimit(final String solreflimit) { super.withSolreflimit(solreflimit); return this; } /** * Sets the new value of "solimpfriction" (any previous value will be replaced) * * @param solimpfriction * New value of the "solimpfriction" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withSolimpfriction(final String solimpfriction) { super.withSolimpfriction(solimpfriction); return this; } /** * Sets the new value of "solreffriction" (any previous value will be replaced) * * @param solreffriction * New value of the "solreffriction" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withSolreffriction(final String solreffriction) { super.withSolreffriction(solreffriction); return this; } /** * Sets the new value of "margin" (any previous value will be replaced) * * @param margin * New value of the "margin" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withMargin(final BigDecimal margin) { super.withMargin(margin); return this; } /** * Sets the new value of "frictionloss" (any previous value will be replaced) * * @param frictionloss * New value of the "frictionloss" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withFrictionloss(final BigDecimal frictionloss) { super.withFrictionloss(frictionloss); return this; } /** * Sets the new value of "width" (any previous value will be replaced) * * @param width * New value of the "width" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withWidth(final BigDecimal width) { super.withWidth(width); 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.Tendon.Spatial.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.Tendon.Spatial.Builder<_B> withRgba(final String rgba) { super.withRgba(rgba); return this; } /** * Sets the new value of "springlength" (any previous value will be replaced) * * @param springlength * New value of the "springlength" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withSpringlength(final BigDecimal springlength) { super.withSpringlength(springlength); return this; } /** * Sets the new value of "stiffness" (any previous value will be replaced) * * @param stiffness * New value of the "stiffness" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withStiffness(final BigDecimal stiffness) { super.withStiffness(stiffness); return this; } /** * Sets the new value of "damping" (any previous value will be replaced) * * @param damping * New value of the "damping" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withDamping(final BigDecimal damping) { super.withDamping(damping); return this; } /** * Sets the new value of "user" (any previous value will be replaced) * * @param user * New value of the "user" property. */ @Override public Mujoco.Tendon.Spatial.Builder<_B> withUser(final String user) { super.withUser(user); return this; } @Override public Mujoco.Tendon.Spatial build() { return this.init(new Mujoco.Tendon.Spatial()); } public Mujoco.Tendon.Spatial.Builder<_B> copyOf(final Mujoco.Tendon.Spatial _other) { _other.copyTo(this); return this; } public Mujoco.Tendon.Spatial.Builder<_B> copyOf(final Mujoco.Tendon.Spatial.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String SITE_OR_GEOM_OR_PULLEY = "siteOrGeomOrPulley"; } public static class Select extends Mujoco.Tendon.Spatial.Selector { Select() { super(null, null, null); } public static Mujoco.Tendon.Spatial.Select _root() { return new Mujoco.Tendon.Spatial.Select(); } } public static class Selector , TParent > extends SpatialType.Selector { private com.kscs.util.jaxb.Selector> siteOrGeomOrPulley = 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.siteOrGeomOrPulley!= null) { products.put("siteOrGeomOrPulley", this.siteOrGeomOrPulley.init()); } return products; } public com.kscs.util.jaxb.Selector> siteOrGeomOrPulley() { return ((this.siteOrGeomOrPulley == null)?this.siteOrGeomOrPulley = new com.kscs.util.jaxb.Selector>(this._root, this, "siteOrGeomOrPulley"):this.siteOrGeomOrPulley); } } } } /** *

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="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>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "globalOrQualityOrHeadlight" }) public static class Visual implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "global", type = GlobalType.class), @XmlElement(name = "quality", type = QualityType.class), @XmlElement(name = "headlight", type = HeadlightType.class), @XmlElement(name = "map", type = MapType.class), @XmlElement(name = "scale", type = ScaleType.class), @XmlElement(name = "rgba", type = RgbaType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List globalOrQualityOrHeadlight; private transient BoundList globalOrQualityOrHeadlight__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 Visual() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Visual copying the state of another Visual * * @param _other * The original Visual from which to copy state. */ public Visual(final Mujoco.Visual _other) { this.globalOrQualityOrHeadlight = ((_other.globalOrQualityOrHeadlight == null)?null:new ArrayList(_other.globalOrQualityOrHeadlight)); } /** * Instantiates a Visual copying the state of another Visual * * @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 Visual from which to copy state. */ public Visual(final Mujoco.Visual _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree globalOrQualityOrHeadlightPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("globalOrQualityOrHeadlight")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(globalOrQualityOrHeadlightPropertyTree!= null):((globalOrQualityOrHeadlightPropertyTree == null)||(!globalOrQualityOrHeadlightPropertyTree.isLeaf())))) { this.globalOrQualityOrHeadlight = ((_other.globalOrQualityOrHeadlight == null)?null:new ArrayList(_other.globalOrQualityOrHeadlight)); } } public BoundList getGlobalOrQualityOrHeadlight() { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } if (this.globalOrQualityOrHeadlight__Proxy == null) { this.globalOrQualityOrHeadlight__Proxy = new BoundListProxy(this.globalOrQualityOrHeadlight); } return this.globalOrQualityOrHeadlight__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.Visual 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.Visual withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Visual clone() { final Mujoco.Visual _newObject; try { _newObject = ((Mujoco.Visual) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.globalOrQualityOrHeadlight = ((this.globalOrQualityOrHeadlight == null)?null:new ArrayList(this.globalOrQualityOrHeadlight)); return _newObject; } @Override public Mujoco.Visual createCopy() { final Mujoco.Visual _newObject; try { _newObject = ((Mujoco.Visual) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.globalOrQualityOrHeadlight = ((this.globalOrQualityOrHeadlight == null)?null:new ArrayList(this.globalOrQualityOrHeadlight)); return _newObject; } @Override public Mujoco.Visual createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Visual _newObject; try { _newObject = ((Mujoco.Visual) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } final PropertyTree globalOrQualityOrHeadlightPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("globalOrQualityOrHeadlight")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(globalOrQualityOrHeadlightPropertyTree!= null):((globalOrQualityOrHeadlightPropertyTree == null)||(!globalOrQualityOrHeadlightPropertyTree.isLeaf())))) { _newObject.globalOrQualityOrHeadlight = ((this.globalOrQualityOrHeadlight == null)?null:new ArrayList(this.globalOrQualityOrHeadlight)); } return _newObject; } @Override public Mujoco.Visual copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Visual 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.Visual.Builder<_B> _other) { if (this.globalOrQualityOrHeadlight == null) { _other.globalOrQualityOrHeadlight = null; } else { _other.globalOrQualityOrHeadlight = new ArrayList(); for (Object _item: this.globalOrQualityOrHeadlight) { _other.globalOrQualityOrHeadlight.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } public<_B >Mujoco.Visual.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Visual.Builder<_B>(_parentBuilder, this, true); } public Mujoco.Visual.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Visual.Builder builder() { return new Mujoco.Visual.Builder(null, null, false); } public static<_B >Mujoco.Visual.Builder<_B> copyOf(final Mujoco.Visual _other) { final Mujoco.Visual.Builder<_B> _newBuilder = new Mujoco.Visual.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.Visual.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree globalOrQualityOrHeadlightPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("globalOrQualityOrHeadlight")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(globalOrQualityOrHeadlightPropertyTree!= null):((globalOrQualityOrHeadlightPropertyTree == null)||(!globalOrQualityOrHeadlightPropertyTree.isLeaf())))) { if (this.globalOrQualityOrHeadlight == null) { _other.globalOrQualityOrHeadlight = null; } else { _other.globalOrQualityOrHeadlight = new ArrayList(); for (Object _item: this.globalOrQualityOrHeadlight) { _other.globalOrQualityOrHeadlight.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public<_B >Mujoco.Visual.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Visual.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } public Mujoco.Visual.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Visual.Builder<_B> copyOf(final Mujoco.Visual _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Visual.Builder<_B> _newBuilder = new Mujoco.Visual.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Visual.Builder copyExcept(final Mujoco.Visual _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Visual.Builder copyOnly(final Mujoco.Visual _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Visual visit(final PropertyVisitor _visitor_) { _visitor_.visit(this); return this; } public static class Builder<_B >implements Buildable { protected final _B _parentBuilder; private List globalOrQualityOrHeadlight; public Builder(final _B _parentBuilder, final Mujoco.Visual _other, final boolean _copy) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_other.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = null; } else { this.globalOrQualityOrHeadlight = new ArrayList(); for (Object _item: _other.globalOrQualityOrHeadlight) { this.globalOrQualityOrHeadlight.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Visual _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { this._parentBuilder = _parentBuilder; if (_other!= null) { final PropertyTree globalOrQualityOrHeadlightPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("globalOrQualityOrHeadlight")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(globalOrQualityOrHeadlightPropertyTree!= null):((globalOrQualityOrHeadlightPropertyTree == null)||(!globalOrQualityOrHeadlightPropertyTree.isLeaf())))) { if (_other.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = null; } else { this.globalOrQualityOrHeadlight = new ArrayList(); for (Object _item: _other.globalOrQualityOrHeadlight) { this.globalOrQualityOrHeadlight.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } public _B end() { return this._parentBuilder; } protected<_P extends Mujoco.Visual >_P init(final _P _product) { if (this.globalOrQualityOrHeadlight!= null) { final List globalOrQualityOrHeadlight = new ArrayList(this.globalOrQualityOrHeadlight.size()); for (Buildable _item: this.globalOrQualityOrHeadlight) { globalOrQualityOrHeadlight.add(((Object) _item.build())); } _product.globalOrQualityOrHeadlight = globalOrQualityOrHeadlight; } return _product; } /** * Adds the given items to the value of "globalOrQualityOrHeadlight" * * @param globalOrQualityOrHeadlight * Items to add to the value of the "globalOrQualityOrHeadlight" property */ public Mujoco.Visual.Builder<_B> addGlobalOrQualityOrHeadlight(final Iterable globalOrQualityOrHeadlight) { if (globalOrQualityOrHeadlight!= null) { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } for (Object _item: globalOrQualityOrHeadlight) { this.globalOrQualityOrHeadlight.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "globalOrQualityOrHeadlight" (any previous value will be replaced) * * @param globalOrQualityOrHeadlight * New value of the "globalOrQualityOrHeadlight" property. */ public Mujoco.Visual.Builder<_B> withGlobalOrQualityOrHeadlight(final Iterable globalOrQualityOrHeadlight) { if (this.globalOrQualityOrHeadlight!= null) { this.globalOrQualityOrHeadlight.clear(); } return addGlobalOrQualityOrHeadlight(globalOrQualityOrHeadlight); } /** * Adds the given items to the value of "globalOrQualityOrHeadlight" * * @param globalOrQualityOrHeadlight * Items to add to the value of the "globalOrQualityOrHeadlight" property */ public Mujoco.Visual.Builder<_B> addGlobalOrQualityOrHeadlight(Object... globalOrQualityOrHeadlight) { addGlobalOrQualityOrHeadlight(Arrays.asList(globalOrQualityOrHeadlight)); return this; } /** * Sets the new value of "globalOrQualityOrHeadlight" (any previous value will be replaced) * * @param globalOrQualityOrHeadlight * New value of the "globalOrQualityOrHeadlight" property. */ public Mujoco.Visual.Builder<_B> withGlobalOrQualityOrHeadlight(Object... globalOrQualityOrHeadlight) { withGlobalOrQualityOrHeadlight(Arrays.asList(globalOrQualityOrHeadlight)); return this; } /** * Adds the given items to the value of "global_" * * @param global_ * Items to add to the value of the "global_" property */ public Mujoco.Visual.Builder<_B> addGlobal(final Iterable global_) { if (global_!= null) { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } for (GlobalType _item: global_) { this.globalOrQualityOrHeadlight.add(new GlobalType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "global_" * * @param global_ * Items to add to the value of the "global_" property */ public Mujoco.Visual.Builder<_B> addGlobal(GlobalType... global_) { return addGlobal(Arrays.asList(global_)); } /** * Returns a new builder to build an additional value of the "global" property. * Use {@link org.mujoco.xml.visual.GlobalType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "global" property. * Use {@link org.mujoco.xml.visual.GlobalType.Builder#end()} to return to the current builder. */ public GlobalType.Builder> addGlobal() { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } final GlobalType.Builder> global_Builder = new GlobalType.Builder>(this, null, false); this.globalOrQualityOrHeadlight.add(global_Builder); return global_Builder; } /** * Adds the given items to the value of "quality_" * * @param quality_ * Items to add to the value of the "quality_" property */ public Mujoco.Visual.Builder<_B> addQuality(final Iterable quality_) { if (quality_!= null) { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } for (QualityType _item: quality_) { this.globalOrQualityOrHeadlight.add(new QualityType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "quality_" * * @param quality_ * Items to add to the value of the "quality_" property */ public Mujoco.Visual.Builder<_B> addQuality(QualityType... quality_) { return addQuality(Arrays.asList(quality_)); } /** * Returns a new builder to build an additional value of the "quality" property. * Use {@link org.mujoco.xml.visual.QualityType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "quality" property. * Use {@link org.mujoco.xml.visual.QualityType.Builder#end()} to return to the current builder. */ public QualityType.Builder> addQuality() { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } final QualityType.Builder> quality_Builder = new QualityType.Builder>(this, null, false); this.globalOrQualityOrHeadlight.add(quality_Builder); return quality_Builder; } /** * Adds the given items to the value of "headlight_" * * @param headlight_ * Items to add to the value of the "headlight_" property */ public Mujoco.Visual.Builder<_B> addHeadlight(final Iterable headlight_) { if (headlight_!= null) { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } for (HeadlightType _item: headlight_) { this.globalOrQualityOrHeadlight.add(new HeadlightType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "headlight_" * * @param headlight_ * Items to add to the value of the "headlight_" property */ public Mujoco.Visual.Builder<_B> addHeadlight(HeadlightType... headlight_) { return addHeadlight(Arrays.asList(headlight_)); } /** * Returns a new builder to build an additional value of the "headlight" property. * Use {@link org.mujoco.xml.visual.HeadlightType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "headlight" property. * Use {@link org.mujoco.xml.visual.HeadlightType.Builder#end()} to return to the current builder. */ public HeadlightType.Builder> addHeadlight() { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } final HeadlightType.Builder> headlight_Builder = new HeadlightType.Builder>(this, null, false); this.globalOrQualityOrHeadlight.add(headlight_Builder); return headlight_Builder; } /** * Adds the given items to the value of "map_" * * @param map_ * Items to add to the value of the "map_" property */ public Mujoco.Visual.Builder<_B> addMap(final Iterable map_) { if (map_!= null) { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } for (MapType _item: map_) { this.globalOrQualityOrHeadlight.add(new MapType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "map_" * * @param map_ * Items to add to the value of the "map_" property */ public Mujoco.Visual.Builder<_B> addMap(MapType... map_) { return addMap(Arrays.asList(map_)); } /** * Returns a new builder to build an additional value of the "map" property. * Use {@link org.mujoco.xml.visual.MapType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "map" property. * Use {@link org.mujoco.xml.visual.MapType.Builder#end()} to return to the current builder. */ public MapType.Builder> addMap() { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } final MapType.Builder> map_Builder = new MapType.Builder>(this, null, false); this.globalOrQualityOrHeadlight.add(map_Builder); return map_Builder; } /** * Adds the given items to the value of "scale_" * * @param scale_ * Items to add to the value of the "scale_" property */ public Mujoco.Visual.Builder<_B> addScale(final Iterable scale_) { if (scale_!= null) { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } for (ScaleType _item: scale_) { this.globalOrQualityOrHeadlight.add(new ScaleType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "scale_" * * @param scale_ * Items to add to the value of the "scale_" property */ public Mujoco.Visual.Builder<_B> addScale(ScaleType... scale_) { return addScale(Arrays.asList(scale_)); } /** * Returns a new builder to build an additional value of the "scale" property. * Use {@link org.mujoco.xml.visual.ScaleType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "scale" property. * Use {@link org.mujoco.xml.visual.ScaleType.Builder#end()} to return to the current builder. */ public ScaleType.Builder> addScale() { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } final ScaleType.Builder> scale_Builder = new ScaleType.Builder>(this, null, false); this.globalOrQualityOrHeadlight.add(scale_Builder); return scale_Builder; } /** * Adds the given items to the value of "rgba_" * * @param rgba_ * Items to add to the value of the "rgba_" property */ public Mujoco.Visual.Builder<_B> addRgba(final Iterable rgba_) { if (rgba_!= null) { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } for (RgbaType _item: rgba_) { this.globalOrQualityOrHeadlight.add(new RgbaType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "rgba_" * * @param rgba_ * Items to add to the value of the "rgba_" property */ public Mujoco.Visual.Builder<_B> addRgba(RgbaType... rgba_) { return addRgba(Arrays.asList(rgba_)); } /** * Returns a new builder to build an additional value of the "rgba" property. * Use {@link org.mujoco.xml.visual.RgbaType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "rgba" property. * Use {@link org.mujoco.xml.visual.RgbaType.Builder#end()} to return to the current builder. */ public RgbaType.Builder> addRgba() { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } final RgbaType.Builder> rgba_Builder = new RgbaType.Builder>(this, null, false); this.globalOrQualityOrHeadlight.add(rgba_Builder); return rgba_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Visual.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } for (IncludeType _item: include_) { this.globalOrQualityOrHeadlight.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.Visual.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> addInclude() { if (this.globalOrQualityOrHeadlight == null) { this.globalOrQualityOrHeadlight = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.globalOrQualityOrHeadlight.add(include_Builder); return include_Builder; } @Override public Mujoco.Visual build() { return this.init(new Mujoco.Visual()); } public Mujoco.Visual.Builder<_B> copyOf(final Mujoco.Visual _other) { _other.copyTo(this); return this; } public Mujoco.Visual.Builder<_B> copyOf(final Mujoco.Visual.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String GLOBAL_OR_QUALITY_OR_HEADLIGHT = "globalOrQualityOrHeadlight"; } public static class Select extends Mujoco.Visual.Selector { Select() { super(null, null, null); } public static Mujoco.Visual.Select _root() { return new Mujoco.Visual.Select(); } } public static class Selector , TParent > extends com.kscs.util.jaxb.Selector { private com.kscs.util.jaxb.Selector> globalOrQualityOrHeadlight = 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.globalOrQualityOrHeadlight!= null) { products.put("globalOrQualityOrHeadlight", this.globalOrQualityOrHeadlight.init()); } return products; } public com.kscs.util.jaxb.Selector> globalOrQualityOrHeadlight() { return ((this.globalOrQualityOrHeadlight == null)?this.globalOrQualityOrHeadlight = new com.kscs.util.jaxb.Selector>(this._root, this, "globalOrQualityOrHeadlight"):this.globalOrQualityOrHeadlight); } } } /** *

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="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>
     * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "geomOrSiteOrCamera" }) public static class Worldbody implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "geom", type = org.mujoco.xml.body.GeomType.class), @XmlElement(name = "site", type = org.mujoco.xml.body.SiteType.class), @XmlElement(name = "camera", type = org.mujoco.xml.body.CameraType.class), @XmlElement(name = "light", type = org.mujoco.xml.body.LightType.class), @XmlElement(name = "composite", type = Mujoco.Worldbody.Composite.class), @XmlElement(name = "body", type = BodyarchType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List geomOrSiteOrCamera; private transient BoundList geomOrSiteOrCamera__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 Worldbody() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Worldbody copying the state of another Worldbody * * @param _other * The original Worldbody from which to copy state. */ public Worldbody(final Mujoco.Worldbody _other) { this.geomOrSiteOrCamera = ((_other.geomOrSiteOrCamera == null)?null:new ArrayList(_other.geomOrSiteOrCamera)); } /** * Instantiates a Worldbody copying the state of another Worldbody * * @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 Worldbody from which to copy state. */ public Worldbody(final Mujoco.Worldbody _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree geomOrSiteOrCameraPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("geomOrSiteOrCamera")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(geomOrSiteOrCameraPropertyTree!= null):((geomOrSiteOrCameraPropertyTree == null)||(!geomOrSiteOrCameraPropertyTree.isLeaf())))) { this.geomOrSiteOrCamera = ((_other.geomOrSiteOrCamera == null)?null:new ArrayList(_other.geomOrSiteOrCamera)); } } public BoundList getGeomOrSiteOrCamera() { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } if (this.geomOrSiteOrCamera__Proxy == null) { this.geomOrSiteOrCamera__Proxy = new BoundListProxy(this.geomOrSiteOrCamera); } return this.geomOrSiteOrCamera__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.Worldbody 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.Worldbody withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Worldbody clone() { final Mujoco.Worldbody _newObject; try { _newObject = ((Mujoco.Worldbody) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.geomOrSiteOrCamera = ((this.geomOrSiteOrCamera == null)?null:new ArrayList(this.geomOrSiteOrCamera)); return _newObject; } @Override public Mujoco.Worldbody createCopy() { final Mujoco.Worldbody _newObject; try { _newObject = ((Mujoco.Worldbody) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } _newObject.geomOrSiteOrCamera = ((this.geomOrSiteOrCamera == null)?null:new ArrayList(this.geomOrSiteOrCamera)); return _newObject; } @Override public Mujoco.Worldbody createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Worldbody _newObject; try { _newObject = ((Mujoco.Worldbody) super.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } final PropertyTree geomOrSiteOrCameraPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("geomOrSiteOrCamera")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(geomOrSiteOrCameraPropertyTree!= null):((geomOrSiteOrCameraPropertyTree == null)||(!geomOrSiteOrCameraPropertyTree.isLeaf())))) { _newObject.geomOrSiteOrCamera = ((this.geomOrSiteOrCamera == null)?null:new ArrayList(this.geomOrSiteOrCamera)); } return _newObject; } @Override public Mujoco.Worldbody copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Worldbody 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.Worldbody.Builder<_B> _other) { if (this.geomOrSiteOrCamera == null) { _other.geomOrSiteOrCamera = null; } else { _other.geomOrSiteOrCamera = new ArrayList(); for (Object _item: this.geomOrSiteOrCamera) { _other.geomOrSiteOrCamera.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } public<_B >Mujoco.Worldbody.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Worldbody.Builder<_B>(_parentBuilder, this, true); } public Mujoco.Worldbody.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Worldbody.Builder builder() { return new Mujoco.Worldbody.Builder(null, null, false); } public static<_B >Mujoco.Worldbody.Builder<_B> copyOf(final Mujoco.Worldbody _other) { final Mujoco.Worldbody.Builder<_B> _newBuilder = new Mujoco.Worldbody.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.Worldbody.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final PropertyTree geomOrSiteOrCameraPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("geomOrSiteOrCamera")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(geomOrSiteOrCameraPropertyTree!= null):((geomOrSiteOrCameraPropertyTree == null)||(!geomOrSiteOrCameraPropertyTree.isLeaf())))) { if (this.geomOrSiteOrCamera == null) { _other.geomOrSiteOrCamera = null; } else { _other.geomOrSiteOrCamera = new ArrayList(); for (Object _item: this.geomOrSiteOrCamera) { _other.geomOrSiteOrCamera.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public<_B >Mujoco.Worldbody.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Worldbody.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } public Mujoco.Worldbody.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Worldbody.Builder<_B> copyOf(final Mujoco.Worldbody _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Worldbody.Builder<_B> _newBuilder = new Mujoco.Worldbody.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Worldbody.Builder copyExcept(final Mujoco.Worldbody _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Worldbody.Builder copyOnly(final Mujoco.Worldbody _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Worldbody visit(final PropertyVisitor _visitor_) { _visitor_.visit(this); return this; } public static class Builder<_B >implements Buildable { protected final _B _parentBuilder; private List geomOrSiteOrCamera; public Builder(final _B _parentBuilder, final Mujoco.Worldbody _other, final boolean _copy) { this._parentBuilder = _parentBuilder; if (_other!= null) { if (_other.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = null; } else { this.geomOrSiteOrCamera = new ArrayList(); for (Object _item: _other.geomOrSiteOrCamera) { this.geomOrSiteOrCamera.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Worldbody _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { this._parentBuilder = _parentBuilder; if (_other!= null) { final PropertyTree geomOrSiteOrCameraPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("geomOrSiteOrCamera")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(geomOrSiteOrCameraPropertyTree!= null):((geomOrSiteOrCameraPropertyTree == null)||(!geomOrSiteOrCameraPropertyTree.isLeaf())))) { if (_other.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = null; } else { this.geomOrSiteOrCamera = new ArrayList(); for (Object _item: _other.geomOrSiteOrCamera) { this.geomOrSiteOrCamera.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } public _B end() { return this._parentBuilder; } protected<_P extends Mujoco.Worldbody >_P init(final _P _product) { if (this.geomOrSiteOrCamera!= null) { final List geomOrSiteOrCamera = new ArrayList(this.geomOrSiteOrCamera.size()); for (Buildable _item: this.geomOrSiteOrCamera) { geomOrSiteOrCamera.add(((Object) _item.build())); } _product.geomOrSiteOrCamera = geomOrSiteOrCamera; } return _product; } /** * Adds the given items to the value of "geomOrSiteOrCamera" * * @param geomOrSiteOrCamera * Items to add to the value of the "geomOrSiteOrCamera" property */ public Mujoco.Worldbody.Builder<_B> addGeomOrSiteOrCamera(final Iterable geomOrSiteOrCamera) { if (geomOrSiteOrCamera!= null) { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } for (Object _item: geomOrSiteOrCamera) { this.geomOrSiteOrCamera.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "geomOrSiteOrCamera" (any previous value will be replaced) * * @param geomOrSiteOrCamera * New value of the "geomOrSiteOrCamera" property. */ public Mujoco.Worldbody.Builder<_B> withGeomOrSiteOrCamera(final Iterable geomOrSiteOrCamera) { if (this.geomOrSiteOrCamera!= null) { this.geomOrSiteOrCamera.clear(); } return addGeomOrSiteOrCamera(geomOrSiteOrCamera); } /** * Adds the given items to the value of "geomOrSiteOrCamera" * * @param geomOrSiteOrCamera * Items to add to the value of the "geomOrSiteOrCamera" property */ public Mujoco.Worldbody.Builder<_B> addGeomOrSiteOrCamera(Object... geomOrSiteOrCamera) { addGeomOrSiteOrCamera(Arrays.asList(geomOrSiteOrCamera)); return this; } /** * Sets the new value of "geomOrSiteOrCamera" (any previous value will be replaced) * * @param geomOrSiteOrCamera * New value of the "geomOrSiteOrCamera" property. */ public Mujoco.Worldbody.Builder<_B> withGeomOrSiteOrCamera(Object... geomOrSiteOrCamera) { withGeomOrSiteOrCamera(Arrays.asList(geomOrSiteOrCamera)); return this; } /** * Adds the given items to the value of "geom_" * * @param geom_ * Items to add to the value of the "geom_" property */ public Mujoco.Worldbody.Builder<_B> addGeom(final Iterable geom_) { if (geom_!= null) { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } for (org.mujoco.xml.body.GeomType _item: geom_) { this.geomOrSiteOrCamera.add(new org.mujoco.xml.body.GeomType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "geom_" * * @param geom_ * Items to add to the value of the "geom_" property */ public Mujoco.Worldbody.Builder<_B> addGeom(org.mujoco.xml.body.GeomType... geom_) { return addGeom(Arrays.asList(geom_)); } /** * Returns a new builder to build an additional value of the "geom" property. * Use {@link org.mujoco.xml.body.GeomType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "geom" property. * Use {@link org.mujoco.xml.body.GeomType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.body.GeomType.Builder> addGeom() { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } final org.mujoco.xml.body.GeomType.Builder> geom_Builder = new org.mujoco.xml.body.GeomType.Builder>(this, null, false); this.geomOrSiteOrCamera.add(geom_Builder); return geom_Builder; } /** * Adds the given items to the value of "site_" * * @param site_ * Items to add to the value of the "site_" property */ public Mujoco.Worldbody.Builder<_B> addSite(final Iterable site_) { if (site_!= null) { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } for (org.mujoco.xml.body.SiteType _item: site_) { this.geomOrSiteOrCamera.add(new org.mujoco.xml.body.SiteType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "site_" * * @param site_ * Items to add to the value of the "site_" property */ public Mujoco.Worldbody.Builder<_B> addSite(org.mujoco.xml.body.SiteType... site_) { return addSite(Arrays.asList(site_)); } /** * Returns a new builder to build an additional value of the "site" property. * Use {@link org.mujoco.xml.body.SiteType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "site" property. * Use {@link org.mujoco.xml.body.SiteType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.body.SiteType.Builder> addSite() { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } final org.mujoco.xml.body.SiteType.Builder> site_Builder = new org.mujoco.xml.body.SiteType.Builder>(this, null, false); this.geomOrSiteOrCamera.add(site_Builder); return site_Builder; } /** * Adds the given items to the value of "camera_" * * @param camera_ * Items to add to the value of the "camera_" property */ public Mujoco.Worldbody.Builder<_B> addCamera(final Iterable camera_) { if (camera_!= null) { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } for (org.mujoco.xml.body.CameraType _item: camera_) { this.geomOrSiteOrCamera.add(new org.mujoco.xml.body.CameraType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "camera_" * * @param camera_ * Items to add to the value of the "camera_" property */ public Mujoco.Worldbody.Builder<_B> addCamera(org.mujoco.xml.body.CameraType... camera_) { return addCamera(Arrays.asList(camera_)); } /** * Returns a new builder to build an additional value of the "camera" property. * Use {@link org.mujoco.xml.body.CameraType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "camera" property. * Use {@link org.mujoco.xml.body.CameraType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.body.CameraType.Builder> addCamera() { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } final org.mujoco.xml.body.CameraType.Builder> camera_Builder = new org.mujoco.xml.body.CameraType.Builder>(this, null, false); this.geomOrSiteOrCamera.add(camera_Builder); return camera_Builder; } /** * Adds the given items to the value of "light_" * * @param light_ * Items to add to the value of the "light_" property */ public Mujoco.Worldbody.Builder<_B> addLight(final Iterable light_) { if (light_!= null) { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } for (org.mujoco.xml.body.LightType _item: light_) { this.geomOrSiteOrCamera.add(new org.mujoco.xml.body.LightType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "light_" * * @param light_ * Items to add to the value of the "light_" property */ public Mujoco.Worldbody.Builder<_B> addLight(org.mujoco.xml.body.LightType... light_) { return addLight(Arrays.asList(light_)); } /** * Returns a new builder to build an additional value of the "light" property. * Use {@link org.mujoco.xml.body.LightType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "light" property. * Use {@link org.mujoco.xml.body.LightType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.body.LightType.Builder> addLight() { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } final org.mujoco.xml.body.LightType.Builder> light_Builder = new org.mujoco.xml.body.LightType.Builder>(this, null, false); this.geomOrSiteOrCamera.add(light_Builder); return light_Builder; } /** * Adds the given items to the value of "composite_" * * @param composite_ * Items to add to the value of the "composite_" property */ public Mujoco.Worldbody.Builder<_B> addComposite(final Iterable composite_) { if (composite_!= null) { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } for (Mujoco.Worldbody.Composite _item: composite_) { this.geomOrSiteOrCamera.add(new Mujoco.Worldbody.Composite.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "composite_" * * @param composite_ * Items to add to the value of the "composite_" property */ public Mujoco.Worldbody.Builder<_B> addComposite(Mujoco.Worldbody.Composite... composite_) { return addComposite(Arrays.asList(composite_)); } /** * Returns a new builder to build an additional value of the "composite" property. * Use {@link org.mujoco.xml.Mujoco.Worldbody.Composite.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "composite" property. * Use {@link org.mujoco.xml.Mujoco.Worldbody.Composite.Builder#end()} to return to the current builder. */ public Mujoco.Worldbody.Composite.Builder> addComposite() { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } final Mujoco.Worldbody.Composite.Builder> composite_Builder = new Mujoco.Worldbody.Composite.Builder>(this, null, false); this.geomOrSiteOrCamera.add(composite_Builder); return composite_Builder; } /** * Adds the given items to the value of "body_" * * @param body_ * Items to add to the value of the "body_" property */ public Mujoco.Worldbody.Builder<_B> addBody(final Iterable body_) { if (body_!= null) { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } for (BodyarchType _item: body_) { this.geomOrSiteOrCamera.add(new BodyarchType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "body_" * * @param body_ * Items to add to the value of the "body_" property */ public Mujoco.Worldbody.Builder<_B> addBody(BodyarchType... body_) { return addBody(Arrays.asList(body_)); } /** * Returns a new builder to build an additional value of the "body" property. * Use {@link org.mujoco.xml.BodyarchType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "body" property. * Use {@link org.mujoco.xml.BodyarchType.Builder#end()} to return to the current builder. */ public BodyarchType.Builder> addBody() { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } final BodyarchType.Builder> body_Builder = new BodyarchType.Builder>(this, null, false); this.geomOrSiteOrCamera.add(body_Builder); return body_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Worldbody.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } for (IncludeType _item: include_) { this.geomOrSiteOrCamera.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.Worldbody.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> addInclude() { if (this.geomOrSiteOrCamera == null) { this.geomOrSiteOrCamera = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.geomOrSiteOrCamera.add(include_Builder); return include_Builder; } @Override public Mujoco.Worldbody build() { return this.init(new Mujoco.Worldbody()); } public Mujoco.Worldbody.Builder<_B> copyOf(final Mujoco.Worldbody _other) { _other.copyTo(this); return this; } public Mujoco.Worldbody.Builder<_B> copyOf(final Mujoco.Worldbody.Builder _other) { return copyOf(_other.build()); } } /** *

Java class for anonymous complex type. * *

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

         * <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>
         * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "jointOrTendonOrGeom" }) public static class Composite extends CompositeType implements Cloneable, Copyable, PartialCopyable { @XmlElements({ @XmlElement(name = "joint", type = CompositejointType.class), @XmlElement(name = "tendon", type = org.mujoco.xml.body.TendonType.class), @XmlElement(name = "geom", type = CompositegeomType.class), @XmlElement(name = "site", type = CompositesiteType.class), @XmlElement(name = "skin", type = org.mujoco.xml.body.SkinType.class), @XmlElement(name = "pin", type = PinType.class), @XmlElement(name = "include", type = IncludeType.class) }) protected List jointOrTendonOrGeom; private transient BoundList jointOrTendonOrGeom__Proxy = null; /** * Generated by copy-constructor plugin, JAXB requires public no-arg constructor. * */ public Composite() { // Generated by copy-constructor plugin, JAXB requires public no-arg constructor. } /** * Instantiates a Composite copying the state of another Composite * * @param _other * The original Composite from which to copy state. */ public Composite(final Mujoco.Worldbody.Composite _other) { super(_other); this.jointOrTendonOrGeom = ((_other.jointOrTendonOrGeom == null)?null:new ArrayList(_other.jointOrTendonOrGeom)); } /** * Instantiates a Composite copying the state of another Composite * * @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 Composite from which to copy state. */ public Composite(final Mujoco.Worldbody.Composite _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_other, _propertyTree, _propertyTreeUse); final PropertyTree jointOrTendonOrGeomPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jointOrTendonOrGeom")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jointOrTendonOrGeomPropertyTree!= null):((jointOrTendonOrGeomPropertyTree == null)||(!jointOrTendonOrGeomPropertyTree.isLeaf())))) { this.jointOrTendonOrGeom = ((_other.jointOrTendonOrGeom == null)?null:new ArrayList(_other.jointOrTendonOrGeom)); } } public BoundList getJointOrTendonOrGeom() { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } if (this.jointOrTendonOrGeom__Proxy == null) { this.jointOrTendonOrGeom__Proxy = new BoundListProxy(this.jointOrTendonOrGeom); } return this.jointOrTendonOrGeom__Proxy; } @Override public Mujoco.Worldbody.Composite withVetoableChangeListener(final VetoableChangeListener vetoableChangeListener) { addVetoableChangeListener(vetoableChangeListener); return this; } @Override public Mujoco.Worldbody.Composite withPropertyChangeListener(final PropertyChangeListener propertyChangeListener) { addPropertyChangeListener(propertyChangeListener); return this; } @Override public Mujoco.Worldbody.Composite clone() { final Mujoco.Worldbody.Composite _newObject; _newObject = ((Mujoco.Worldbody.Composite) super.clone()); _newObject.jointOrTendonOrGeom = ((this.jointOrTendonOrGeom == null)?null:new ArrayList(this.jointOrTendonOrGeom)); return _newObject; } @Override public Mujoco.Worldbody.Composite createCopy() { final Mujoco.Worldbody.Composite _newObject = ((Mujoco.Worldbody.Composite) super.createCopy()); _newObject.jointOrTendonOrGeom = ((this.jointOrTendonOrGeom == null)?null:new ArrayList(this.jointOrTendonOrGeom)); return _newObject; } @Override public Mujoco.Worldbody.Composite createCopy(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Worldbody.Composite _newObject = ((Mujoco.Worldbody.Composite) super.createCopy(_propertyTree, _propertyTreeUse)); final PropertyTree jointOrTendonOrGeomPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jointOrTendonOrGeom")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jointOrTendonOrGeomPropertyTree!= null):((jointOrTendonOrGeomPropertyTree == null)||(!jointOrTendonOrGeomPropertyTree.isLeaf())))) { _newObject.jointOrTendonOrGeom = ((this.jointOrTendonOrGeom == null)?null:new ArrayList(this.jointOrTendonOrGeom)); } return _newObject; } @Override public Mujoco.Worldbody.Composite copyExcept(final PropertyTree _propertyTree) { return createCopy(_propertyTree, PropertyTreeUse.EXCLUDE); } @Override public Mujoco.Worldbody.Composite 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.Worldbody.Composite.Builder<_B> _other) { super.copyTo(_other); if (this.jointOrTendonOrGeom == null) { _other.jointOrTendonOrGeom = null; } else { _other.jointOrTendonOrGeom = new ArrayList(); for (Object _item: this.jointOrTendonOrGeom) { _other.jointOrTendonOrGeom.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } @Override public<_B >Mujoco.Worldbody.Composite.Builder<_B> newCopyBuilder(final _B _parentBuilder) { return new Mujoco.Worldbody.Composite.Builder<_B>(_parentBuilder, this, true); } @Override public Mujoco.Worldbody.Composite.Builder newCopyBuilder() { return newCopyBuilder(null); } public static Mujoco.Worldbody.Composite.Builder builder() { return new Mujoco.Worldbody.Composite.Builder(null, null, false); } public static<_B >Mujoco.Worldbody.Composite.Builder<_B> copyOf(final CompositeType _other) { final Mujoco.Worldbody.Composite.Builder<_B> _newBuilder = new Mujoco.Worldbody.Composite.Builder<_B>(null, null, false); _other.copyTo(_newBuilder); return _newBuilder; } public static<_B >Mujoco.Worldbody.Composite.Builder<_B> copyOf(final Mujoco.Worldbody.Composite _other) { final Mujoco.Worldbody.Composite.Builder<_B> _newBuilder = new Mujoco.Worldbody.Composite.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.Worldbody.Composite.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super.copyTo(_other, _propertyTree, _propertyTreeUse); final PropertyTree jointOrTendonOrGeomPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jointOrTendonOrGeom")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jointOrTendonOrGeomPropertyTree!= null):((jointOrTendonOrGeomPropertyTree == null)||(!jointOrTendonOrGeomPropertyTree.isLeaf())))) { if (this.jointOrTendonOrGeom == null) { _other.jointOrTendonOrGeom = null; } else { _other.jointOrTendonOrGeom = new ArrayList(); for (Object _item: this.jointOrTendonOrGeom) { _other.jointOrTendonOrGeom.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } @Override public<_B >Mujoco.Worldbody.Composite.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return new Mujoco.Worldbody.Composite.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); } @Override public Mujoco.Worldbody.Composite.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { return newCopyBuilder(null, _propertyTree, _propertyTreeUse); } public static<_B >Mujoco.Worldbody.Composite.Builder<_B> copyOf(final CompositeType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Worldbody.Composite.Builder<_B> _newBuilder = new Mujoco.Worldbody.Composite.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static<_B >Mujoco.Worldbody.Composite.Builder<_B> copyOf(final Mujoco.Worldbody.Composite _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { final Mujoco.Worldbody.Composite.Builder<_B> _newBuilder = new Mujoco.Worldbody.Composite.Builder<_B>(null, null, false); _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); return _newBuilder; } public static Mujoco.Worldbody.Composite.Builder copyExcept(final CompositeType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Worldbody.Composite.Builder copyExcept(final Mujoco.Worldbody.Composite _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); } public static Mujoco.Worldbody.Composite.Builder copyOnly(final CompositeType _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public static Mujoco.Worldbody.Composite.Builder copyOnly(final Mujoco.Worldbody.Composite _other, final PropertyTree _propertyTree) { return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); } public Mujoco.Worldbody.Composite visit(final PropertyVisitor _visitor_) { super.visit(_visitor_); return this; } public static class Builder<_B > extends CompositeType.Builder<_B> implements Buildable { private List jointOrTendonOrGeom; public Builder(final _B _parentBuilder, final Mujoco.Worldbody.Composite _other, final boolean _copy) { super(_parentBuilder, _other, _copy); if (_other!= null) { if (_other.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = null; } else { this.jointOrTendonOrGeom = new ArrayList(); for (Object _item: _other.jointOrTendonOrGeom) { this.jointOrTendonOrGeom.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } public Builder(final _B _parentBuilder, final Mujoco.Worldbody.Composite _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); if (_other!= null) { final PropertyTree jointOrTendonOrGeomPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jointOrTendonOrGeom")); if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jointOrTendonOrGeomPropertyTree!= null):((jointOrTendonOrGeomPropertyTree == null)||(!jointOrTendonOrGeomPropertyTree.isLeaf())))) { if (_other.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = null; } else { this.jointOrTendonOrGeom = new ArrayList(); for (Object _item: _other.jointOrTendonOrGeom) { this.jointOrTendonOrGeom.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); } } } } } protected<_P extends Mujoco.Worldbody.Composite >_P init(final _P _product) { if (this.jointOrTendonOrGeom!= null) { final List jointOrTendonOrGeom = new ArrayList(this.jointOrTendonOrGeom.size()); for (Buildable _item: this.jointOrTendonOrGeom) { jointOrTendonOrGeom.add(((Object) _item.build())); } _product.jointOrTendonOrGeom = jointOrTendonOrGeom; } return super.init(_product); } /** * Adds the given items to the value of "jointOrTendonOrGeom" * * @param jointOrTendonOrGeom * Items to add to the value of the "jointOrTendonOrGeom" property */ public Mujoco.Worldbody.Composite.Builder<_B> addJointOrTendonOrGeom(final Iterable jointOrTendonOrGeom) { if (jointOrTendonOrGeom!= null) { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } for (Object _item: jointOrTendonOrGeom) { this.jointOrTendonOrGeom.add(new Buildable.PrimitiveBuildable(_item)); } } return this; } /** * Sets the new value of "jointOrTendonOrGeom" (any previous value will be replaced) * * @param jointOrTendonOrGeom * New value of the "jointOrTendonOrGeom" property. */ public Mujoco.Worldbody.Composite.Builder<_B> withJointOrTendonOrGeom(final Iterable jointOrTendonOrGeom) { if (this.jointOrTendonOrGeom!= null) { this.jointOrTendonOrGeom.clear(); } return addJointOrTendonOrGeom(jointOrTendonOrGeom); } /** * Adds the given items to the value of "jointOrTendonOrGeom" * * @param jointOrTendonOrGeom * Items to add to the value of the "jointOrTendonOrGeom" property */ public Mujoco.Worldbody.Composite.Builder<_B> addJointOrTendonOrGeom(Object... jointOrTendonOrGeom) { addJointOrTendonOrGeom(Arrays.asList(jointOrTendonOrGeom)); return this; } /** * Sets the new value of "jointOrTendonOrGeom" (any previous value will be replaced) * * @param jointOrTendonOrGeom * New value of the "jointOrTendonOrGeom" property. */ public Mujoco.Worldbody.Composite.Builder<_B> withJointOrTendonOrGeom(Object... jointOrTendonOrGeom) { withJointOrTendonOrGeom(Arrays.asList(jointOrTendonOrGeom)); return this; } /** * Adds the given items to the value of "joint_" * * @param joint_ * Items to add to the value of the "joint_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addJoint(final Iterable joint_) { if (joint_!= null) { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } for (CompositejointType _item: joint_) { this.jointOrTendonOrGeom.add(new CompositejointType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "joint_" * * @param joint_ * Items to add to the value of the "joint_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addJoint(CompositejointType... joint_) { return addJoint(Arrays.asList(joint_)); } /** * Returns a new builder to build an additional value of the "joint" property. * Use {@link org.mujoco.xml.body.CompositejointType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "joint" property. * Use {@link org.mujoco.xml.body.CompositejointType.Builder#end()} to return to the current builder. */ public CompositejointType.Builder> addJoint() { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } final CompositejointType.Builder> joint_Builder = new CompositejointType.Builder>(this, null, false); this.jointOrTendonOrGeom.add(joint_Builder); return joint_Builder; } /** * Adds the given items to the value of "tendon_" * * @param tendon_ * Items to add to the value of the "tendon_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addTendon(final Iterable tendon_) { if (tendon_!= null) { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } for (org.mujoco.xml.body.TendonType _item: tendon_) { this.jointOrTendonOrGeom.add(new org.mujoco.xml.body.TendonType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "tendon_" * * @param tendon_ * Items to add to the value of the "tendon_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addTendon(org.mujoco.xml.body.TendonType... tendon_) { return addTendon(Arrays.asList(tendon_)); } /** * Returns a new builder to build an additional value of the "tendon" property. * Use {@link org.mujoco.xml.body.TendonType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "tendon" property. * Use {@link org.mujoco.xml.body.TendonType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.body.TendonType.Builder> addTendon() { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } final org.mujoco.xml.body.TendonType.Builder> tendon_Builder = new org.mujoco.xml.body.TendonType.Builder>(this, null, false); this.jointOrTendonOrGeom.add(tendon_Builder); return tendon_Builder; } /** * Adds the given items to the value of "geom_" * * @param geom_ * Items to add to the value of the "geom_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addGeom(final Iterable geom_) { if (geom_!= null) { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } for (CompositegeomType _item: geom_) { this.jointOrTendonOrGeom.add(new CompositegeomType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "geom_" * * @param geom_ * Items to add to the value of the "geom_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addGeom(CompositegeomType... geom_) { return addGeom(Arrays.asList(geom_)); } /** * Returns a new builder to build an additional value of the "geom" property. * Use {@link org.mujoco.xml.body.CompositegeomType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "geom" property. * Use {@link org.mujoco.xml.body.CompositegeomType.Builder#end()} to return to the current builder. */ public CompositegeomType.Builder> addGeom() { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } final CompositegeomType.Builder> geom_Builder = new CompositegeomType.Builder>(this, null, false); this.jointOrTendonOrGeom.add(geom_Builder); return geom_Builder; } /** * Adds the given items to the value of "site_" * * @param site_ * Items to add to the value of the "site_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addSite(final Iterable site_) { if (site_!= null) { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } for (CompositesiteType _item: site_) { this.jointOrTendonOrGeom.add(new CompositesiteType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "site_" * * @param site_ * Items to add to the value of the "site_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addSite(CompositesiteType... site_) { return addSite(Arrays.asList(site_)); } /** * Returns a new builder to build an additional value of the "site" property. * Use {@link org.mujoco.xml.body.CompositesiteType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "site" property. * Use {@link org.mujoco.xml.body.CompositesiteType.Builder#end()} to return to the current builder. */ public CompositesiteType.Builder> addSite() { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } final CompositesiteType.Builder> site_Builder = new CompositesiteType.Builder>(this, null, false); this.jointOrTendonOrGeom.add(site_Builder); return site_Builder; } /** * Adds the given items to the value of "skin_" * * @param skin_ * Items to add to the value of the "skin_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addSkin(final Iterable skin_) { if (skin_!= null) { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } for (org.mujoco.xml.body.SkinType _item: skin_) { this.jointOrTendonOrGeom.add(new org.mujoco.xml.body.SkinType.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.Worldbody.Composite.Builder<_B> addSkin(org.mujoco.xml.body.SkinType... skin_) { return addSkin(Arrays.asList(skin_)); } /** * Returns a new builder to build an additional value of the "skin" property. * Use {@link org.mujoco.xml.body.SkinType.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.body.SkinType.Builder#end()} to return to the current builder. */ public org.mujoco.xml.body.SkinType.Builder> addSkin() { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } final org.mujoco.xml.body.SkinType.Builder> skin_Builder = new org.mujoco.xml.body.SkinType.Builder>(this, null, false); this.jointOrTendonOrGeom.add(skin_Builder); return skin_Builder; } /** * Adds the given items to the value of "pin_" * * @param pin_ * Items to add to the value of the "pin_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addPin(final Iterable pin_) { if (pin_!= null) { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } for (PinType _item: pin_) { this.jointOrTendonOrGeom.add(new PinType.Builder>(this, _item, true)); } } return this; } /** * Adds the given items to the value of "pin_" * * @param pin_ * Items to add to the value of the "pin_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addPin(PinType... pin_) { return addPin(Arrays.asList(pin_)); } /** * Returns a new builder to build an additional value of the "pin" property. * Use {@link org.mujoco.xml.body.PinType.Builder#end()} to return to the current builder. * * @return * a new builder to build an additional value of the "pin" property. * Use {@link org.mujoco.xml.body.PinType.Builder#end()} to return to the current builder. */ public PinType.Builder> addPin() { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } final PinType.Builder> pin_Builder = new PinType.Builder>(this, null, false); this.jointOrTendonOrGeom.add(pin_Builder); return pin_Builder; } /** * Adds the given items to the value of "include_" * * @param include_ * Items to add to the value of the "include_" property */ public Mujoco.Worldbody.Composite.Builder<_B> addInclude(final Iterable include_) { if (include_!= null) { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } for (IncludeType _item: include_) { this.jointOrTendonOrGeom.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.Worldbody.Composite.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> addInclude() { if (this.jointOrTendonOrGeom == null) { this.jointOrTendonOrGeom = new ArrayList(); } final IncludeType.Builder> include_Builder = new IncludeType.Builder>(this, null, false); this.jointOrTendonOrGeom.add(include_Builder); return include_Builder; } /** * Sets the new value of "prefix" (any previous value will be replaced) * * @param prefix * New value of the "prefix" property. */ @Override public Mujoco.Worldbody.Composite.Builder<_B> withPrefix(final String prefix) { super.withPrefix(prefix); return this; } /** * Sets the new value of "type" (any previous value will be replaced) * * @param type * New value of the "type" property. */ @Override public Mujoco.Worldbody.Composite.Builder<_B> withType(final CompositetypeType type) { super.withType(type); return this; } /** * Sets the new value of "count" (any previous value will be replaced) * * @param count * New value of the "count" property. */ @Override public Mujoco.Worldbody.Composite.Builder<_B> withCount(final String count) { super.withCount(count); return this; } /** * Sets the new value of "spacing" (any previous value will be replaced) * * @param spacing * New value of the "spacing" property. */ @Override public Mujoco.Worldbody.Composite.Builder<_B> withSpacing(final BigDecimal spacing) { super.withSpacing(spacing); return this; } /** * Sets the new value of "offset" (any previous value will be replaced) * * @param offset * New value of the "offset" property. */ @Override public Mujoco.Worldbody.Composite.Builder<_B> withOffset(final String offset) { super.withOffset(offset); return this; } /** * Sets the new value of "flatinertia" (any previous value will be replaced) * * @param flatinertia * New value of the "flatinertia" property. */ @Override public Mujoco.Worldbody.Composite.Builder<_B> withFlatinertia(final BigDecimal flatinertia) { super.withFlatinertia(flatinertia); return this; } /** * Sets the new value of "solimpsmooth" (any previous value will be replaced) * * @param solimpsmooth * New value of the "solimpsmooth" property. */ @Override public Mujoco.Worldbody.Composite.Builder<_B> withSolimpsmooth(final String solimpsmooth) { super.withSolimpsmooth(solimpsmooth); return this; } /** * Sets the new value of "solrefsmooth" (any previous value will be replaced) * * @param solrefsmooth * New value of the "solrefsmooth" property. */ @Override public Mujoco.Worldbody.Composite.Builder<_B> withSolrefsmooth(final String solrefsmooth) { super.withSolrefsmooth(solrefsmooth); return this; } @Override public Mujoco.Worldbody.Composite build() { return this.init(new Mujoco.Worldbody.Composite()); } public Mujoco.Worldbody.Composite.Builder<_B> copyOf(final Mujoco.Worldbody.Composite _other) { _other.copyTo(this); return this; } public Mujoco.Worldbody.Composite.Builder<_B> copyOf(final Mujoco.Worldbody.Composite.Builder _other) { return copyOf(_other.build()); } } public static class PropInfo { public final static transient String JOINT_OR_TENDON_OR_GEOM = "jointOrTendonOrGeom"; } public static class Select extends Mujoco.Worldbody.Composite.Selector { Select() { super(null, null, null); } public static Mujoco.Worldbody.Composite.Select _root() { return new Mujoco.Worldbody.Composite.Select(); } } public static class Selector , TParent > extends CompositeType.Selector { private com.kscs.util.jaxb.Selector> jointOrTendonOrGeom = 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.jointOrTendonOrGeom!= null) { products.put("jointOrTendonOrGeom", this.jointOrTendonOrGeom.init()); } return products; } public com.kscs.util.jaxb.Selector> jointOrTendonOrGeom() { return ((this.jointOrTendonOrGeom == null)?this.jointOrTendonOrGeom = new com.kscs.util.jaxb.Selector>(this._root, this, "jointOrTendonOrGeom"):this.jointOrTendonOrGeom); } } } public static class PropInfo { public final static transient String GEOM_OR_SITE_OR_CAMERA = "geomOrSiteOrCamera"; } public static class Select extends Mujoco.Worldbody.Selector { Select() { super(null, null, null); } public static Mujoco.Worldbody.Select _root() { return new Mujoco.Worldbody.Select(); } } public static class Selector , TParent > extends com.kscs.util.jaxb.Selector { private com.kscs.util.jaxb.Selector> geomOrSiteOrCamera = 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.geomOrSiteOrCamera!= null) { products.put("geomOrSiteOrCamera", this.geomOrSiteOrCamera.init()); } return products; } public com.kscs.util.jaxb.Selector> geomOrSiteOrCamera() { return ((this.geomOrSiteOrCamera == null)?this.geomOrSiteOrCamera = new com.kscs.util.jaxb.Selector>(this._root, this, "geomOrSiteOrCamera"):this.geomOrSiteOrCamera); } } } }