org.mitre.stix.ttp_1.ObjectFactory Maven / Gradle / Ivy
Show all versions of stix Show documentation
/**
* 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.stix.ttp_1;
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.XmlRegistry;
import javax.xml.namespace.QName;
import javax.xml.transform.stream.StreamSource;
import org.mitre.stix.DocumentUtilities;
import org.mitre.stix.STIXSchema;
import org.mitre.stix.ValidationEventHandler;
/**
* This object contains factory methods for each
* Java content interface and Java element interface
* generated in the org.mitre.stix.ttp_1 package.
* An ObjectFactory allows you to programatically
* construct new instances of the Java representation
* for XML content. The Java representation of XML
* content can consist of schema derived interfaces
* and classes representing the binding of schema
* type definitions, element declarations and model
* groups. Factory methods for each of these are
* provided in this class.
*
*/
@XmlRegistry
public class ObjectFactory {
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.mitre.stix.ttp_1
*
*/
public ObjectFactory() {
}
/**
* Create an instance of {@link TTP }
*
*/
public TTP createTTP() {
return new TTP();
}
/**
* Create an instance of {@link BehaviorType }
*
*/
public BehaviorType createBehaviorType() {
return new BehaviorType();
}
/**
* Create an instance of {@link ResourceType }
*
*/
public ResourceType createResourceType() {
return new ResourceType();
}
/**
* Create an instance of {@link VictimTargetingType }
*
*/
public VictimTargetingType createVictimTargetingType() {
return new VictimTargetingType();
}
/**
* Create an instance of {@link ExploitTargetsType }
*
*/
public ExploitTargetsType createExploitTargetsType() {
return new ExploitTargetsType();
}
/**
* Create an instance of {@link RelatedTTPsType }
*
*/
public RelatedTTPsType createRelatedTTPsType() {
return new RelatedTTPsType();
}
/**
* Create an instance of {@link PersonasType }
*
*/
public PersonasType createPersonasType() {
return new PersonasType();
}
/**
* Create an instance of {@link AttackPatternType }
*
*/
public AttackPatternType createAttackPatternType() {
return new AttackPatternType();
}
/**
* Create an instance of {@link ToolsType }
*
*/
public ToolsType createToolsType() {
return new ToolsType();
}
/**
* Create an instance of {@link MalwareType }
*
*/
public MalwareType createMalwareType() {
return new MalwareType();
}
/**
* Create an instance of {@link MalwareInstanceType }
*
*/
public MalwareInstanceType createMalwareInstanceType() {
return new MalwareInstanceType();
}
/**
* Create an instance of {@link ExploitType }
*
*/
public ExploitType createExploitType() {
return new ExploitType();
}
/**
* Create an instance of {@link AttackPatternsType }
*
*/
public AttackPatternsType createAttackPatternsType() {
return new AttackPatternsType();
}
/**
* Create an instance of {@link InfrastructureType }
*
*/
public InfrastructureType createInfrastructureType() {
return new InfrastructureType();
}
/**
* Create an instance of {@link ExploitsType }
*
*/
public ExploitsType createExploitsType() {
return new ExploitsType();
}
/**
* 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, ObjectFactory.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 ObjectFactory instance for XML String
*
* @param text
* XML String for the document
* @return The ObjectFactory instance for the passed XML String
*/
public static ObjectFactory fromXMLString(String text) {
JAXBContext jaxbContext;
try {
jaxbContext = JAXBContext.newInstance(ObjectFactory.class
.getPackage().getName());
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setSchema(STIXSchema.getInstance().getSchema());
unmarshaller.setEventHandler(new ValidationEventHandler());
StreamSource streamSource = new StreamSource(new StringReader(text));
return (ObjectFactory) unmarshaller.unmarshal(streamSource);
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
/**
* Validates the XML representation of this ObjectFactory instance
* Returning true indicating a successful validation, false if not.
*
* @return boolean
*/
public boolean validate() {
return STIXSchema.getInstance().validate(toXMLString());
}
}