All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.mitre.cybox.objects.ImageFile Maven / Gradle / Ivy

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 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.ByteRunsType;
import org.mitre.cybox.common_2.CipherType;
import org.mitre.cybox.common_2.CustomPropertiesType;
import org.mitre.cybox.common_2.DateTimeObjectPropertyType;
import org.mitre.cybox.common_2.DigitalSignaturesType;
import org.mitre.cybox.common_2.DoubleObjectPropertyType;
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.IntegerObjectPropertyType;
import org.mitre.cybox.common_2.PositiveIntegerObjectPropertyType;
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;
import org.xml.sax.SAXException;

/**
 * The ImageFileObjectType type is intended to characterize image files.
 * 
 * 

Java class for ImageFileObjectType complex type. * *

The following schema fragment specifies the expected content contained within this class. * *

 * <complexType name="ImageFileObjectType">
 *   <complexContent>
 *     <extension base="{http://cybox.mitre.org/objects#FileObject-2}FileObjectType">
 *       <sequence>
 *         <element name="Image_File_Format" type="{http://cybox.mitre.org/objects#ImageFileObject-1}ImageFileFormatType" minOccurs="0"/>
 *         <element name="Image_Height" type="{http://cybox.mitre.org/common-2}IntegerObjectPropertyType" minOccurs="0"/>
 *         <element name="Image_Width" type="{http://cybox.mitre.org/common-2}IntegerObjectPropertyType" minOccurs="0"/>
 *         <element name="Bits_Per_Pixel" type="{http://cybox.mitre.org/common-2}PositiveIntegerObjectPropertyType" minOccurs="0"/>
 *         <element name="Compression_Algorithm" type="{http://cybox.mitre.org/common-2}StringObjectPropertyType" minOccurs="0"/>
 *       </sequence>
 *       <attribute name="image_is_compressed" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ImageFileObjectType", namespace = "http://cybox.mitre.org/objects#ImageFileObject-1", propOrder = { "imageFileFormat", "imageHeight", "imageWidth", "bitsPerPixel", "compressionAlgorithm" }) @XmlRootElement(name = "Image_File", namespace = "http://cybox.mitre.org/objects#ImageFileObject-1") public class ImageFile extends FileObjectType implements Equals, HashCode, ToString { @XmlElement(name = "Image_File_Format") protected ImageFileFormatType imageFileFormat; @XmlElement(name = "Image_Height") protected IntegerObjectPropertyType imageHeight; @XmlElement(name = "Image_Width") protected IntegerObjectPropertyType imageWidth; @XmlElement(name = "Bits_Per_Pixel") protected PositiveIntegerObjectPropertyType bitsPerPixel; @XmlElement(name = "Compression_Algorithm") protected StringObjectPropertyType compressionAlgorithm; @XmlAttribute(name = "image_is_compressed") protected Boolean imageIsCompressed; /** * Default no-arg constructor * */ public ImageFile() { super(); } /** * Fully-initialising value constructor * */ public ImageFile(final CustomPropertiesType customProperties, final QName objectReference, final StringObjectPropertyType fileName, final FilePathType filePath, final StringObjectPropertyType devicePath, final StringObjectPropertyType fullPath, final StringObjectPropertyType fileExtension, final UnsignedLongObjectPropertyType sizeInBytes, final HexBinaryObjectPropertyType magicNumber, final StringObjectPropertyType fileFormat, final HashListType hashes, final DigitalSignaturesType digitalSignatures, final DateTimeObjectPropertyType modifiedTime, final DateTimeObjectPropertyType accessedTime, final DateTimeObjectPropertyType createdTime, final FileAttributeType fileAttributesList, final FilePermissionsType permissions, final StringObjectPropertyType userOwner, final PackerListType packerList, final DoubleObjectPropertyType peakEntropy, final SymLinksListType symLinks, final ByteRunsType byteRuns, final ExtractedFeaturesType extractedFeatures, final CipherType encryptionAlgorithm, final StringObjectPropertyType decryptionKey, final StringObjectPropertyType compressionMethod, final StringObjectPropertyType compressionVersion, final StringObjectPropertyType compressionComment, final Boolean isPacked, final Boolean isMasqueraded, final ImageFileFormatType imageFileFormat, final IntegerObjectPropertyType imageHeight, final IntegerObjectPropertyType imageWidth, final PositiveIntegerObjectPropertyType bitsPerPixel, final StringObjectPropertyType compressionAlgorithm, final Boolean imageIsCompressed) { super(customProperties, objectReference, fileName, filePath, devicePath, fullPath, fileExtension, sizeInBytes, magicNumber, fileFormat, hashes, digitalSignatures, modifiedTime, accessedTime, createdTime, fileAttributesList, permissions, userOwner, packerList, peakEntropy, symLinks, byteRuns, extractedFeatures, encryptionAlgorithm, decryptionKey, compressionMethod, compressionVersion, compressionComment, isPacked, isMasqueraded); this.imageFileFormat = imageFileFormat; this.imageHeight = imageHeight; this.imageWidth = imageWidth; this.bitsPerPixel = bitsPerPixel; this.compressionAlgorithm = compressionAlgorithm; this.imageIsCompressed = imageIsCompressed; } /** * Gets the value of the imageFileFormat property. * * @return * possible object is * {@link ImageFileFormatType } * */ public ImageFileFormatType getImageFileFormat() { return imageFileFormat; } /** * Sets the value of the imageFileFormat property. * * @param value * allowed object is * {@link ImageFileFormatType } * */ public void setImageFileFormat(ImageFileFormatType value) { this.imageFileFormat = value; } /** * Gets the value of the imageHeight property. * * @return * possible object is * {@link IntegerObjectPropertyType } * */ public IntegerObjectPropertyType getImageHeight() { return imageHeight; } /** * Sets the value of the imageHeight property. * * @param value * allowed object is * {@link IntegerObjectPropertyType } * */ public void setImageHeight(IntegerObjectPropertyType value) { this.imageHeight = value; } /** * Gets the value of the imageWidth property. * * @return * possible object is * {@link IntegerObjectPropertyType } * */ public IntegerObjectPropertyType getImageWidth() { return imageWidth; } /** * Sets the value of the imageWidth property. * * @param value * allowed object is * {@link IntegerObjectPropertyType } * */ public void setImageWidth(IntegerObjectPropertyType value) { this.imageWidth = value; } /** * Gets the value of the bitsPerPixel property. * * @return * possible object is * {@link PositiveIntegerObjectPropertyType } * */ public PositiveIntegerObjectPropertyType getBitsPerPixel() { return bitsPerPixel; } /** * Sets the value of the bitsPerPixel property. * * @param value * allowed object is * {@link PositiveIntegerObjectPropertyType } * */ public void setBitsPerPixel(PositiveIntegerObjectPropertyType value) { this.bitsPerPixel = value; } /** * Gets the value of the compressionAlgorithm property. * * @return * possible object is * {@link StringObjectPropertyType } * */ public StringObjectPropertyType getCompressionAlgorithm() { return compressionAlgorithm; } /** * Sets the value of the compressionAlgorithm property. * * @param value * allowed object is * {@link StringObjectPropertyType } * */ public void setCompressionAlgorithm(StringObjectPropertyType value) { this.compressionAlgorithm = value; } /** * Gets the value of the imageIsCompressed property. * * @return * possible object is * {@link Boolean } * */ public Boolean isImageIsCompressed() { return imageIsCompressed; } /** * Sets the value of the imageIsCompressed property. * * @param value * allowed object is * {@link Boolean } * */ public void setImageIsCompressed(Boolean value) { this.imageIsCompressed = value; } public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) { if (!(object instanceof ImageFile)) { return false; } if (this == object) { return true; } if (!super.equals(thisLocator, thatLocator, object, strategy)) { return false; } final ImageFile that = ((ImageFile) object); { ImageFileFormatType lhsImageFileFormat; lhsImageFileFormat = this.getImageFileFormat(); ImageFileFormatType rhsImageFileFormat; rhsImageFileFormat = that.getImageFileFormat(); if (!strategy.equals(LocatorUtils.property(thisLocator, "imageFileFormat", lhsImageFileFormat), LocatorUtils .property(thatLocator, "imageFileFormat", rhsImageFileFormat), lhsImageFileFormat, rhsImageFileFormat)) { return false; } } { IntegerObjectPropertyType lhsImageHeight; lhsImageHeight = this.getImageHeight(); IntegerObjectPropertyType rhsImageHeight; rhsImageHeight = that.getImageHeight(); if (!strategy.equals(LocatorUtils.property(thisLocator, "imageHeight", lhsImageHeight), LocatorUtils.property( thatLocator, "imageHeight", rhsImageHeight), lhsImageHeight, rhsImageHeight)) { return false; } } { IntegerObjectPropertyType lhsImageWidth; lhsImageWidth = this.getImageWidth(); IntegerObjectPropertyType rhsImageWidth; rhsImageWidth = that.getImageWidth(); if (!strategy.equals(LocatorUtils.property(thisLocator, "imageWidth", lhsImageWidth), LocatorUtils.property( thatLocator, "imageWidth", rhsImageWidth), lhsImageWidth, rhsImageWidth)) { return false; } } { PositiveIntegerObjectPropertyType lhsBitsPerPixel; lhsBitsPerPixel = this.getBitsPerPixel(); PositiveIntegerObjectPropertyType rhsBitsPerPixel; rhsBitsPerPixel = that.getBitsPerPixel(); if (!strategy.equals(LocatorUtils.property(thisLocator, "bitsPerPixel", lhsBitsPerPixel), LocatorUtils.property( thatLocator, "bitsPerPixel", rhsBitsPerPixel), lhsBitsPerPixel, rhsBitsPerPixel)) { return false; } } { StringObjectPropertyType lhsCompressionAlgorithm; lhsCompressionAlgorithm = this.getCompressionAlgorithm(); StringObjectPropertyType rhsCompressionAlgorithm; rhsCompressionAlgorithm = that.getCompressionAlgorithm(); if (!strategy.equals(LocatorUtils.property(thisLocator, "compressionAlgorithm", lhsCompressionAlgorithm), LocatorUtils.property(thatLocator, "compressionAlgorithm", rhsCompressionAlgorithm), lhsCompressionAlgorithm, rhsCompressionAlgorithm)) { return false; } } { Boolean lhsImageIsCompressed; lhsImageIsCompressed = this.isImageIsCompressed(); Boolean rhsImageIsCompressed; rhsImageIsCompressed = that.isImageIsCompressed(); if (!strategy.equals(LocatorUtils.property(thisLocator, "imageIsCompressed", lhsImageIsCompressed), LocatorUtils .property(thatLocator, "imageIsCompressed", rhsImageIsCompressed), lhsImageIsCompressed, rhsImageIsCompressed)) { 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); { ImageFileFormatType theImageFileFormat; theImageFileFormat = this.getImageFileFormat(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "imageFileFormat", theImageFileFormat), currentHashCode, theImageFileFormat); } { IntegerObjectPropertyType theImageHeight; theImageHeight = this.getImageHeight(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "imageHeight", theImageHeight), currentHashCode, theImageHeight); } { IntegerObjectPropertyType theImageWidth; theImageWidth = this.getImageWidth(); currentHashCode = strategy .hashCode(LocatorUtils.property(locator, "imageWidth", theImageWidth), currentHashCode, theImageWidth); } { PositiveIntegerObjectPropertyType theBitsPerPixel; theBitsPerPixel = this.getBitsPerPixel(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "bitsPerPixel", theBitsPerPixel), currentHashCode, theBitsPerPixel); } { StringObjectPropertyType theCompressionAlgorithm; theCompressionAlgorithm = this.getCompressionAlgorithm(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "compressionAlgorithm", theCompressionAlgorithm), currentHashCode, theCompressionAlgorithm); } { Boolean theImageIsCompressed; theImageIsCompressed = this.isImageIsCompressed(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "imageIsCompressed", theImageIsCompressed), currentHashCode, theImageIsCompressed); } return currentHashCode; } public int hashCode() { final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE; return this.hashCode(null, strategy); } public ImageFile withImageFileFormat(ImageFileFormatType value) { setImageFileFormat(value); return this; } public ImageFile withImageHeight(IntegerObjectPropertyType value) { setImageHeight(value); return this; } public ImageFile withImageWidth(IntegerObjectPropertyType value) { setImageWidth(value); return this; } public ImageFile withBitsPerPixel(PositiveIntegerObjectPropertyType value) { setBitsPerPixel(value); return this; } public ImageFile withCompressionAlgorithm(StringObjectPropertyType value) { setCompressionAlgorithm(value); return this; } public ImageFile withImageIsCompressed(Boolean value) { setImageIsCompressed(value); return this; } @Override public ImageFile withFileName(StringObjectPropertyType value) { setFileName(value); return this; } @Override public ImageFile withFilePath(FilePathType value) { setFilePath(value); return this; } @Override public ImageFile withDevicePath(StringObjectPropertyType value) { setDevicePath(value); return this; } @Override public ImageFile withFullPath(StringObjectPropertyType value) { setFullPath(value); return this; } @Override public ImageFile withFileExtension(StringObjectPropertyType value) { setFileExtension(value); return this; } @Override public ImageFile withSizeInBytes(UnsignedLongObjectPropertyType value) { setSizeInBytes(value); return this; } @Override public ImageFile withMagicNumber(HexBinaryObjectPropertyType value) { setMagicNumber(value); return this; } @Override public ImageFile withFileFormat(StringObjectPropertyType value) { setFileFormat(value); return this; } @Override public ImageFile withHashes(HashListType value) { setHashes(value); return this; } @Override public ImageFile withDigitalSignatures(DigitalSignaturesType value) { setDigitalSignatures(value); return this; } @Override public ImageFile withModifiedTime(DateTimeObjectPropertyType value) { setModifiedTime(value); return this; } @Override public ImageFile withAccessedTime(DateTimeObjectPropertyType value) { setAccessedTime(value); return this; } @Override public ImageFile withCreatedTime(DateTimeObjectPropertyType value) { setCreatedTime(value); return this; } @Override public ImageFile withFileAttributesList(FileAttributeType value) { setFileAttributesList(value); return this; } @Override public ImageFile withPermissions(FilePermissionsType value) { setPermissions(value); return this; } @Override public ImageFile withUserOwner(StringObjectPropertyType value) { setUserOwner(value); return this; } @Override public ImageFile withPackerList(PackerListType value) { setPackerList(value); return this; } @Override public ImageFile withPeakEntropy(DoubleObjectPropertyType value) { setPeakEntropy(value); return this; } @Override public ImageFile withSymLinks(SymLinksListType value) { setSymLinks(value); return this; } @Override public ImageFile withByteRuns(ByteRunsType value) { setByteRuns(value); return this; } @Override public ImageFile withExtractedFeatures(ExtractedFeaturesType value) { setExtractedFeatures(value); return this; } @Override public ImageFile withEncryptionAlgorithm(CipherType value) { setEncryptionAlgorithm(value); return this; } @Override public ImageFile withDecryptionKey(StringObjectPropertyType value) { setDecryptionKey(value); return this; } @Override public ImageFile withCompressionMethod(StringObjectPropertyType value) { setCompressionMethod(value); return this; } @Override public ImageFile withCompressionVersion(StringObjectPropertyType value) { setCompressionVersion(value); return this; } @Override public ImageFile withCompressionComment(StringObjectPropertyType value) { setCompressionComment(value); return this; } @Override public ImageFile withIsPacked(Boolean value) { setIsPacked(value); return this; } @Override public ImageFile withIsMasqueraded(Boolean value) { setIsMasqueraded(value); return this; } @Override public ImageFile withCustomProperties(CustomPropertiesType value) { setCustomProperties(value); return this; } @Override public ImageFile 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); { ImageFileFormatType theImageFileFormat; theImageFileFormat = this.getImageFileFormat(); strategy.appendField(locator, this, "imageFileFormat", buffer, theImageFileFormat); } { IntegerObjectPropertyType theImageHeight; theImageHeight = this.getImageHeight(); strategy.appendField(locator, this, "imageHeight", buffer, theImageHeight); } { IntegerObjectPropertyType theImageWidth; theImageWidth = this.getImageWidth(); strategy.appendField(locator, this, "imageWidth", buffer, theImageWidth); } { PositiveIntegerObjectPropertyType theBitsPerPixel; theBitsPerPixel = this.getBitsPerPixel(); strategy.appendField(locator, this, "bitsPerPixel", buffer, theBitsPerPixel); } { StringObjectPropertyType theCompressionAlgorithm; theCompressionAlgorithm = this.getCompressionAlgorithm(); strategy.appendField(locator, this, "compressionAlgorithm", buffer, theCompressionAlgorithm); } { Boolean theImageIsCompressed; theImageIsCompressed = this.isImageIsCompressed(); strategy.appendField(locator, this, "imageIsCompressed", buffer, theImageIsCompressed); } 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, ImageFile.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 ImageFile instance for XML String * * @param text * XML String for the document * @return The ImageFile instance for the passed XML String */ public static ImageFile fromXMLString(String text) { JAXBContext jaxbContext; try { jaxbContext = JAXBContext.newInstance(ImageFile.class.getPackage() .getName()); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); unmarshaller.setSchema(STIXSchema.getInstance().getSchema()); unmarshaller.setEventHandler(new ValidationEventHandler()); StreamSource streamSource = new StreamSource(new StringReader(text)); return (ImageFile) unmarshaller.unmarshal(streamSource); } catch (JAXBException e) { throw new RuntimeException(e); } } /** * Validates the XML representation of this ImageFile 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()); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy