com.glookast.commons.timecode.TimecodeSequence Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of commons-timecode Show documentation
Show all versions of commons-timecode Show documentation
XML base schemas used for interfacing with Glookast Products
package com.glookast.commons.timecode;
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.io.Serializable;
import java.util.Objects;
/**
* Java class for TimecodeSequence complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="TimecodeSequence">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="timecodeSource" type="{http://timecode.commons.glookast.com}TimecodeSource"/>
* <element name="timecode" type="{http://timecode.commons.glookast.com}Timecode"/>
* <element name="position" type="{http://www.w3.org/2001/XMLSchema}long"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "TimecodeSequence", namespace = "http://timecode.commons.glookast.com", propOrder = {
"timecodeSource",
"timecode",
"position"
})
public class TimecodeSequence implements Serializable
{
@XmlElement(required = true)
@XmlSchemaType(name = "string")
protected TimecodeSource timecodeSource;
@XmlElement(required = true, type = String.class)
@XmlJavaTypeAdapter(XmlAdapterTimecode.class)
protected Timecode timecode;
protected long position;
/**
* Default no-arg constructor
*/
public TimecodeSequence()
{
super();
}
/**
* Fully-initialising value constructor
*/
public TimecodeSequence(final TimecodeSource timecodeSource, final Timecode timecode, final long position)
{
this.timecodeSource = timecodeSource;
this.timecode = timecode;
this.position = position;
}
public TimecodeSequence(final TimecodeSequence timecodeSequence)
{
this.timecodeSource = timecodeSequence.timecodeSource;
this.timecode = new Timecode(timecodeSequence.timecode);
this.position = timecodeSequence.position;
}
/**
* Gets the value of the timecodeSource property.
*
* @return possible object is
* {@link TimecodeSource }
*/
public TimecodeSource getTimecodeSource()
{
return timecodeSource;
}
/**
* Sets the value of the timecodeSource property.
*
* @param value allowed object is
* {@link TimecodeSource }
*/
public void setTimecodeSource(TimecodeSource value)
{
this.timecodeSource = value;
}
/**
* Gets the value of the timecode property.
*
* @return possible object is
* {@link String }
*/
public Timecode getTimecode()
{
return timecode;
}
/**
* Sets the value of the timecode property.
*
* @param value allowed object is
* {@link String }
*/
public void setTimecode(Timecode value)
{
this.timecode = value;
}
/**
* Gets the value of the position property.
*/
public long getPosition()
{
return position;
}
/**
* Sets the value of the position property.
*/
public void setPosition(long value)
{
this.position = value;
}
@Override
public String toString()
{
return "TimecodeSequence{" +
"timecodeSource=" + timecodeSource +
", timecode=" + AbstractTimecode.toString(timecode, AbstractTimecode.StringType.Storage) +
", position=" + position +
'}';
}
@Override
public boolean equals(Object o)
{
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
TimecodeSequence that = (TimecodeSequence) o;
return position == that.position &&
timecodeSource == that.timecodeSource &&
Objects.equals(timecode, that.timecode);
}
@Override
public int hashCode()
{
return Objects.hash(timecodeSource, timecode, position);
}
}