Package org.javastro.ivoa.entities.vodml
Class Composition
java.lang.Object
org.javastro.ivoa.entities.vodml.ReferableElement
org.javastro.ivoa.entities.vodml.Role
org.javastro.ivoa.entities.vodml.Relation
org.javastro.ivoa.entities.vodml.Composition
- All Implemented Interfaces:
com.kscs.util.jaxb.Copyable,com.kscs.util.jaxb.PartialCopyable,Cloneable,org.jvnet.jaxb.lang.MergeFrom,org.jvnet.jaxb.lang.ToString
@Generated(value="com.sun.tools.xjc.Driver",
comments="JAXB RI v4.0.4",
date="2024-10-20T18:15:02+01:00")
public class Composition
extends Relation
implements Cloneable, com.kscs.util.jaxb.Copyable, com.kscs.util.jaxb.PartialCopyable, org.jvnet.jaxb.lang.MergeFrom, org.jvnet.jaxb.lang.ToString
This type implements a composition relation between the parent and child ObjectTypes.
Its instances are ONLY used to set the composition field on an ObjectType.
It is a rule that an object type can only be the target of a single composition definition.
A subclass can be assigned a target to a composition if a
baseclass is already assigned such a target, but only if the composition is explicitly 'subsetted'.
A composition is assumed to be a set, i.e.
a given object (as identified by its identifier!) cannot occur
multiple times in the composition.
The composition
may be ordered, which implies that the order in which objects have been added
to
the parent is to be preserved. As clients can always do an explicit sort on any of the child objects' attributes,
it seems not necessary to add functionality for
declaring a composition is
sorted on one or more attributes.
Through the uniqueInCollection constraint that can be assigned to attributes, a composition can impose the
constraint that different objects in the composition
must have distinct values of the
attribute to which that constraint is assigned.
It would be better probably to add the capability to assign such constraints to this composition type.
This would
also give more flexibility in for example creating explicit (named) keys, or defining
multi-attribute uniqueness constraints.
Java class for Composition complex type
.The following schema fragment specifies the expected content contained within this class.
<complexType name="Composition">
<complexContent>
<extension base="{http://www.ivoa.net/xml/VODML/v1}Relation">
<sequence>
<element name="isOrdered" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classclassstatic classstatic classstatic classComposition.Selector<TRoot extends com.kscs.util.jaxb.Selector<TRoot,?>, TParent> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected BooleanIf true, this composition preserves the ordering of object insertions.Fields inherited from class org.javastro.ivoa.entities.vodml.Role
datatype, multiplicityFields inherited from class org.javastro.ivoa.entities.vodml.ReferableElement
__cachedModifier__, description, id, name, vodmlId -
Constructor Summary
ConstructorsConstructorDescriptionDefault no-arg constructorComposition(String vodmlId, String name, String description, String id, ElementRef datatype, Multiplicity multiplicity, Boolean isOrdered) Fully-initialising value constructor -
Method Summary
Modifier and TypeMethodDescriptionappend(org.jvnet.jaxb.locator.ObjectLocator locator, StringBuilder buffer, org.jvnet.jaxb.lang.ToStringStrategy strategy) appendFields(org.jvnet.jaxb.locator.ObjectLocator locator, StringBuilder buffer, org.jvnet.jaxb.lang.ToStringStrategy strategy) static Composition.Builder<Void>builder()clone()copyExcept(com.kscs.util.jaxb.PropertyTree _propertyTree) static Composition.Builder<Void>copyExcept(Composition _other, com.kscs.util.jaxb.PropertyTree _propertyTree) static Composition.Builder<Void>copyExcept(ReferableElement _other, com.kscs.util.jaxb.PropertyTree _propertyTree) static Composition.Builder<Void>copyExcept(Relation _other, com.kscs.util.jaxb.PropertyTree _propertyTree) static Composition.Builder<Void>copyExcept(Role _other, com.kscs.util.jaxb.PropertyTree _propertyTree) static <_B> Composition.Builder<_B>copyOf(Composition _other) static <_B> Composition.Builder<_B>copyOf(Composition _other, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) static <_B> Composition.Builder<_B>copyOf(ReferableElement _other) static <_B> Composition.Builder<_B>copyOf(ReferableElement _other, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) static <_B> Composition.Builder<_B>static <_B> Composition.Builder<_B>copyOf(Relation _other, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) static <_B> Composition.Builder<_B>static <_B> Composition.Builder<_B>copyOf(Role _other, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) copyOnly(com.kscs.util.jaxb.PropertyTree _propertyTree) static Composition.Builder<Void>copyOnly(Composition _other, com.kscs.util.jaxb.PropertyTree _propertyTree) static Composition.Builder<Void>copyOnly(ReferableElement _other, com.kscs.util.jaxb.PropertyTree _propertyTree) static Composition.Builder<Void>static Composition.Builder<Void><_B> voidcopyTo(Composition.Builder<_B> _other) Copies all state of this object to a builder.<_B> voidcopyTo(Composition.Builder<_B> _other, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) Copies all state of this object to a builder.createCopy(com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) booleaninthashCode()If true, this composition preserves the ordering of object insertions.voidvoidmergeFrom(org.jvnet.jaxb.locator.ObjectLocator leftLocator, org.jvnet.jaxb.locator.ObjectLocator rightLocator, Object left, Object right, org.jvnet.jaxb.lang.MergeStrategy strategy) modifier()<_B> Composition.Builder<_B>newCopyBuilder(_B _parentBuilder) <_B> Composition.Builder<_B>newCopyBuilder(_B _parentBuilder, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) newCopyBuilder(com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) voidsetIsOrdered(Boolean value) Sets the value of the isOrdered property.toString()visit(com.kscs.util.jaxb.PropertyVisitor _visitor_) Methods inherited from class org.javastro.ivoa.entities.vodml.Role
copyTo, copyTo, getDatatype, getMultiplicity, setDatatype, setMultiplicityMethods inherited from class org.javastro.ivoa.entities.vodml.ReferableElement
copyTo, copyTo, getDescription, getId, getName, getVodmlId, setDescription, setId, setName, setVodmlId
-
Field Details
-
isOrdered
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") protected Boolean isOrderedIf true, this composition preserves the ordering of object insertions.
-
-
Constructor Details
-
Composition
public Composition()Default no-arg constructor -
Composition
public Composition(String vodmlId, String name, String description, String id, ElementRef datatype, Multiplicity multiplicity, Boolean isOrdered) Fully-initialising value constructor
-
-
Method Details
-
isIsOrdered
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Boolean isIsOrdered()If true, this composition preserves the ordering of object insertions.- Returns:
- possible object is
Boolean
-
setIsOrdered
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public void setIsOrdered(Boolean value) Sets the value of the isOrdered property.- Parameters:
value- allowed object isBoolean- See Also:
-
equals
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public boolean equals(Object object) -
hashCode
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public int hashCode() -
toString
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public String toString() -
append
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public StringBuilder append(org.jvnet.jaxb.locator.ObjectLocator locator, StringBuilder buffer, org.jvnet.jaxb.lang.ToStringStrategy strategy) -
appendFields
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public StringBuilder appendFields(org.jvnet.jaxb.locator.ObjectLocator locator, StringBuilder buffer, org.jvnet.jaxb.lang.ToStringStrategy strategy) - Specified by:
appendFieldsin interfaceorg.jvnet.jaxb.lang.ToString- Overrides:
appendFieldsin classRelation
-
mergeFrom
-
mergeFrom
-
createNewInstance
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Object createNewInstance()- Specified by:
createNewInstancein interfaceorg.jvnet.jaxb.lang.MergeFrom
-
clone
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Composition clone() -
createCopy
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Composition createCopy()- Specified by:
createCopyin interfacecom.kscs.util.jaxb.Copyable- Overrides:
createCopyin classRelation
-
createCopy
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Composition createCopy(com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) - Specified by:
createCopyin interfacecom.kscs.util.jaxb.PartialCopyable- Overrides:
createCopyin classRelation
-
copyExcept
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Composition copyExcept(com.kscs.util.jaxb.PropertyTree _propertyTree) - Specified by:
copyExceptin interfacecom.kscs.util.jaxb.PartialCopyable- Overrides:
copyExceptin classRelation
-
copyOnly
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Composition copyOnly(com.kscs.util.jaxb.PropertyTree _propertyTree) -
modifier
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Composition.Modifier modifier() -
copyTo
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public <_B> void copyTo(Composition.Builder<_B> _other) Copies all state of this object to a builder. This method is used by the copyOf method and should not be called directly by client code.- Parameters:
_other- A builder instance to which the state of this object will be copied.
-
newCopyBuilder
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public <_B> Composition.Builder<_B> newCopyBuilder(_B _parentBuilder) - Specified by:
newCopyBuilderin classRelation
-
newCopyBuilder
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Composition.Builder<Void> newCopyBuilder()- Specified by:
newCopyBuilderin classRelation
-
builder
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static Composition.Builder<Void> builder() -
copyOf
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static <_B> Composition.Builder<_B> copyOf(ReferableElement _other) -
copyOf
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static <_B> Composition.Builder<_B> copyOf(Role _other) -
copyOf
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static <_B> Composition.Builder<_B> copyOf(Relation _other) -
copyOf
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static <_B> Composition.Builder<_B> copyOf(Composition _other) -
copyTo
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public <_B> void copyTo(Composition.Builder<_B> _other, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) Copies all state of this object to a builder. This method is used by the copyOf method and should not be called directly by client code.- Parameters:
_other- A builder instance to which the state of this object will be copied.
-
newCopyBuilder
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public <_B> Composition.Builder<_B> newCopyBuilder(_B _parentBuilder, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) - Specified by:
newCopyBuilderin classRelation
-
newCopyBuilder
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Composition.Builder<Void> newCopyBuilder(com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) - Specified by:
newCopyBuilderin classRelation
-
copyOf
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static <_B> Composition.Builder<_B> copyOf(ReferableElement _other, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) -
copyOf
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static <_B> Composition.Builder<_B> copyOf(Role _other, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) -
copyOf
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static <_B> Composition.Builder<_B> copyOf(Relation _other, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) -
copyOf
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static <_B> Composition.Builder<_B> copyOf(Composition _other, com.kscs.util.jaxb.PropertyTree _propertyTree, com.kscs.util.jaxb.PropertyTreeUse _propertyTreeUse) -
copyExcept
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static Composition.Builder<Void> copyExcept(ReferableElement _other, com.kscs.util.jaxb.PropertyTree _propertyTree) -
copyExcept
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static Composition.Builder<Void> copyExcept(Role _other, com.kscs.util.jaxb.PropertyTree _propertyTree) -
copyExcept
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static Composition.Builder<Void> copyExcept(Relation _other, com.kscs.util.jaxb.PropertyTree _propertyTree) -
copyExcept
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static Composition.Builder<Void> copyExcept(Composition _other, com.kscs.util.jaxb.PropertyTree _propertyTree) -
copyOnly
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static Composition.Builder<Void> copyOnly(ReferableElement _other, com.kscs.util.jaxb.PropertyTree _propertyTree) -
copyOnly
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static Composition.Builder<Void> copyOnly(Role _other, com.kscs.util.jaxb.PropertyTree _propertyTree) -
copyOnly
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static Composition.Builder<Void> copyOnly(Relation _other, com.kscs.util.jaxb.PropertyTree _propertyTree) -
copyOnly
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public static Composition.Builder<Void> copyOnly(Composition _other, com.kscs.util.jaxb.PropertyTree _propertyTree) -
visit
@Generated(value="com.sun.tools.xjc.Driver", comments="JAXB RI v4.0.4", date="2024-10-20T18:15:02+01:00") public Composition visit(com.kscs.util.jaxb.PropertyVisitor _visitor_)
-