org.mitre.cybox.objects.WindowsRegistryKey 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.06.23 at 10:59:44 AM 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.ByteRunsType;
import org.mitre.cybox.common_2.CustomPropertiesType;
import org.mitre.cybox.common_2.DateTimeObjectPropertyType;
import org.mitre.cybox.common_2.ObjectPropertiesType;
import org.mitre.cybox.common_2.StringObjectPropertyType;
import org.mitre.cybox.common_2.UnsignedIntegerObjectPropertyType;
import org.mitre.stix.DocumentUtilities;
import org.mitre.stix.STIXSchema;
import org.mitre.stix.ValidationEventHandler;
/**
* The WindowsRegistryObjectType type is intended to characterize Windows registry objects, including Keys and Key/Value pairs.
*
* Java class for WindowsRegistryKeyObjectType complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="WindowsRegistryKeyObjectType">
* <complexContent>
* <extension base="{http://cybox.mitre.org/common-2}ObjectPropertiesType">
* <sequence>
* <element name="Key" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Hive" type="{http://cybox.mitre.org/objects#WinRegistryKeyObject-2}RegistryHiveType" minOccurs="0"/>
* <element name="Number_Values" type="{http://cybox.mitre.org/common-2}UnsignedIntegerObjectPropertyType" minOccurs="0"/>
* <element name="Values" type="{http://cybox.mitre.org/objects#WinRegistryKeyObject-2}RegistryValuesType" minOccurs="0"/>
* <element name="Modified_Time" type="{http://cybox.mitre.org/common-2}DateTimeObjectPropertyType" minOccurs="0"/>
* <element name="Creator_Username" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Handle_List" type="{http://cybox.mitre.org/objects#WinHandleObject-2}WindowsHandleListType" minOccurs="0"/>
* <element name="Number_Subkeys" type="{http://cybox.mitre.org/common-2}UnsignedIntegerObjectPropertyType" minOccurs="0"/>
* <element name="Subkeys" type="{http://cybox.mitre.org/objects#WinRegistryKeyObject-2}RegistrySubkeysType" minOccurs="0"/>
* <element name="Byte_Runs" type="{http://cybox.mitre.org/common-2}ByteRunsType" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "WindowsRegistryKeyObjectType", namespace = "http://cybox.mitre.org/objects#WinRegistryKeyObject-2", propOrder = {
"key", "hive", "numberValues", "values", "modifiedTime",
"creatorUsername", "handleList", "numberSubkeys", "subkeys", "byteRuns" })
@XmlRootElement(name = "Windows_Registry_Key", namespace = "http://cybox.mitre.org/objects#WinRegistryKeyObject-2")
public class WindowsRegistryKey extends ObjectPropertiesType implements Equals,
HashCode, ToString {
@XmlElement(name = "Key")
protected StringObjectPropertyType key;
@XmlElement(name = "Hive")
protected RegistryHiveType hive;
@XmlElement(name = "Number_Values")
protected UnsignedIntegerObjectPropertyType numberValues;
@XmlElement(name = "Values")
protected RegistryValuesType values;
@XmlElement(name = "Modified_Time")
protected DateTimeObjectPropertyType modifiedTime;
@XmlElement(name = "Creator_Username")
protected StringObjectPropertyType creatorUsername;
@XmlElement(name = "Handle_List")
protected WindowsHandleListType handleList;
@XmlElement(name = "Number_Subkeys")
protected UnsignedIntegerObjectPropertyType numberSubkeys;
@XmlElement(name = "Subkeys")
protected RegistrySubkeysType subkeys;
@XmlElement(name = "Byte_Runs")
protected ByteRunsType byteRuns;
/**
* Default no-arg constructor
*
*/
public WindowsRegistryKey() {
super();
}
/**
* Fully-initialising value constructor
*
*/
public WindowsRegistryKey(final CustomPropertiesType customProperties,
final QName objectReference, final StringObjectPropertyType key,
final RegistryHiveType hive,
final UnsignedIntegerObjectPropertyType numberValues,
final RegistryValuesType values,
final DateTimeObjectPropertyType modifiedTime,
final StringObjectPropertyType creatorUsername,
final WindowsHandleListType handleList,
final UnsignedIntegerObjectPropertyType numberSubkeys,
final RegistrySubkeysType subkeys, final ByteRunsType byteRuns) {
super(customProperties, objectReference);
this.key = key;
this.hive = hive;
this.numberValues = numberValues;
this.values = values;
this.modifiedTime = modifiedTime;
this.creatorUsername = creatorUsername;
this.handleList = handleList;
this.numberSubkeys = numberSubkeys;
this.subkeys = subkeys;
this.byteRuns = byteRuns;
}
/**
* Gets the value of the key property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getKey() {
return key;
}
/**
* Sets the value of the key property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setKey(StringObjectPropertyType value) {
this.key = value;
}
/**
* Gets the value of the hive property.
*
* @return
* possible object is
* {@link RegistryHiveType }
*
*/
public RegistryHiveType getHive() {
return hive;
}
/**
* Sets the value of the hive property.
*
* @param value
* allowed object is
* {@link RegistryHiveType }
*
*/
public void setHive(RegistryHiveType value) {
this.hive = value;
}
/**
* Gets the value of the numberValues property.
*
* @return
* possible object is
* {@link UnsignedIntegerObjectPropertyType }
*
*/
public UnsignedIntegerObjectPropertyType getNumberValues() {
return numberValues;
}
/**
* Sets the value of the numberValues property.
*
* @param value
* allowed object is
* {@link UnsignedIntegerObjectPropertyType }
*
*/
public void setNumberValues(UnsignedIntegerObjectPropertyType value) {
this.numberValues = value;
}
/**
* Gets the value of the values property.
*
* @return
* possible object is
* {@link RegistryValuesType }
*
*/
public RegistryValuesType getValues() {
return values;
}
/**
* Sets the value of the values property.
*
* @param value
* allowed object is
* {@link RegistryValuesType }
*
*/
public void setValues(RegistryValuesType value) {
this.values = value;
}
/**
* Gets the value of the modifiedTime property.
*
* @return
* possible object is
* {@link DateTimeObjectPropertyType }
*
*/
public DateTimeObjectPropertyType getModifiedTime() {
return modifiedTime;
}
/**
* Sets the value of the modifiedTime property.
*
* @param value
* allowed object is
* {@link DateTimeObjectPropertyType }
*
*/
public void setModifiedTime(DateTimeObjectPropertyType value) {
this.modifiedTime = value;
}
/**
* Gets the value of the creatorUsername property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getCreatorUsername() {
return creatorUsername;
}
/**
* Sets the value of the creatorUsername property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setCreatorUsername(StringObjectPropertyType value) {
this.creatorUsername = value;
}
/**
* Gets the value of the handleList property.
*
* @return
* possible object is
* {@link WindowsHandleListType }
*
*/
public WindowsHandleListType getHandleList() {
return handleList;
}
/**
* Sets the value of the handleList property.
*
* @param value
* allowed object is
* {@link WindowsHandleListType }
*
*/
public void setHandleList(WindowsHandleListType value) {
this.handleList = value;
}
/**
* Gets the value of the numberSubkeys property.
*
* @return
* possible object is
* {@link UnsignedIntegerObjectPropertyType }
*
*/
public UnsignedIntegerObjectPropertyType getNumberSubkeys() {
return numberSubkeys;
}
/**
* Sets the value of the numberSubkeys property.
*
* @param value
* allowed object is
* {@link UnsignedIntegerObjectPropertyType }
*
*/
public void setNumberSubkeys(UnsignedIntegerObjectPropertyType value) {
this.numberSubkeys = value;
}
/**
* Gets the value of the subkeys property.
*
* @return
* possible object is
* {@link RegistrySubkeysType }
*
*/
public RegistrySubkeysType getSubkeys() {
return subkeys;
}
/**
* Sets the value of the subkeys property.
*
* @param value
* allowed object is
* {@link RegistrySubkeysType }
*
*/
public void setSubkeys(RegistrySubkeysType value) {
this.subkeys = value;
}
/**
* Gets the value of the byteRuns property.
*
* @return
* possible object is
* {@link ByteRunsType }
*
*/
public ByteRunsType getByteRuns() {
return byteRuns;
}
/**
* Sets the value of the byteRuns property.
*
* @param value
* allowed object is
* {@link ByteRunsType }
*
*/
public void setByteRuns(ByteRunsType value) {
this.byteRuns = value;
}
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator,
Object object, EqualsStrategy strategy) {
if (!(object instanceof WindowsRegistryKey)) {
return false;
}
if (this == object) {
return true;
}
if (!super.equals(thisLocator, thatLocator, object, strategy)) {
return false;
}
final WindowsRegistryKey that = ((WindowsRegistryKey) object);
{
StringObjectPropertyType lhsKey;
lhsKey = this.getKey();
StringObjectPropertyType rhsKey;
rhsKey = that.getKey();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "key", lhsKey),
LocatorUtils.property(thatLocator, "key", rhsKey), lhsKey,
rhsKey)) {
return false;
}
}
{
RegistryHiveType lhsHive;
lhsHive = this.getHive();
RegistryHiveType rhsHive;
rhsHive = that.getHive();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "hive", lhsHive),
LocatorUtils.property(thatLocator, "hive", rhsHive),
lhsHive, rhsHive)) {
return false;
}
}
{
UnsignedIntegerObjectPropertyType lhsNumberValues;
lhsNumberValues = this.getNumberValues();
UnsignedIntegerObjectPropertyType rhsNumberValues;
rhsNumberValues = that.getNumberValues();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"numberValues", lhsNumberValues), LocatorUtils.property(
thatLocator, "numberValues", rhsNumberValues),
lhsNumberValues, rhsNumberValues)) {
return false;
}
}
{
RegistryValuesType lhsValues;
lhsValues = this.getValues();
RegistryValuesType rhsValues;
rhsValues = that.getValues();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "values", lhsValues),
LocatorUtils.property(thatLocator, "values", rhsValues),
lhsValues, rhsValues)) {
return false;
}
}
{
DateTimeObjectPropertyType lhsModifiedTime;
lhsModifiedTime = this.getModifiedTime();
DateTimeObjectPropertyType rhsModifiedTime;
rhsModifiedTime = that.getModifiedTime();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"modifiedTime", lhsModifiedTime), LocatorUtils.property(
thatLocator, "modifiedTime", rhsModifiedTime),
lhsModifiedTime, rhsModifiedTime)) {
return false;
}
}
{
StringObjectPropertyType lhsCreatorUsername;
lhsCreatorUsername = this.getCreatorUsername();
StringObjectPropertyType rhsCreatorUsername;
rhsCreatorUsername = that.getCreatorUsername();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"creatorUsername", lhsCreatorUsername), LocatorUtils
.property(thatLocator, "creatorUsername",
rhsCreatorUsername), lhsCreatorUsername,
rhsCreatorUsername)) {
return false;
}
}
{
WindowsHandleListType lhsHandleList;
lhsHandleList = this.getHandleList();
WindowsHandleListType rhsHandleList;
rhsHandleList = that.getHandleList();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"handleList", lhsHandleList), LocatorUtils.property(
thatLocator, "handleList", rhsHandleList), lhsHandleList,
rhsHandleList)) {
return false;
}
}
{
UnsignedIntegerObjectPropertyType lhsNumberSubkeys;
lhsNumberSubkeys = this.getNumberSubkeys();
UnsignedIntegerObjectPropertyType rhsNumberSubkeys;
rhsNumberSubkeys = that.getNumberSubkeys();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"numberSubkeys", lhsNumberSubkeys), LocatorUtils.property(
thatLocator, "numberSubkeys", rhsNumberSubkeys),
lhsNumberSubkeys, rhsNumberSubkeys)) {
return false;
}
}
{
RegistrySubkeysType lhsSubkeys;
lhsSubkeys = this.getSubkeys();
RegistrySubkeysType rhsSubkeys;
rhsSubkeys = that.getSubkeys();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "subkeys", lhsSubkeys),
LocatorUtils.property(thatLocator, "subkeys", rhsSubkeys),
lhsSubkeys, rhsSubkeys)) {
return false;
}
}
{
ByteRunsType lhsByteRuns;
lhsByteRuns = this.getByteRuns();
ByteRunsType rhsByteRuns;
rhsByteRuns = that.getByteRuns();
if (!strategy
.equals(LocatorUtils.property(thisLocator, "byteRuns",
lhsByteRuns), LocatorUtils.property(thatLocator,
"byteRuns", rhsByteRuns), lhsByteRuns, rhsByteRuns)) {
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);
{
StringObjectPropertyType theKey;
theKey = this.getKey();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "key", theKey),
currentHashCode, theKey);
}
{
RegistryHiveType theHive;
theHive = this.getHive();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "hive", theHive),
currentHashCode, theHive);
}
{
UnsignedIntegerObjectPropertyType theNumberValues;
theNumberValues = this.getNumberValues();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"numberValues", theNumberValues), currentHashCode,
theNumberValues);
}
{
RegistryValuesType theValues;
theValues = this.getValues();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "values", theValues),
currentHashCode, theValues);
}
{
DateTimeObjectPropertyType theModifiedTime;
theModifiedTime = this.getModifiedTime();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"modifiedTime", theModifiedTime), currentHashCode,
theModifiedTime);
}
{
StringObjectPropertyType theCreatorUsername;
theCreatorUsername = this.getCreatorUsername();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"creatorUsername", theCreatorUsername), currentHashCode,
theCreatorUsername);
}
{
WindowsHandleListType theHandleList;
theHandleList = this.getHandleList();
currentHashCode = strategy
.hashCode(LocatorUtils.property(locator, "handleList",
theHandleList), currentHashCode, theHandleList);
}
{
UnsignedIntegerObjectPropertyType theNumberSubkeys;
theNumberSubkeys = this.getNumberSubkeys();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"numberSubkeys", theNumberSubkeys), currentHashCode,
theNumberSubkeys);
}
{
RegistrySubkeysType theSubkeys;
theSubkeys = this.getSubkeys();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "subkeys", theSubkeys),
currentHashCode, theSubkeys);
}
{
ByteRunsType theByteRuns;
theByteRuns = this.getByteRuns();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "byteRuns", theByteRuns),
currentHashCode, theByteRuns);
}
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
public WindowsRegistryKey withKey(StringObjectPropertyType value) {
setKey(value);
return this;
}
public WindowsRegistryKey withHive(RegistryHiveType value) {
setHive(value);
return this;
}
public WindowsRegistryKey withNumberValues(
UnsignedIntegerObjectPropertyType value) {
setNumberValues(value);
return this;
}
public WindowsRegistryKey withValues(RegistryValuesType value) {
setValues(value);
return this;
}
public WindowsRegistryKey withModifiedTime(DateTimeObjectPropertyType value) {
setModifiedTime(value);
return this;
}
public WindowsRegistryKey withCreatorUsername(StringObjectPropertyType value) {
setCreatorUsername(value);
return this;
}
public WindowsRegistryKey withHandleList(WindowsHandleListType value) {
setHandleList(value);
return this;
}
public WindowsRegistryKey withNumberSubkeys(
UnsignedIntegerObjectPropertyType value) {
setNumberSubkeys(value);
return this;
}
public WindowsRegistryKey withSubkeys(RegistrySubkeysType value) {
setSubkeys(value);
return this;
}
public WindowsRegistryKey withByteRuns(ByteRunsType value) {
setByteRuns(value);
return this;
}
@Override
public WindowsRegistryKey withCustomProperties(CustomPropertiesType value) {
setCustomProperties(value);
return this;
}
@Override
public WindowsRegistryKey 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);
{
StringObjectPropertyType theKey;
theKey = this.getKey();
strategy.appendField(locator, this, "key", buffer, theKey);
}
{
RegistryHiveType theHive;
theHive = this.getHive();
strategy.appendField(locator, this, "hive", buffer, theHive);
}
{
UnsignedIntegerObjectPropertyType theNumberValues;
theNumberValues = this.getNumberValues();
strategy.appendField(locator, this, "numberValues", buffer,
theNumberValues);
}
{
RegistryValuesType theValues;
theValues = this.getValues();
strategy.appendField(locator, this, "values", buffer, theValues);
}
{
DateTimeObjectPropertyType theModifiedTime;
theModifiedTime = this.getModifiedTime();
strategy.appendField(locator, this, "modifiedTime", buffer,
theModifiedTime);
}
{
StringObjectPropertyType theCreatorUsername;
theCreatorUsername = this.getCreatorUsername();
strategy.appendField(locator, this, "creatorUsername", buffer,
theCreatorUsername);
}
{
WindowsHandleListType theHandleList;
theHandleList = this.getHandleList();
strategy.appendField(locator, this, "handleList", buffer,
theHandleList);
}
{
UnsignedIntegerObjectPropertyType theNumberSubkeys;
theNumberSubkeys = this.getNumberSubkeys();
strategy.appendField(locator, this, "numberSubkeys", buffer,
theNumberSubkeys);
}
{
RegistrySubkeysType theSubkeys;
theSubkeys = this.getSubkeys();
strategy.appendField(locator, this, "subkeys", buffer, theSubkeys);
}
{
ByteRunsType theByteRuns;
theByteRuns = this.getByteRuns();
strategy.appendField(locator, this, "byteRuns", buffer, theByteRuns);
}
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, WindowsRegistryKey.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 WindowsRegistryKey instance for XML String
*
* @param text
* XML String for the document
* @return The WindowsRegistryKey instance for the passed XML String
*/
public static WindowsRegistryKey fromXMLString(String text) {
JAXBContext jaxbContext;
try {
jaxbContext = JAXBContext.newInstance(WindowsRegistryKey.class
.getPackage().getName());
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setSchema(STIXSchema.getInstance().getSchema());
unmarshaller.setEventHandler(new ValidationEventHandler());
StreamSource streamSource = new StreamSource(new StringReader(text));
return (WindowsRegistryKey) unmarshaller.unmarshal(streamSource);
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
/**
* Validates the XML representation of this WindowsRegistryKey instance
* Returning true indicating a successful validation, false if not.
*
* @return boolean
*/
public boolean validate() {
return STIXSchema.getInstance().validate(toXMLString());
}
}