org.mitre.cybox.objects.WindowsMemoryPageRegion 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.CustomPropertiesType;
import org.mitre.cybox.common_2.ExtractedFeaturesType;
import org.mitre.cybox.common_2.HashListType;
import org.mitre.cybox.common_2.HexBinaryObjectPropertyType;
import org.mitre.cybox.common_2.StringObjectPropertyType;
import org.mitre.cybox.common_2.UnsignedLongObjectPropertyType;
import org.mitre.stix.DocumentUtilities;
import org.mitre.stix.STIXSchema;
import org.mitre.stix.ValidationEventHandler;
/**
* The WindowsMemoryPageRegionObjectType type is intended to characterize Windows memory page regions.
*
* Java class for WindowsMemoryPageRegionObjectType complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="WindowsMemoryPageRegionObjectType">
* <complexContent>
* <extension base="{http://cybox.mitre.org/objects#MemoryObject-2}MemoryObjectType">
* <sequence>
* <element name="Type" type="{http://cybox.mitre.org/objects#WinMemoryPageRegionObject-2}MemoryPageTypeType" minOccurs="0"/>
* <element name="Allocation_Base_Address" type="{http://cybox.mitre.org/common-2}HexBinaryObjectPropertyType" minOccurs="0"/>
* <element name="Allocation_Protect" type="{http://cybox.mitre.org/objects#WinMemoryPageRegionObject-2}MemoryPageProtectionType" minOccurs="0"/>
* <element name="State" type="{http://cybox.mitre.org/objects#WinMemoryPageRegionObject-2}MemoryPageStateType" minOccurs="0"/>
* <element name="Protect" type="{http://cybox.mitre.org/objects#WinMemoryPageRegionObject-2}MemoryPageProtectionType" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "WindowsMemoryPageRegionObjectType", namespace = "http://cybox.mitre.org/objects#WinMemoryPageRegionObject-2", propOrder = {
"type", "allocationBaseAddress", "allocationProtect", "state",
"protect" })
@XmlRootElement(name = "Windows_Memory_Page_Region", namespace = "http://cybox.mitre.org/objects#WinMemoryPageRegionObject-2")
public class WindowsMemoryPageRegion extends MemoryObjectType implements
Equals, HashCode, ToString {
@XmlElement(name = "Type")
protected MemoryPageTypeType type;
@XmlElement(name = "Allocation_Base_Address")
protected HexBinaryObjectPropertyType allocationBaseAddress;
@XmlElement(name = "Allocation_Protect")
protected MemoryPageProtectionType allocationProtect;
@XmlElement(name = "State")
protected MemoryPageStateType state;
@XmlElement(name = "Protect")
protected MemoryPageProtectionType protect;
/**
* Default no-arg constructor
*
*/
public WindowsMemoryPageRegion() {
super();
}
/**
* Fully-initialising value constructor
*
*/
public WindowsMemoryPageRegion(final CustomPropertiesType customProperties,
final QName objectReference, final HashListType hashes,
final StringObjectPropertyType name,
final StringObjectPropertyType memorySource,
final UnsignedLongObjectPropertyType regionSize,
final BlockType blockType,
final HexBinaryObjectPropertyType regionStartAddress,
final HexBinaryObjectPropertyType regionEndAddress,
final ExtractedFeaturesType extractedFeatures,
final Boolean isInjected, final Boolean isMapped,
final Boolean isProtected, final Boolean isVolatile,
final MemoryPageTypeType type,
final HexBinaryObjectPropertyType allocationBaseAddress,
final MemoryPageProtectionType allocationProtect,
final MemoryPageStateType state,
final MemoryPageProtectionType protect) {
super(customProperties, objectReference, hashes, name, memorySource,
regionSize, blockType, regionStartAddress, regionEndAddress,
extractedFeatures, isInjected, isMapped, isProtected,
isVolatile);
this.type = type;
this.allocationBaseAddress = allocationBaseAddress;
this.allocationProtect = allocationProtect;
this.state = state;
this.protect = protect;
}
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link MemoryPageTypeType }
*
*/
public MemoryPageTypeType getType() {
return type;
}
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link MemoryPageTypeType }
*
*/
public void setType(MemoryPageTypeType value) {
this.type = value;
}
/**
* Gets the value of the allocationBaseAddress property.
*
* @return
* possible object is
* {@link HexBinaryObjectPropertyType }
*
*/
public HexBinaryObjectPropertyType getAllocationBaseAddress() {
return allocationBaseAddress;
}
/**
* Sets the value of the allocationBaseAddress property.
*
* @param value
* allowed object is
* {@link HexBinaryObjectPropertyType }
*
*/
public void setAllocationBaseAddress(HexBinaryObjectPropertyType value) {
this.allocationBaseAddress = value;
}
/**
* Gets the value of the allocationProtect property.
*
* @return
* possible object is
* {@link MemoryPageProtectionType }
*
*/
public MemoryPageProtectionType getAllocationProtect() {
return allocationProtect;
}
/**
* Sets the value of the allocationProtect property.
*
* @param value
* allowed object is
* {@link MemoryPageProtectionType }
*
*/
public void setAllocationProtect(MemoryPageProtectionType value) {
this.allocationProtect = value;
}
/**
* Gets the value of the state property.
*
* @return
* possible object is
* {@link MemoryPageStateType }
*
*/
public MemoryPageStateType getState() {
return state;
}
/**
* Sets the value of the state property.
*
* @param value
* allowed object is
* {@link MemoryPageStateType }
*
*/
public void setState(MemoryPageStateType value) {
this.state = value;
}
/**
* Gets the value of the protect property.
*
* @return
* possible object is
* {@link MemoryPageProtectionType }
*
*/
public MemoryPageProtectionType getProtect() {
return protect;
}
/**
* Sets the value of the protect property.
*
* @param value
* allowed object is
* {@link MemoryPageProtectionType }
*
*/
public void setProtect(MemoryPageProtectionType value) {
this.protect = value;
}
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator,
Object object, EqualsStrategy strategy) {
if (!(object instanceof WindowsMemoryPageRegion)) {
return false;
}
if (this == object) {
return true;
}
if (!super.equals(thisLocator, thatLocator, object, strategy)) {
return false;
}
final WindowsMemoryPageRegion that = ((WindowsMemoryPageRegion) object);
{
MemoryPageTypeType lhsType;
lhsType = this.getType();
MemoryPageTypeType rhsType;
rhsType = that.getType();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "type", lhsType),
LocatorUtils.property(thatLocator, "type", rhsType),
lhsType, rhsType)) {
return false;
}
}
{
HexBinaryObjectPropertyType lhsAllocationBaseAddress;
lhsAllocationBaseAddress = this.getAllocationBaseAddress();
HexBinaryObjectPropertyType rhsAllocationBaseAddress;
rhsAllocationBaseAddress = that.getAllocationBaseAddress();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"allocationBaseAddress", lhsAllocationBaseAddress),
LocatorUtils.property(thatLocator, "allocationBaseAddress",
rhsAllocationBaseAddress),
lhsAllocationBaseAddress, rhsAllocationBaseAddress)) {
return false;
}
}
{
MemoryPageProtectionType lhsAllocationProtect;
lhsAllocationProtect = this.getAllocationProtect();
MemoryPageProtectionType rhsAllocationProtect;
rhsAllocationProtect = that.getAllocationProtect();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"allocationProtect", lhsAllocationProtect), LocatorUtils
.property(thatLocator, "allocationProtect",
rhsAllocationProtect), lhsAllocationProtect,
rhsAllocationProtect)) {
return false;
}
}
{
MemoryPageStateType lhsState;
lhsState = this.getState();
MemoryPageStateType rhsState;
rhsState = that.getState();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "state", lhsState),
LocatorUtils.property(thatLocator, "state", rhsState),
lhsState, rhsState)) {
return false;
}
}
{
MemoryPageProtectionType lhsProtect;
lhsProtect = this.getProtect();
MemoryPageProtectionType rhsProtect;
rhsProtect = that.getProtect();
if (!strategy.equals(
LocatorUtils.property(thisLocator, "protect", lhsProtect),
LocatorUtils.property(thatLocator, "protect", rhsProtect),
lhsProtect, rhsProtect)) {
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);
{
MemoryPageTypeType theType;
theType = this.getType();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "type", theType),
currentHashCode, theType);
}
{
HexBinaryObjectPropertyType theAllocationBaseAddress;
theAllocationBaseAddress = this.getAllocationBaseAddress();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"allocationBaseAddress", theAllocationBaseAddress),
currentHashCode, theAllocationBaseAddress);
}
{
MemoryPageProtectionType theAllocationProtect;
theAllocationProtect = this.getAllocationProtect();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"allocationProtect", theAllocationProtect),
currentHashCode, theAllocationProtect);
}
{
MemoryPageStateType theState;
theState = this.getState();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "state", theState),
currentHashCode, theState);
}
{
MemoryPageProtectionType theProtect;
theProtect = this.getProtect();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "protect", theProtect),
currentHashCode, theProtect);
}
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
public WindowsMemoryPageRegion withType(MemoryPageTypeType value) {
setType(value);
return this;
}
public WindowsMemoryPageRegion withAllocationBaseAddress(
HexBinaryObjectPropertyType value) {
setAllocationBaseAddress(value);
return this;
}
public WindowsMemoryPageRegion withAllocationProtect(
MemoryPageProtectionType value) {
setAllocationProtect(value);
return this;
}
public WindowsMemoryPageRegion withState(MemoryPageStateType value) {
setState(value);
return this;
}
public WindowsMemoryPageRegion withProtect(MemoryPageProtectionType value) {
setProtect(value);
return this;
}
@Override
public WindowsMemoryPageRegion withHashes(HashListType value) {
setHashes(value);
return this;
}
@Override
public WindowsMemoryPageRegion withName(StringObjectPropertyType value) {
setName(value);
return this;
}
@Override
public WindowsMemoryPageRegion withMemorySource(
StringObjectPropertyType value) {
setMemorySource(value);
return this;
}
@Override
public WindowsMemoryPageRegion withRegionSize(
UnsignedLongObjectPropertyType value) {
setRegionSize(value);
return this;
}
@Override
public WindowsMemoryPageRegion withBlockType(BlockType value) {
setBlockType(value);
return this;
}
@Override
public WindowsMemoryPageRegion withRegionStartAddress(
HexBinaryObjectPropertyType value) {
setRegionStartAddress(value);
return this;
}
@Override
public WindowsMemoryPageRegion withRegionEndAddress(
HexBinaryObjectPropertyType value) {
setRegionEndAddress(value);
return this;
}
@Override
public WindowsMemoryPageRegion withExtractedFeatures(
ExtractedFeaturesType value) {
setExtractedFeatures(value);
return this;
}
@Override
public WindowsMemoryPageRegion withIsInjected(Boolean value) {
setIsInjected(value);
return this;
}
@Override
public WindowsMemoryPageRegion withIsMapped(Boolean value) {
setIsMapped(value);
return this;
}
@Override
public WindowsMemoryPageRegion withIsProtected(Boolean value) {
setIsProtected(value);
return this;
}
@Override
public WindowsMemoryPageRegion withIsVolatile(Boolean value) {
setIsVolatile(value);
return this;
}
@Override
public WindowsMemoryPageRegion withCustomProperties(
CustomPropertiesType value) {
setCustomProperties(value);
return this;
}
@Override
public WindowsMemoryPageRegion 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);
{
MemoryPageTypeType theType;
theType = this.getType();
strategy.appendField(locator, this, "type", buffer, theType);
}
{
HexBinaryObjectPropertyType theAllocationBaseAddress;
theAllocationBaseAddress = this.getAllocationBaseAddress();
strategy.appendField(locator, this, "allocationBaseAddress",
buffer, theAllocationBaseAddress);
}
{
MemoryPageProtectionType theAllocationProtect;
theAllocationProtect = this.getAllocationProtect();
strategy.appendField(locator, this, "allocationProtect", buffer,
theAllocationProtect);
}
{
MemoryPageStateType theState;
theState = this.getState();
strategy.appendField(locator, this, "state", buffer, theState);
}
{
MemoryPageProtectionType theProtect;
theProtect = this.getProtect();
strategy.appendField(locator, this, "protect", buffer, theProtect);
}
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, WindowsMemoryPageRegion.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 WindowsMemoryPageRegion instance for XML String
*
* @param text
* XML String for the document
* @return The WindowsMemoryPageRegion instance for the passed XML String
*/
public static WindowsMemoryPageRegion fromXMLString(String text) {
JAXBContext jaxbContext;
try {
jaxbContext = JAXBContext.newInstance(WindowsMemoryPageRegion.class
.getPackage().getName());
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setSchema(STIXSchema.getInstance().getSchema());
unmarshaller.setEventHandler(new ValidationEventHandler());
StreamSource streamSource = new StreamSource(new StringReader(text));
return (WindowsMemoryPageRegion) unmarshaller
.unmarshal(streamSource);
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
/**
* Validates the XML representation of this WindowsMemoryPageRegion instance
* Returning true indicating a successful validation, false if not.
*
* @return boolean
*/
public boolean validate() {
return STIXSchema.getInstance().validate(toXMLString());
}
}