org.mitre.cybox.objects.LinuxPackage Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of stix Show documentation
Show all versions of stix Show documentation
The Java bindings for STIX v.1.2.0.2
/**
* Copyright (c) 2015, The MITRE Corporation. All rights reserved.
* See LICENSE for complete terms.
*/
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.5-2
// See http://java.sun.com/xml/jaxb
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.07.01 at 03:30:29 PM EDT
//
package org.mitre.cybox.objects;
import java.io.StringReader;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
import javax.xml.transform.stream.StreamSource;
import org.jvnet.jaxb2_commons.lang.Equals;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
import org.jvnet.jaxb2_commons.lang.HashCode;
import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.ToString;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
import org.mitre.cybox.common_2.ControlledVocabularyStringType;
import org.mitre.cybox.common_2.CustomPropertiesType;
import org.mitre.cybox.common_2.ObjectPropertiesType;
import org.mitre.cybox.common_2.StringObjectPropertyType;
import org.mitre.stix.DocumentUtilities;
import org.mitre.stix.STIXSchema;
import org.mitre.stix.ValidationEventHandler;
import org.xml.sax.SAXException;
/**
* The LinuxPackageObjectType type is intended to characterize Linux packages.
*
* Java class for LinuxPackageObjectType complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="LinuxPackageObjectType">
* <complexContent>
* <extension base="{http://cybox.mitre.org/common-2}ObjectPropertiesType">
* <sequence>
* <element name="Architecture" type="{http://cybox.mitre.org/common-2}ControlledVocabularyStringType" minOccurs="0"/>
* <element name="Category" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Description" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Epoch" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="EVR" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Name" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Release" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Vendor" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Version" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "LinuxPackageObjectType", namespace = "http://cybox.mitre.org/objects#LinuxPackageObject-2", propOrder = {
"architecture", "category", "description", "epoch", "evr", "name",
"release", "vendor", "version" })
@XmlRootElement(name = "Linux_Package", namespace = "http://cybox.mitre.org/objects#LinuxPackageObject-2")
public class LinuxPackage extends ObjectPropertiesType implements Equals,
HashCode, ToString {
@XmlElement(name = "Architecture")
protected ControlledVocabularyStringType architecture;
@XmlElement(name = "Category")
protected StringObjectPropertyType category;
@XmlElement(name = "Description")
protected StringObjectPropertyType description;
@XmlElement(name = "Epoch")
protected StringObjectPropertyType epoch;
@XmlElement(name = "EVR")
protected StringObjectPropertyType evr;
@XmlElement(name = "Name")
protected StringObjectPropertyType name;
@XmlElement(name = "Release")
protected StringObjectPropertyType release;
@XmlElement(name = "Vendor")
protected StringObjectPropertyType vendor;
@XmlElement(name = "Version")
protected StringObjectPropertyType version;
/**
* Default no-arg constructor
*
*/
public LinuxPackage() {
super();
}
/**
* Fully-initialising value constructor
*
*/
public LinuxPackage(final CustomPropertiesType customProperties,
final QName objectReference,
final ControlledVocabularyStringType architecture,
final StringObjectPropertyType category,
final StringObjectPropertyType description,
final StringObjectPropertyType epoch,
final StringObjectPropertyType evr,
final StringObjectPropertyType name,
final StringObjectPropertyType release,
final StringObjectPropertyType vendor,
final StringObjectPropertyType version) {
super(customProperties, objectReference);
this.architecture = architecture;
this.category = category;
this.description = description;
this.epoch = epoch;
this.evr = evr;
this.name = name;
this.release = release;
this.vendor = vendor;
this.version = version;
}
/**
* Gets the value of the architecture property.
*
* @return
* possible object is
* {@link ControlledVocabularyStringType }
*
*/
public ControlledVocabularyStringType getArchitecture() {
return architecture;
}
/**
* Sets the value of the architecture property.
*
* @param value
* allowed object is
* {@link ControlledVocabularyStringType }
*
*/
public void setArchitecture(ControlledVocabularyStringType value) {
this.architecture = value;
}
/**
* Gets the value of the category property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getCategory() {
return category;
}
/**
* Sets the value of the category property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setCategory(StringObjectPropertyType value) {
this.category = value;
}
/**
* Gets the value of the description property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getDescription() {
return description;
}
/**
* Sets the value of the description property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setDescription(StringObjectPropertyType value) {
this.description = value;
}
/**
* Gets the value of the epoch property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getEpoch() {
return epoch;
}
/**
* Sets the value of the epoch property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setEpoch(StringObjectPropertyType value) {
this.epoch = value;
}
/**
* Gets the value of the evr property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getEVR() {
return evr;
}
/**
* Sets the value of the evr property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setEVR(StringObjectPropertyType value) {
this.evr = value;
}
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setName(StringObjectPropertyType value) {
this.name = value;
}
/**
* Gets the value of the release property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getRelease() {
return release;
}
/**
* Sets the value of the release property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setRelease(StringObjectPropertyType value) {
this.release = value;
}
/**
* Gets the value of the vendor property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getVendor() {
return vendor;
}
/**
* Sets the value of the vendor property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setVendor(StringObjectPropertyType value) {
this.vendor = value;
}
/**
* Gets the value of the version property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getVersion() {
return version;
}
/**
* Sets the value of the version property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setVersion(StringObjectPropertyType value) {
this.version = value;
}
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator,
Object object, EqualsStrategy strategy) {
if (!(object instanceof LinuxPackage)) {
return false;
}
if (this == object) {
return true;
}
if (!super.equals(thisLocator, thatLocator, object, strategy)) {
return false;
}
final LinuxPackage that = ((LinuxPackage) object);
{
ControlledVocabularyStringType lhsArchitecture;
lhsArchitecture = this.getArchitecture();
ControlledVocabularyStringType rhsArchitecture;
rhsArchitecture = that.getArchitecture();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"architecture", lhsArchitecture), LocatorUtils.property(
thatLocator, "architecture", rhsArchitecture),
lhsArchitecture, rhsArchitecture)) {
return false;
}
}
{
StringObjectPropertyType lhsCategory;
lhsCategory = this.getCategory();
StringObjectPropertyType rhsCategory;
rhsCategory = that.getCategory();
if (!strategy
.equals(LocatorUtils.property(thisLocator, "category",
lhsCategory), LocatorUtils.property(thatLocator,
"category", rhsCategory), lhsCategory, rhsCategory)) {
return false;
}
}
{
StringObjectPropertyType lhsDescription;
lhsDescription = this.getDescription();
StringObjectPropertyType rhsDescription;
rhsDescription = that.getDescription();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"description", lhsDescription), LocatorUtils.property(
thatLocator, "description", rhsDescription),
lhsDescription, rhsDescription)) {
return false;
}
}
{
StringObjectPropertyType lhsEpoch;
lhsEpoch = this.getEpoch();
StringObjectPropertyType rhsEpoch;
rhsEpoch = that.getEpoch();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "epoch", lhsEpoch),
LocatorUtils.property(thatLocator, "epoch", rhsEpoch),
lhsEpoch, rhsEpoch)) {
return false;
}
}
{
StringObjectPropertyType lhsEVR;
lhsEVR = this.getEVR();
StringObjectPropertyType rhsEVR;
rhsEVR = that.getEVR();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "evr", lhsEVR),
LocatorUtils.property(thatLocator, "evr", rhsEVR), lhsEVR,
rhsEVR)) {
return false;
}
}
{
StringObjectPropertyType lhsName;
lhsName = this.getName();
StringObjectPropertyType rhsName;
rhsName = that.getName();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "name", lhsName),
LocatorUtils.property(thatLocator, "name", rhsName),
lhsName, rhsName)) {
return false;
}
}
{
StringObjectPropertyType lhsRelease;
lhsRelease = this.getRelease();
StringObjectPropertyType rhsRelease;
rhsRelease = that.getRelease();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "release", lhsRelease),
LocatorUtils.property(thatLocator, "release", rhsRelease),
lhsRelease, rhsRelease)) {
return false;
}
}
{
StringObjectPropertyType lhsVendor;
lhsVendor = this.getVendor();
StringObjectPropertyType rhsVendor;
rhsVendor = that.getVendor();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "vendor", lhsVendor),
LocatorUtils.property(thatLocator, "vendor", rhsVendor),
lhsVendor, rhsVendor)) {
return false;
}
}
{
StringObjectPropertyType lhsVersion;
lhsVersion = this.getVersion();
StringObjectPropertyType rhsVersion;
rhsVersion = that.getVersion();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "version", lhsVersion),
LocatorUtils.property(thatLocator, "version", rhsVersion),
lhsVersion, rhsVersion)) {
return false;
}
}
return true;
}
public boolean equals(Object object) {
final EqualsStrategy strategy = JAXBEqualsStrategy.INSTANCE;
return equals(null, null, object, strategy);
}
public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
int currentHashCode = super.hashCode(locator, strategy);
{
ControlledVocabularyStringType theArchitecture;
theArchitecture = this.getArchitecture();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"architecture", theArchitecture), currentHashCode,
theArchitecture);
}
{
StringObjectPropertyType theCategory;
theCategory = this.getCategory();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "category", theCategory),
currentHashCode, theCategory);
}
{
StringObjectPropertyType theDescription;
theDescription = this.getDescription();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"description", theDescription), currentHashCode,
theDescription);
}
{
StringObjectPropertyType theEpoch;
theEpoch = this.getEpoch();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "epoch", theEpoch),
currentHashCode, theEpoch);
}
{
StringObjectPropertyType theEVR;
theEVR = this.getEVR();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "evr", theEVR),
currentHashCode, theEVR);
}
{
StringObjectPropertyType theName;
theName = this.getName();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "name", theName),
currentHashCode, theName);
}
{
StringObjectPropertyType theRelease;
theRelease = this.getRelease();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "release", theRelease),
currentHashCode, theRelease);
}
{
StringObjectPropertyType theVendor;
theVendor = this.getVendor();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "vendor", theVendor),
currentHashCode, theVendor);
}
{
StringObjectPropertyType theVersion;
theVersion = this.getVersion();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "version", theVersion),
currentHashCode, theVersion);
}
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
public LinuxPackage withArchitecture(ControlledVocabularyStringType value) {
setArchitecture(value);
return this;
}
public LinuxPackage withCategory(StringObjectPropertyType value) {
setCategory(value);
return this;
}
public LinuxPackage withDescription(StringObjectPropertyType value) {
setDescription(value);
return this;
}
public LinuxPackage withEpoch(StringObjectPropertyType value) {
setEpoch(value);
return this;
}
public LinuxPackage withEVR(StringObjectPropertyType value) {
setEVR(value);
return this;
}
public LinuxPackage withName(StringObjectPropertyType value) {
setName(value);
return this;
}
public LinuxPackage withRelease(StringObjectPropertyType value) {
setRelease(value);
return this;
}
public LinuxPackage withVendor(StringObjectPropertyType value) {
setVendor(value);
return this;
}
public LinuxPackage withVersion(StringObjectPropertyType value) {
setVersion(value);
return this;
}
@Override
public LinuxPackage withCustomProperties(CustomPropertiesType value) {
setCustomProperties(value);
return this;
}
@Override
public LinuxPackage withObjectReference(QName value) {
setObjectReference(value);
return this;
}
public String toString() {
final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
final StringBuilder buffer = new StringBuilder();
append(null, buffer, strategy);
return buffer.toString();
}
public StringBuilder append(ObjectLocator locator, StringBuilder buffer,
ToStringStrategy strategy) {
strategy.appendStart(locator, this, buffer);
appendFields(locator, buffer, strategy);
strategy.appendEnd(locator, this, buffer);
return buffer;
}
public StringBuilder appendFields(ObjectLocator locator,
StringBuilder buffer, ToStringStrategy strategy) {
super.appendFields(locator, buffer, strategy);
{
ControlledVocabularyStringType theArchitecture;
theArchitecture = this.getArchitecture();
strategy.appendField(locator, this, "architecture", buffer,
theArchitecture);
}
{
StringObjectPropertyType theCategory;
theCategory = this.getCategory();
strategy.appendField(locator, this, "category", buffer, theCategory);
}
{
StringObjectPropertyType theDescription;
theDescription = this.getDescription();
strategy.appendField(locator, this, "description", buffer,
theDescription);
}
{
StringObjectPropertyType theEpoch;
theEpoch = this.getEpoch();
strategy.appendField(locator, this, "epoch", buffer, theEpoch);
}
{
StringObjectPropertyType theEVR;
theEVR = this.getEVR();
strategy.appendField(locator, this, "evr", buffer, theEVR);
}
{
StringObjectPropertyType theName;
theName = this.getName();
strategy.appendField(locator, this, "name", buffer, theName);
}
{
StringObjectPropertyType theRelease;
theRelease = this.getRelease();
strategy.appendField(locator, this, "release", buffer, theRelease);
}
{
StringObjectPropertyType theVendor;
theVendor = this.getVendor();
strategy.appendField(locator, this, "vendor", buffer, theVendor);
}
{
StringObjectPropertyType theVersion;
theVersion = this.getVersion();
strategy.appendField(locator, this, "version", buffer, theVersion);
}
return buffer;
}
/**
* Returns A Document representation of this instance that is not formatted.
*
* @return The Document representation for this instance.
*/
public org.w3c.dom.Document toDocument() {
return toDocument(false);
}
/**
* Returns A Document representation for this instance.
*
* @param prettyPrint
* True for pretty print, otherwise false
*
* @return The Document representation for this instance.
*/
public org.w3c.dom.Document toDocument(boolean prettyPrint) {
return DocumentUtilities.toDocument(toJAXBElement(), prettyPrint);
}
/**
* Returns JAXBElement for this instance.
*
* @return The JAXBElement for this instance.
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public JAXBElement> toJAXBElement() {
QName qualifiedName = STIXSchema.getQualifiedName(this);
return new JAXBElement(qualifiedName, LinuxPackage.class, this);
}
/**
* Returns String representation of this instance that is not formatted.
*
* @return The String containing the XML mark-up.
*/
public String toXMLString() {
return toXMLString(false);
}
/**
* Returns XML String for JAXB Document Object Model object.
*
* @param prettyPrint
* True for pretty print, otherwise false
*
* @return The String containing the XML mark-up.
*/
public String toXMLString(boolean prettyPrint) {
return DocumentUtilities.toXMLString(toDocument(), prettyPrint);
}
/**
* Creates LinuxPackage instance for XML String
*
* @param text
* XML String for the document
* @return The LinuxPackage instance for the passed XML String
*/
public static LinuxPackage fromXMLString(String text) {
JAXBContext jaxbContext;
try {
jaxbContext = JAXBContext.newInstance(LinuxPackage.class
.getPackage().getName());
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setSchema(STIXSchema.getInstance().getSchema());
unmarshaller.setEventHandler(new ValidationEventHandler());
StreamSource streamSource = new StreamSource(new StringReader(text));
return (LinuxPackage) unmarshaller.unmarshal(streamSource);
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
/**
* Validates the XML representation of this LinuxPackage instance
* Returning true indicating a successful validation, false if not.
*
* @return boolean True If it validates against the schema
* @throws SAXException
* If the a validation ErrorHandler has not been set, and
* validation throws a SAXException
*/
public boolean validate() throws SAXException {
return STIXSchema.getInstance().validate(toXMLString());
}
}