org.mitre.cybox.objects.WindowsService 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
The newest version!
/**
* 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:19:53 PM EDT
//
package org.mitre.cybox.objects;
import java.io.StringReader;
import java.util.Collection;
import java.util.List;
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.XmlAttribute;
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.DateTimeObjectPropertyType;
import org.mitre.cybox.common_2.DurationObjectPropertyType;
import org.mitre.cybox.common_2.EnvironmentVariableListType;
import org.mitre.cybox.common_2.ExtractedFeaturesType;
import org.mitre.cybox.common_2.HashListType;
import org.mitre.cybox.common_2.SIDType;
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;
import org.xml.sax.SAXException;
/**
* The WindowsServiceObjectType type is intended to characterize Windows services.
*
* Java class for WindowsServiceObjectType complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="WindowsServiceObjectType">
* <complexContent>
* <extension base="{http://cybox.mitre.org/objects#WinProcessObject-2}WindowsProcessObjectType">
* <sequence>
* <element name="Description_List" type="{http://cybox.mitre.org/objects#WinServiceObject-2}ServiceDescriptionListType" minOccurs="0"/>
* <element name="Display_Name" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Group_Name" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Service_Name" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Service_DLL" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Service_DLL_Certificate_Issuer" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Service_DLL_Certificate_Subject" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Service_DLL_Hashes" type="{http://cybox.mitre.org/common-2}HashListType" minOccurs="0"/>
* <element name="Service_DLL_Signature_Description" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Startup_Command_Line" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Startup_Type" type="{http://cybox.mitre.org/objects#WinServiceObject-2}ServiceModeType" minOccurs="0"/>
* <element name="Service_Status" type="{http://cybox.mitre.org/objects#WinServiceObject-2}ServiceStatusType" minOccurs="0"/>
* <element name="Service_Type" type="{http://cybox.mitre.org/objects#WinServiceObject-2}ServiceType" minOccurs="0"/>
* <element name="Started_As" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* </sequence>
* <attribute name="service_dll_signature_exists" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* <attribute name="service_dll_signature_verified" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "WindowsServiceObjectType", namespace = "http://cybox.mitre.org/objects#WinServiceObject-2", propOrder = {
"descriptionList", "displayName", "groupName", "serviceName",
"serviceDLL", "serviceDLLCertificateIssuer",
"serviceDLLCertificateSubject", "serviceDLLHashes",
"serviceDLLSignatureDescription", "startupCommandLine", "startupType",
"serviceStatus", "serviceType", "startedAs" })
@XmlRootElement(name = "Windows_Service", namespace = "http://cybox.mitre.org/objects#WinServiceObject-2")
public class WindowsService extends WindowsProcessObjectType implements Equals,
HashCode, ToString {
@XmlElement(name = "Description_List")
protected ServiceDescriptionListType descriptionList;
@XmlElement(name = "Display_Name")
protected StringObjectPropertyType displayName;
@XmlElement(name = "Group_Name")
protected StringObjectPropertyType groupName;
@XmlElement(name = "Service_Name")
protected StringObjectPropertyType serviceName;
@XmlElement(name = "Service_DLL")
protected StringObjectPropertyType serviceDLL;
@XmlElement(name = "Service_DLL_Certificate_Issuer")
protected StringObjectPropertyType serviceDLLCertificateIssuer;
@XmlElement(name = "Service_DLL_Certificate_Subject")
protected StringObjectPropertyType serviceDLLCertificateSubject;
@XmlElement(name = "Service_DLL_Hashes")
protected HashListType serviceDLLHashes;
@XmlElement(name = "Service_DLL_Signature_Description")
protected StringObjectPropertyType serviceDLLSignatureDescription;
@XmlElement(name = "Startup_Command_Line")
protected StringObjectPropertyType startupCommandLine;
@XmlElement(name = "Startup_Type")
protected ServiceModeType startupType;
@XmlElement(name = "Service_Status")
protected ServiceStatusType serviceStatus;
@XmlElement(name = "Service_Type")
protected ServiceType serviceType;
@XmlElement(name = "Started_As")
protected StringObjectPropertyType startedAs;
@XmlAttribute(name = "service_dll_signature_exists")
protected Boolean serviceDllSignatureExists;
@XmlAttribute(name = "service_dll_signature_verified")
protected Boolean serviceDllSignatureVerified;
/**
* Default no-arg constructor
*
*/
public WindowsService() {
super();
}
/**
* Fully-initialising value constructor
*
*/
public WindowsService(final CustomPropertiesType customProperties,
final QName objectReference,
final UnsignedIntegerObjectPropertyType pid,
final StringObjectPropertyType name,
final DateTimeObjectPropertyType creationTime,
final UnsignedIntegerObjectPropertyType parentPID,
final ChildPIDListType childPIDList, final ImageInfoType imageInfo,
final ArgumentListType argumentList,
final EnvironmentVariableListType environmentVariableList,
final DurationObjectPropertyType kernelTime,
final PortListType portList,
final NetworkConnectionListType networkConnectionList,
final DateTimeObjectPropertyType startTime,
final ProcessStatusType status,
final StringObjectPropertyType username,
final DurationObjectPropertyType userTime,
final ExtractedFeaturesType extractedFeatures,
final Boolean isHidden, final WindowsHandleListType handleList,
final StringObjectPropertyType priority,
final MemorySectionListType sectionList,
final StringObjectPropertyType securityID,
final StartupInfoType startupInfo, final SIDType securityType,
final StringObjectPropertyType windowTitle,
final List threads, final Boolean aslrEnabled,
final Boolean depEnabled,
final ServiceDescriptionListType descriptionList,
final StringObjectPropertyType displayName,
final StringObjectPropertyType groupName,
final StringObjectPropertyType serviceName,
final StringObjectPropertyType serviceDLL,
final StringObjectPropertyType serviceDLLCertificateIssuer,
final StringObjectPropertyType serviceDLLCertificateSubject,
final HashListType serviceDLLHashes,
final StringObjectPropertyType serviceDLLSignatureDescription,
final StringObjectPropertyType startupCommandLine,
final ServiceModeType startupType,
final ServiceStatusType serviceStatus,
final ServiceType serviceType,
final StringObjectPropertyType startedAs,
final Boolean serviceDllSignatureExists,
final Boolean serviceDllSignatureVerified) {
super(customProperties, objectReference, pid, name, creationTime,
parentPID, childPIDList, imageInfo, argumentList,
environmentVariableList, kernelTime, portList,
networkConnectionList, startTime, status, username, userTime,
extractedFeatures, isHidden, handleList, priority, sectionList,
securityID, startupInfo, securityType, windowTitle, threads,
aslrEnabled, depEnabled);
this.descriptionList = descriptionList;
this.displayName = displayName;
this.groupName = groupName;
this.serviceName = serviceName;
this.serviceDLL = serviceDLL;
this.serviceDLLCertificateIssuer = serviceDLLCertificateIssuer;
this.serviceDLLCertificateSubject = serviceDLLCertificateSubject;
this.serviceDLLHashes = serviceDLLHashes;
this.serviceDLLSignatureDescription = serviceDLLSignatureDescription;
this.startupCommandLine = startupCommandLine;
this.startupType = startupType;
this.serviceStatus = serviceStatus;
this.serviceType = serviceType;
this.startedAs = startedAs;
this.serviceDllSignatureExists = serviceDllSignatureExists;
this.serviceDllSignatureVerified = serviceDllSignatureVerified;
}
/**
* Gets the value of the descriptionList property.
*
* @return
* possible object is
* {@link ServiceDescriptionListType }
*
*/
public ServiceDescriptionListType getDescriptionList() {
return descriptionList;
}
/**
* Sets the value of the descriptionList property.
*
* @param value
* allowed object is
* {@link ServiceDescriptionListType }
*
*/
public void setDescriptionList(ServiceDescriptionListType value) {
this.descriptionList = value;
}
/**
* Gets the value of the displayName property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getDisplayName() {
return displayName;
}
/**
* Sets the value of the displayName property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setDisplayName(StringObjectPropertyType value) {
this.displayName = value;
}
/**
* Gets the value of the groupName property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getGroupName() {
return groupName;
}
/**
* Sets the value of the groupName property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setGroupName(StringObjectPropertyType value) {
this.groupName = value;
}
/**
* Gets the value of the serviceName property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getServiceName() {
return serviceName;
}
/**
* Sets the value of the serviceName property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setServiceName(StringObjectPropertyType value) {
this.serviceName = value;
}
/**
* Gets the value of the serviceDLL property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getServiceDLL() {
return serviceDLL;
}
/**
* Sets the value of the serviceDLL property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setServiceDLL(StringObjectPropertyType value) {
this.serviceDLL = value;
}
/**
* Gets the value of the serviceDLLCertificateIssuer property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getServiceDLLCertificateIssuer() {
return serviceDLLCertificateIssuer;
}
/**
* Sets the value of the serviceDLLCertificateIssuer property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setServiceDLLCertificateIssuer(StringObjectPropertyType value) {
this.serviceDLLCertificateIssuer = value;
}
/**
* Gets the value of the serviceDLLCertificateSubject property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getServiceDLLCertificateSubject() {
return serviceDLLCertificateSubject;
}
/**
* Sets the value of the serviceDLLCertificateSubject property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setServiceDLLCertificateSubject(StringObjectPropertyType value) {
this.serviceDLLCertificateSubject = value;
}
/**
* Gets the value of the serviceDLLHashes property.
*
* @return
* possible object is
* {@link HashListType }
*
*/
public HashListType getServiceDLLHashes() {
return serviceDLLHashes;
}
/**
* Sets the value of the serviceDLLHashes property.
*
* @param value
* allowed object is
* {@link HashListType }
*
*/
public void setServiceDLLHashes(HashListType value) {
this.serviceDLLHashes = value;
}
/**
* Gets the value of the serviceDLLSignatureDescription property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getServiceDLLSignatureDescription() {
return serviceDLLSignatureDescription;
}
/**
* Sets the value of the serviceDLLSignatureDescription property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setServiceDLLSignatureDescription(StringObjectPropertyType value) {
this.serviceDLLSignatureDescription = value;
}
/**
* Gets the value of the startupCommandLine property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getStartupCommandLine() {
return startupCommandLine;
}
/**
* Sets the value of the startupCommandLine property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setStartupCommandLine(StringObjectPropertyType value) {
this.startupCommandLine = value;
}
/**
* Gets the value of the startupType property.
*
* @return
* possible object is
* {@link ServiceModeType }
*
*/
public ServiceModeType getStartupType() {
return startupType;
}
/**
* Sets the value of the startupType property.
*
* @param value
* allowed object is
* {@link ServiceModeType }
*
*/
public void setStartupType(ServiceModeType value) {
this.startupType = value;
}
/**
* Gets the value of the serviceStatus property.
*
* @return
* possible object is
* {@link ServiceStatusType }
*
*/
public ServiceStatusType getServiceStatus() {
return serviceStatus;
}
/**
* Sets the value of the serviceStatus property.
*
* @param value
* allowed object is
* {@link ServiceStatusType }
*
*/
public void setServiceStatus(ServiceStatusType value) {
this.serviceStatus = value;
}
/**
* Gets the value of the serviceType property.
*
* @return
* possible object is
* {@link ServiceType }
*
*/
public ServiceType getServiceType() {
return serviceType;
}
/**
* Sets the value of the serviceType property.
*
* @param value
* allowed object is
* {@link ServiceType }
*
*/
public void setServiceType(ServiceType value) {
this.serviceType = value;
}
/**
* Gets the value of the startedAs property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getStartedAs() {
return startedAs;
}
/**
* Sets the value of the startedAs property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setStartedAs(StringObjectPropertyType value) {
this.startedAs = value;
}
/**
* Gets the value of the serviceDllSignatureExists property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean isServiceDllSignatureExists() {
return serviceDllSignatureExists;
}
/**
* Sets the value of the serviceDllSignatureExists property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setServiceDllSignatureExists(Boolean value) {
this.serviceDllSignatureExists = value;
}
/**
* Gets the value of the serviceDllSignatureVerified property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean isServiceDllSignatureVerified() {
return serviceDllSignatureVerified;
}
/**
* Sets the value of the serviceDllSignatureVerified property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setServiceDllSignatureVerified(Boolean value) {
this.serviceDllSignatureVerified = value;
}
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator,
Object object, EqualsStrategy strategy) {
if (!(object instanceof WindowsService)) {
return false;
}
if (this == object) {
return true;
}
if (!super.equals(thisLocator, thatLocator, object, strategy)) {
return false;
}
final WindowsService that = ((WindowsService) object);
{
ServiceDescriptionListType lhsDescriptionList;
lhsDescriptionList = this.getDescriptionList();
ServiceDescriptionListType rhsDescriptionList;
rhsDescriptionList = that.getDescriptionList();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"descriptionList", lhsDescriptionList), LocatorUtils
.property(thatLocator, "descriptionList",
rhsDescriptionList), lhsDescriptionList,
rhsDescriptionList)) {
return false;
}
}
{
StringObjectPropertyType lhsDisplayName;
lhsDisplayName = this.getDisplayName();
StringObjectPropertyType rhsDisplayName;
rhsDisplayName = that.getDisplayName();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"displayName", lhsDisplayName), LocatorUtils.property(
thatLocator, "displayName", rhsDisplayName),
lhsDisplayName, rhsDisplayName)) {
return false;
}
}
{
StringObjectPropertyType lhsGroupName;
lhsGroupName = this.getGroupName();
StringObjectPropertyType rhsGroupName;
rhsGroupName = that.getGroupName();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"groupName", lhsGroupName), LocatorUtils.property(
thatLocator, "groupName", rhsGroupName), lhsGroupName,
rhsGroupName)) {
return false;
}
}
{
StringObjectPropertyType lhsServiceName;
lhsServiceName = this.getServiceName();
StringObjectPropertyType rhsServiceName;
rhsServiceName = that.getServiceName();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"serviceName", lhsServiceName), LocatorUtils.property(
thatLocator, "serviceName", rhsServiceName),
lhsServiceName, rhsServiceName)) {
return false;
}
}
{
StringObjectPropertyType lhsServiceDLL;
lhsServiceDLL = this.getServiceDLL();
StringObjectPropertyType rhsServiceDLL;
rhsServiceDLL = that.getServiceDLL();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"serviceDLL", lhsServiceDLL), LocatorUtils.property(
thatLocator, "serviceDLL", rhsServiceDLL), lhsServiceDLL,
rhsServiceDLL)) {
return false;
}
}
{
StringObjectPropertyType lhsServiceDLLCertificateIssuer;
lhsServiceDLLCertificateIssuer = this
.getServiceDLLCertificateIssuer();
StringObjectPropertyType rhsServiceDLLCertificateIssuer;
rhsServiceDLLCertificateIssuer = that
.getServiceDLLCertificateIssuer();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"serviceDLLCertificateIssuer",
lhsServiceDLLCertificateIssuer), LocatorUtils.property(
thatLocator, "serviceDLLCertificateIssuer",
rhsServiceDLLCertificateIssuer),
lhsServiceDLLCertificateIssuer,
rhsServiceDLLCertificateIssuer)) {
return false;
}
}
{
StringObjectPropertyType lhsServiceDLLCertificateSubject;
lhsServiceDLLCertificateSubject = this
.getServiceDLLCertificateSubject();
StringObjectPropertyType rhsServiceDLLCertificateSubject;
rhsServiceDLLCertificateSubject = that
.getServiceDLLCertificateSubject();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"serviceDLLCertificateSubject",
lhsServiceDLLCertificateSubject), LocatorUtils.property(
thatLocator, "serviceDLLCertificateSubject",
rhsServiceDLLCertificateSubject),
lhsServiceDLLCertificateSubject,
rhsServiceDLLCertificateSubject)) {
return false;
}
}
{
HashListType lhsServiceDLLHashes;
lhsServiceDLLHashes = this.getServiceDLLHashes();
HashListType rhsServiceDLLHashes;
rhsServiceDLLHashes = that.getServiceDLLHashes();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"serviceDLLHashes", lhsServiceDLLHashes), LocatorUtils
.property(thatLocator, "serviceDLLHashes",
rhsServiceDLLHashes), lhsServiceDLLHashes,
rhsServiceDLLHashes)) {
return false;
}
}
{
StringObjectPropertyType lhsServiceDLLSignatureDescription;
lhsServiceDLLSignatureDescription = this
.getServiceDLLSignatureDescription();
StringObjectPropertyType rhsServiceDLLSignatureDescription;
rhsServiceDLLSignatureDescription = that
.getServiceDLLSignatureDescription();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"serviceDLLSignatureDescription",
lhsServiceDLLSignatureDescription), LocatorUtils.property(
thatLocator, "serviceDLLSignatureDescription",
rhsServiceDLLSignatureDescription),
lhsServiceDLLSignatureDescription,
rhsServiceDLLSignatureDescription)) {
return false;
}
}
{
StringObjectPropertyType lhsStartupCommandLine;
lhsStartupCommandLine = this.getStartupCommandLine();
StringObjectPropertyType rhsStartupCommandLine;
rhsStartupCommandLine = that.getStartupCommandLine();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"startupCommandLine", lhsStartupCommandLine), LocatorUtils
.property(thatLocator, "startupCommandLine",
rhsStartupCommandLine), lhsStartupCommandLine,
rhsStartupCommandLine)) {
return false;
}
}
{
ServiceModeType lhsStartupType;
lhsStartupType = this.getStartupType();
ServiceModeType rhsStartupType;
rhsStartupType = that.getStartupType();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"startupType", lhsStartupType), LocatorUtils.property(
thatLocator, "startupType", rhsStartupType),
lhsStartupType, rhsStartupType)) {
return false;
}
}
{
ServiceStatusType lhsServiceStatus;
lhsServiceStatus = this.getServiceStatus();
ServiceStatusType rhsServiceStatus;
rhsServiceStatus = that.getServiceStatus();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"serviceStatus", lhsServiceStatus), LocatorUtils.property(
thatLocator, "serviceStatus", rhsServiceStatus),
lhsServiceStatus, rhsServiceStatus)) {
return false;
}
}
{
ServiceType lhsServiceType;
lhsServiceType = this.getServiceType();
ServiceType rhsServiceType;
rhsServiceType = that.getServiceType();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"serviceType", lhsServiceType), LocatorUtils.property(
thatLocator, "serviceType", rhsServiceType),
lhsServiceType, rhsServiceType)) {
return false;
}
}
{
StringObjectPropertyType lhsStartedAs;
lhsStartedAs = this.getStartedAs();
StringObjectPropertyType rhsStartedAs;
rhsStartedAs = that.getStartedAs();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"startedAs", lhsStartedAs), LocatorUtils.property(
thatLocator, "startedAs", rhsStartedAs), lhsStartedAs,
rhsStartedAs)) {
return false;
}
}
{
Boolean lhsServiceDllSignatureExists;
lhsServiceDllSignatureExists = this.isServiceDllSignatureExists();
Boolean rhsServiceDllSignatureExists;
rhsServiceDllSignatureExists = that.isServiceDllSignatureExists();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"serviceDllSignatureExists", lhsServiceDllSignatureExists),
LocatorUtils.property(thatLocator,
"serviceDllSignatureExists",
rhsServiceDllSignatureExists),
lhsServiceDllSignatureExists, rhsServiceDllSignatureExists)) {
return false;
}
}
{
Boolean lhsServiceDllSignatureVerified;
lhsServiceDllSignatureVerified = this
.isServiceDllSignatureVerified();
Boolean rhsServiceDllSignatureVerified;
rhsServiceDllSignatureVerified = that
.isServiceDllSignatureVerified();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"serviceDllSignatureVerified",
lhsServiceDllSignatureVerified), LocatorUtils.property(
thatLocator, "serviceDllSignatureVerified",
rhsServiceDllSignatureVerified),
lhsServiceDllSignatureVerified,
rhsServiceDllSignatureVerified)) {
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);
{
ServiceDescriptionListType theDescriptionList;
theDescriptionList = this.getDescriptionList();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"descriptionList", theDescriptionList), currentHashCode,
theDescriptionList);
}
{
StringObjectPropertyType theDisplayName;
theDisplayName = this.getDisplayName();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"displayName", theDisplayName), currentHashCode,
theDisplayName);
}
{
StringObjectPropertyType theGroupName;
theGroupName = this.getGroupName();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "groupName", theGroupName),
currentHashCode, theGroupName);
}
{
StringObjectPropertyType theServiceName;
theServiceName = this.getServiceName();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"serviceName", theServiceName), currentHashCode,
theServiceName);
}
{
StringObjectPropertyType theServiceDLL;
theServiceDLL = this.getServiceDLL();
currentHashCode = strategy
.hashCode(LocatorUtils.property(locator, "serviceDLL",
theServiceDLL), currentHashCode, theServiceDLL);
}
{
StringObjectPropertyType theServiceDLLCertificateIssuer;
theServiceDLLCertificateIssuer = this
.getServiceDLLCertificateIssuer();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"serviceDLLCertificateIssuer",
theServiceDLLCertificateIssuer), currentHashCode,
theServiceDLLCertificateIssuer);
}
{
StringObjectPropertyType theServiceDLLCertificateSubject;
theServiceDLLCertificateSubject = this
.getServiceDLLCertificateSubject();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"serviceDLLCertificateSubject",
theServiceDLLCertificateSubject), currentHashCode,
theServiceDLLCertificateSubject);
}
{
HashListType theServiceDLLHashes;
theServiceDLLHashes = this.getServiceDLLHashes();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"serviceDLLHashes", theServiceDLLHashes), currentHashCode,
theServiceDLLHashes);
}
{
StringObjectPropertyType theServiceDLLSignatureDescription;
theServiceDLLSignatureDescription = this
.getServiceDLLSignatureDescription();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"serviceDLLSignatureDescription",
theServiceDLLSignatureDescription), currentHashCode,
theServiceDLLSignatureDescription);
}
{
StringObjectPropertyType theStartupCommandLine;
theStartupCommandLine = this.getStartupCommandLine();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"startupCommandLine", theStartupCommandLine),
currentHashCode, theStartupCommandLine);
}
{
ServiceModeType theStartupType;
theStartupType = this.getStartupType();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"startupType", theStartupType), currentHashCode,
theStartupType);
}
{
ServiceStatusType theServiceStatus;
theServiceStatus = this.getServiceStatus();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"serviceStatus", theServiceStatus), currentHashCode,
theServiceStatus);
}
{
ServiceType theServiceType;
theServiceType = this.getServiceType();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"serviceType", theServiceType), currentHashCode,
theServiceType);
}
{
StringObjectPropertyType theStartedAs;
theStartedAs = this.getStartedAs();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "startedAs", theStartedAs),
currentHashCode, theStartedAs);
}
{
Boolean theServiceDllSignatureExists;
theServiceDllSignatureExists = this.isServiceDllSignatureExists();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"serviceDllSignatureExists", theServiceDllSignatureExists),
currentHashCode, theServiceDllSignatureExists);
}
{
Boolean theServiceDllSignatureVerified;
theServiceDllSignatureVerified = this
.isServiceDllSignatureVerified();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"serviceDllSignatureVerified",
theServiceDllSignatureVerified), currentHashCode,
theServiceDllSignatureVerified);
}
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
public WindowsService withDescriptionList(ServiceDescriptionListType value) {
setDescriptionList(value);
return this;
}
public WindowsService withDisplayName(StringObjectPropertyType value) {
setDisplayName(value);
return this;
}
public WindowsService withGroupName(StringObjectPropertyType value) {
setGroupName(value);
return this;
}
public WindowsService withServiceName(StringObjectPropertyType value) {
setServiceName(value);
return this;
}
public WindowsService withServiceDLL(StringObjectPropertyType value) {
setServiceDLL(value);
return this;
}
public WindowsService withServiceDLLCertificateIssuer(
StringObjectPropertyType value) {
setServiceDLLCertificateIssuer(value);
return this;
}
public WindowsService withServiceDLLCertificateSubject(
StringObjectPropertyType value) {
setServiceDLLCertificateSubject(value);
return this;
}
public WindowsService withServiceDLLHashes(HashListType value) {
setServiceDLLHashes(value);
return this;
}
public WindowsService withServiceDLLSignatureDescription(
StringObjectPropertyType value) {
setServiceDLLSignatureDescription(value);
return this;
}
public WindowsService withStartupCommandLine(StringObjectPropertyType value) {
setStartupCommandLine(value);
return this;
}
public WindowsService withStartupType(ServiceModeType value) {
setStartupType(value);
return this;
}
public WindowsService withServiceStatus(ServiceStatusType value) {
setServiceStatus(value);
return this;
}
public WindowsService withServiceType(ServiceType value) {
setServiceType(value);
return this;
}
public WindowsService withStartedAs(StringObjectPropertyType value) {
setStartedAs(value);
return this;
}
public WindowsService withServiceDllSignatureExists(Boolean value) {
setServiceDllSignatureExists(value);
return this;
}
public WindowsService withServiceDllSignatureVerified(Boolean value) {
setServiceDllSignatureVerified(value);
return this;
}
@Override
public WindowsService withHandleList(WindowsHandleListType value) {
setHandleList(value);
return this;
}
@Override
public WindowsService withPriority(StringObjectPropertyType value) {
setPriority(value);
return this;
}
@Override
public WindowsService withSectionList(MemorySectionListType value) {
setSectionList(value);
return this;
}
@Override
public WindowsService withSecurityID(StringObjectPropertyType value) {
setSecurityID(value);
return this;
}
@Override
public WindowsService withStartupInfo(StartupInfoType value) {
setStartupInfo(value);
return this;
}
@Override
public WindowsService withSecurityType(SIDType value) {
setSecurityType(value);
return this;
}
@Override
public WindowsService withWindowTitle(StringObjectPropertyType value) {
setWindowTitle(value);
return this;
}
@Override
public WindowsService withThreads(WindowsThread... values) {
if (values != null) {
for (WindowsThread value : values) {
getThreads().add(value);
}
}
return this;
}
@Override
public WindowsService withThreads(Collection values) {
if (values != null) {
getThreads().addAll(values);
}
return this;
}
@Override
public WindowsService withAslrEnabled(Boolean value) {
setAslrEnabled(value);
return this;
}
@Override
public WindowsService withDepEnabled(Boolean value) {
setDepEnabled(value);
return this;
}
@Override
public WindowsService withPID(UnsignedIntegerObjectPropertyType value) {
setPID(value);
return this;
}
@Override
public WindowsService withName(StringObjectPropertyType value) {
setName(value);
return this;
}
@Override
public WindowsService withCreationTime(DateTimeObjectPropertyType value) {
setCreationTime(value);
return this;
}
@Override
public WindowsService withParentPID(UnsignedIntegerObjectPropertyType value) {
setParentPID(value);
return this;
}
@Override
public WindowsService withChildPIDList(ChildPIDListType value) {
setChildPIDList(value);
return this;
}
@Override
public WindowsService withImageInfo(ImageInfoType value) {
setImageInfo(value);
return this;
}
@Override
public WindowsService withArgumentList(ArgumentListType value) {
setArgumentList(value);
return this;
}
@Override
public WindowsService withEnvironmentVariableList(
EnvironmentVariableListType value) {
setEnvironmentVariableList(value);
return this;
}
@Override
public WindowsService withKernelTime(DurationObjectPropertyType value) {
setKernelTime(value);
return this;
}
@Override
public WindowsService withPortList(PortListType value) {
setPortList(value);
return this;
}
@Override
public WindowsService withNetworkConnectionList(
NetworkConnectionListType value) {
setNetworkConnectionList(value);
return this;
}
@Override
public WindowsService withStartTime(DateTimeObjectPropertyType value) {
setStartTime(value);
return this;
}
@Override
public WindowsService withStatus(ProcessStatusType value) {
setStatus(value);
return this;
}
@Override
public WindowsService withUsername(StringObjectPropertyType value) {
setUsername(value);
return this;
}
@Override
public WindowsService withUserTime(DurationObjectPropertyType value) {
setUserTime(value);
return this;
}
@Override
public WindowsService withExtractedFeatures(ExtractedFeaturesType value) {
setExtractedFeatures(value);
return this;
}
@Override
public WindowsService withIsHidden(Boolean value) {
setIsHidden(value);
return this;
}
@Override
public WindowsService withCustomProperties(CustomPropertiesType value) {
setCustomProperties(value);
return this;
}
@Override
public WindowsService 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);
{
ServiceDescriptionListType theDescriptionList;
theDescriptionList = this.getDescriptionList();
strategy.appendField(locator, this, "descriptionList", buffer,
theDescriptionList);
}
{
StringObjectPropertyType theDisplayName;
theDisplayName = this.getDisplayName();
strategy.appendField(locator, this, "displayName", buffer,
theDisplayName);
}
{
StringObjectPropertyType theGroupName;
theGroupName = this.getGroupName();
strategy.appendField(locator, this, "groupName", buffer,
theGroupName);
}
{
StringObjectPropertyType theServiceName;
theServiceName = this.getServiceName();
strategy.appendField(locator, this, "serviceName", buffer,
theServiceName);
}
{
StringObjectPropertyType theServiceDLL;
theServiceDLL = this.getServiceDLL();
strategy.appendField(locator, this, "serviceDLL", buffer,
theServiceDLL);
}
{
StringObjectPropertyType theServiceDLLCertificateIssuer;
theServiceDLLCertificateIssuer = this
.getServiceDLLCertificateIssuer();
strategy.appendField(locator, this, "serviceDLLCertificateIssuer",
buffer, theServiceDLLCertificateIssuer);
}
{
StringObjectPropertyType theServiceDLLCertificateSubject;
theServiceDLLCertificateSubject = this
.getServiceDLLCertificateSubject();
strategy.appendField(locator, this, "serviceDLLCertificateSubject",
buffer, theServiceDLLCertificateSubject);
}
{
HashListType theServiceDLLHashes;
theServiceDLLHashes = this.getServiceDLLHashes();
strategy.appendField(locator, this, "serviceDLLHashes", buffer,
theServiceDLLHashes);
}
{
StringObjectPropertyType theServiceDLLSignatureDescription;
theServiceDLLSignatureDescription = this
.getServiceDLLSignatureDescription();
strategy.appendField(locator, this,
"serviceDLLSignatureDescription", buffer,
theServiceDLLSignatureDescription);
}
{
StringObjectPropertyType theStartupCommandLine;
theStartupCommandLine = this.getStartupCommandLine();
strategy.appendField(locator, this, "startupCommandLine", buffer,
theStartupCommandLine);
}
{
ServiceModeType theStartupType;
theStartupType = this.getStartupType();
strategy.appendField(locator, this, "startupType", buffer,
theStartupType);
}
{
ServiceStatusType theServiceStatus;
theServiceStatus = this.getServiceStatus();
strategy.appendField(locator, this, "serviceStatus", buffer,
theServiceStatus);
}
{
ServiceType theServiceType;
theServiceType = this.getServiceType();
strategy.appendField(locator, this, "serviceType", buffer,
theServiceType);
}
{
StringObjectPropertyType theStartedAs;
theStartedAs = this.getStartedAs();
strategy.appendField(locator, this, "startedAs", buffer,
theStartedAs);
}
{
Boolean theServiceDllSignatureExists;
theServiceDllSignatureExists = this.isServiceDllSignatureExists();
strategy.appendField(locator, this, "serviceDllSignatureExists",
buffer, theServiceDllSignatureExists);
}
{
Boolean theServiceDllSignatureVerified;
theServiceDllSignatureVerified = this
.isServiceDllSignatureVerified();
strategy.appendField(locator, this, "serviceDllSignatureVerified",
buffer, theServiceDllSignatureVerified);
}
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, WindowsService.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 WindowsService instance for XML String
*
* @param text
* XML String for the document
* @return The WindowsService instance for the passed XML String
*/
public static WindowsService fromXMLString(String text) {
JAXBContext jaxbContext;
try {
jaxbContext = JAXBContext.newInstance(WindowsService.class
.getPackage().getName());
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setSchema(STIXSchema.getInstance().getSchema());
unmarshaller.setEventHandler(new ValidationEventHandler());
StreamSource streamSource = new StreamSource(new StringReader(text));
return (WindowsService) unmarshaller.unmarshal(streamSource);
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
/**
* Validates the XML representation of this WindowsService 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());
}
}