org.mitre.cybox.objects.UserSession 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.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.stix.DocumentUtilities;
import org.mitre.stix.STIXSchema;
import org.mitre.stix.ValidationEventHandler;
import org.xml.sax.SAXException;
/**
* The UserSessionObjectType type is intended to characterize user sessions.
*
* Java class for UserSessionObjectType complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="UserSessionObjectType">
* <complexContent>
* <extension base="{http://cybox.mitre.org/common-2}ObjectPropertiesType">
* <sequence>
* <element name="Effective_Group" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Effective_Group_ID" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Effective_User" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Effective_User_ID" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
* <element name="Login_Time" type="{http://cybox.mitre.org/common-2}DateTimeObjectPropertyType" minOccurs="0"/>
* <element name="Logout_Time" type="{http://cybox.mitre.org/common-2}DateTimeObjectPropertyType" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "UserSessionObjectType", namespace = "http://cybox.mitre.org/objects#UserSessionObject-2", propOrder = {
"effectiveGroup", "effectiveGroupID", "effectiveUser",
"effectiveUserID", "loginTime", "logoutTime" })
@XmlRootElement(name = "User_Session", namespace = "http://cybox.mitre.org/objects#UserSessionObject-2")
public class UserSession extends ObjectPropertiesType implements Equals,
HashCode, ToString {
@XmlElement(name = "Effective_Group")
protected StringObjectPropertyType effectiveGroup;
@XmlElement(name = "Effective_Group_ID")
protected StringObjectPropertyType effectiveGroupID;
@XmlElement(name = "Effective_User")
protected StringObjectPropertyType effectiveUser;
@XmlElement(name = "Effective_User_ID")
protected StringObjectPropertyType effectiveUserID;
@XmlElement(name = "Login_Time")
protected DateTimeObjectPropertyType loginTime;
@XmlElement(name = "Logout_Time")
protected DateTimeObjectPropertyType logoutTime;
/**
* Default no-arg constructor
*
*/
public UserSession() {
super();
}
/**
* Fully-initialising value constructor
*
*/
public UserSession(final CustomPropertiesType customProperties,
final QName objectReference,
final StringObjectPropertyType effectiveGroup,
final StringObjectPropertyType effectiveGroupID,
final StringObjectPropertyType effectiveUser,
final StringObjectPropertyType effectiveUserID,
final DateTimeObjectPropertyType loginTime,
final DateTimeObjectPropertyType logoutTime) {
super(customProperties, objectReference);
this.effectiveGroup = effectiveGroup;
this.effectiveGroupID = effectiveGroupID;
this.effectiveUser = effectiveUser;
this.effectiveUserID = effectiveUserID;
this.loginTime = loginTime;
this.logoutTime = logoutTime;
}
/**
* Gets the value of the effectiveGroup property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getEffectiveGroup() {
return effectiveGroup;
}
/**
* Sets the value of the effectiveGroup property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setEffectiveGroup(StringObjectPropertyType value) {
this.effectiveGroup = value;
}
/**
* Gets the value of the effectiveGroupID property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getEffectiveGroupID() {
return effectiveGroupID;
}
/**
* Sets the value of the effectiveGroupID property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setEffectiveGroupID(StringObjectPropertyType value) {
this.effectiveGroupID = value;
}
/**
* Gets the value of the effectiveUser property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getEffectiveUser() {
return effectiveUser;
}
/**
* Sets the value of the effectiveUser property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setEffectiveUser(StringObjectPropertyType value) {
this.effectiveUser = value;
}
/**
* Gets the value of the effectiveUserID property.
*
* @return
* possible object is
* {@link StringObjectPropertyType }
*
*/
public StringObjectPropertyType getEffectiveUserID() {
return effectiveUserID;
}
/**
* Sets the value of the effectiveUserID property.
*
* @param value
* allowed object is
* {@link StringObjectPropertyType }
*
*/
public void setEffectiveUserID(StringObjectPropertyType value) {
this.effectiveUserID = value;
}
/**
* Gets the value of the loginTime property.
*
* @return
* possible object is
* {@link DateTimeObjectPropertyType }
*
*/
public DateTimeObjectPropertyType getLoginTime() {
return loginTime;
}
/**
* Sets the value of the loginTime property.
*
* @param value
* allowed object is
* {@link DateTimeObjectPropertyType }
*
*/
public void setLoginTime(DateTimeObjectPropertyType value) {
this.loginTime = value;
}
/**
* Gets the value of the logoutTime property.
*
* @return
* possible object is
* {@link DateTimeObjectPropertyType }
*
*/
public DateTimeObjectPropertyType getLogoutTime() {
return logoutTime;
}
/**
* Sets the value of the logoutTime property.
*
* @param value
* allowed object is
* {@link DateTimeObjectPropertyType }
*
*/
public void setLogoutTime(DateTimeObjectPropertyType value) {
this.logoutTime = value;
}
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator,
Object object, EqualsStrategy strategy) {
if (!(object instanceof UserSession)) {
return false;
}
if (this == object) {
return true;
}
if (!super.equals(thisLocator, thatLocator, object, strategy)) {
return false;
}
final UserSession that = ((UserSession) object);
{
StringObjectPropertyType lhsEffectiveGroup;
lhsEffectiveGroup = this.getEffectiveGroup();
StringObjectPropertyType rhsEffectiveGroup;
rhsEffectiveGroup = that.getEffectiveGroup();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"effectiveGroup", lhsEffectiveGroup),
LocatorUtils.property(thatLocator, "effectiveGroup",
rhsEffectiveGroup), lhsEffectiveGroup,
rhsEffectiveGroup)) {
return false;
}
}
{
StringObjectPropertyType lhsEffectiveGroupID;
lhsEffectiveGroupID = this.getEffectiveGroupID();
StringObjectPropertyType rhsEffectiveGroupID;
rhsEffectiveGroupID = that.getEffectiveGroupID();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"effectiveGroupID", lhsEffectiveGroupID), LocatorUtils
.property(thatLocator, "effectiveGroupID",
rhsEffectiveGroupID), lhsEffectiveGroupID,
rhsEffectiveGroupID)) {
return false;
}
}
{
StringObjectPropertyType lhsEffectiveUser;
lhsEffectiveUser = this.getEffectiveUser();
StringObjectPropertyType rhsEffectiveUser;
rhsEffectiveUser = that.getEffectiveUser();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"effectiveUser", lhsEffectiveUser), LocatorUtils.property(
thatLocator, "effectiveUser", rhsEffectiveUser),
lhsEffectiveUser, rhsEffectiveUser)) {
return false;
}
}
{
StringObjectPropertyType lhsEffectiveUserID;
lhsEffectiveUserID = this.getEffectiveUserID();
StringObjectPropertyType rhsEffectiveUserID;
rhsEffectiveUserID = that.getEffectiveUserID();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"effectiveUserID", lhsEffectiveUserID), LocatorUtils
.property(thatLocator, "effectiveUserID",
rhsEffectiveUserID), lhsEffectiveUserID,
rhsEffectiveUserID)) {
return false;
}
}
{
DateTimeObjectPropertyType lhsLoginTime;
lhsLoginTime = this.getLoginTime();
DateTimeObjectPropertyType rhsLoginTime;
rhsLoginTime = that.getLoginTime();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"loginTime", lhsLoginTime), LocatorUtils.property(
thatLocator, "loginTime", rhsLoginTime), lhsLoginTime,
rhsLoginTime)) {
return false;
}
}
{
DateTimeObjectPropertyType lhsLogoutTime;
lhsLogoutTime = this.getLogoutTime();
DateTimeObjectPropertyType rhsLogoutTime;
rhsLogoutTime = that.getLogoutTime();
if (!strategy.equals(LocatorUtils.property(thisLocator,
"logoutTime", lhsLogoutTime), LocatorUtils.property(
thatLocator, "logoutTime", rhsLogoutTime), lhsLogoutTime,
rhsLogoutTime)) {
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 theEffectiveGroup;
theEffectiveGroup = this.getEffectiveGroup();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"effectiveGroup", theEffectiveGroup), currentHashCode,
theEffectiveGroup);
}
{
StringObjectPropertyType theEffectiveGroupID;
theEffectiveGroupID = this.getEffectiveGroupID();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"effectiveGroupID", theEffectiveGroupID), currentHashCode,
theEffectiveGroupID);
}
{
StringObjectPropertyType theEffectiveUser;
theEffectiveUser = this.getEffectiveUser();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"effectiveUser", theEffectiveUser), currentHashCode,
theEffectiveUser);
}
{
StringObjectPropertyType theEffectiveUserID;
theEffectiveUserID = this.getEffectiveUserID();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator,
"effectiveUserID", theEffectiveUserID), currentHashCode,
theEffectiveUserID);
}
{
DateTimeObjectPropertyType theLoginTime;
theLoginTime = this.getLoginTime();
currentHashCode = strategy.hashCode(
LocatorUtils.property(locator, "loginTime", theLoginTime),
currentHashCode, theLoginTime);
}
{
DateTimeObjectPropertyType theLogoutTime;
theLogoutTime = this.getLogoutTime();
currentHashCode = strategy
.hashCode(LocatorUtils.property(locator, "logoutTime",
theLogoutTime), currentHashCode, theLogoutTime);
}
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
public UserSession withEffectiveGroup(StringObjectPropertyType value) {
setEffectiveGroup(value);
return this;
}
public UserSession withEffectiveGroupID(StringObjectPropertyType value) {
setEffectiveGroupID(value);
return this;
}
public UserSession withEffectiveUser(StringObjectPropertyType value) {
setEffectiveUser(value);
return this;
}
public UserSession withEffectiveUserID(StringObjectPropertyType value) {
setEffectiveUserID(value);
return this;
}
public UserSession withLoginTime(DateTimeObjectPropertyType value) {
setLoginTime(value);
return this;
}
public UserSession withLogoutTime(DateTimeObjectPropertyType value) {
setLogoutTime(value);
return this;
}
@Override
public UserSession withCustomProperties(CustomPropertiesType value) {
setCustomProperties(value);
return this;
}
@Override
public UserSession 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 theEffectiveGroup;
theEffectiveGroup = this.getEffectiveGroup();
strategy.appendField(locator, this, "effectiveGroup", buffer,
theEffectiveGroup);
}
{
StringObjectPropertyType theEffectiveGroupID;
theEffectiveGroupID = this.getEffectiveGroupID();
strategy.appendField(locator, this, "effectiveGroupID", buffer,
theEffectiveGroupID);
}
{
StringObjectPropertyType theEffectiveUser;
theEffectiveUser = this.getEffectiveUser();
strategy.appendField(locator, this, "effectiveUser", buffer,
theEffectiveUser);
}
{
StringObjectPropertyType theEffectiveUserID;
theEffectiveUserID = this.getEffectiveUserID();
strategy.appendField(locator, this, "effectiveUserID", buffer,
theEffectiveUserID);
}
{
DateTimeObjectPropertyType theLoginTime;
theLoginTime = this.getLoginTime();
strategy.appendField(locator, this, "loginTime", buffer,
theLoginTime);
}
{
DateTimeObjectPropertyType theLogoutTime;
theLogoutTime = this.getLogoutTime();
strategy.appendField(locator, this, "logoutTime", buffer,
theLogoutTime);
}
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, UserSession.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 UserSession instance for XML String
*
* @param text
* XML String for the document
* @return The UserSession instance for the passed XML String
*/
public static UserSession fromXMLString(String text) {
JAXBContext jaxbContext;
try {
jaxbContext = JAXBContext.newInstance(UserSession.class
.getPackage().getName());
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setSchema(STIXSchema.getInstance().getSchema());
unmarshaller.setEventHandler(new ValidationEventHandler());
StreamSource streamSource = new StreamSource(new StringReader(text));
return (UserSession) unmarshaller.unmarshal(streamSource);
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
/**
* Validates the XML representation of this UserSession 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());
}
}