////////////////////////////////////////////////////////////////////////
//
// QoIIntegrityAttrType.java
//
// This file was generated by XMLSpy 2014 Enterprise Edition.
//
// YOU SHOULD NOT MODIFY THIS FILE, BECAUSE IT WILL BE
// OVERWRITTEN WHEN YOU RE-RUN CODE GENERATION.
//
// Refer to the XMLSpy Documentation for further details.
// http://www.altova.com/xmlspy
//
////////////////////////////////////////////////////////////////////////

package com.MetaData;

public class QoIIntegrityAttrType extends com.altova.xml.TypeBase
{
	public static com.altova.xml.meta.ComplexType getStaticInfo() { return new com.altova.xml.meta.ComplexType(com.MetaData.MetaData_TypeInfo.binder.getTypes()[com.MetaData.MetaData_TypeInfo._altova_ti_altova_QoIIntegrityAttrType]); }
	
	public QoIIntegrityAttrType(org.w3c.dom.Node init)
	{
		super(init);
		instantiateMembers();
	}

	private void instantiateMembers()
	{

		sourceIntegrity= new MemberElement_sourceIntegrity (this, com.MetaData.MetaData_TypeInfo.binder.getMembers()[com.MetaData.MetaData_TypeInfo._altova_mi_altova_QoIIntegrityAttrType._sourceIntegrity]);
		channelIntegrity= new MemberElement_channelIntegrity (this, com.MetaData.MetaData_TypeInfo.binder.getMembers()[com.MetaData.MetaData_TypeInfo._altova_mi_altova_QoIIntegrityAttrType._channelIntegrity]);
		auditability= new MemberElement_auditability (this, com.MetaData.MetaData_TypeInfo.binder.getMembers()[com.MetaData.MetaData_TypeInfo._altova_mi_altova_QoIIntegrityAttrType._auditability]);
		attestability= new MemberElement_attestability (this, com.MetaData.MetaData_TypeInfo.binder.getMembers()[com.MetaData.MetaData_TypeInfo._altova_mi_altova_QoIIntegrityAttrType._attestability]);
		confidentiality= new MemberElement_confidentiality (this, com.MetaData.MetaData_TypeInfo.binder.getMembers()[com.MetaData.MetaData_TypeInfo._altova_mi_altova_QoIIntegrityAttrType._confidentiality]);
	}
	// Attributes


	// Elements
	
	public MemberElement_sourceIntegrity sourceIntegrity;

		public static class MemberElement_sourceIntegrity
		{
			public static class MemberElement_sourceIntegrity_Iterator implements java.util.Iterator
			{
				private org.w3c.dom.Node nextNode;
				private MemberElement_sourceIntegrity member;
				public MemberElement_sourceIntegrity_Iterator(MemberElement_sourceIntegrity member) {this.member=member; nextNode=member.owner.getElementFirst(member.info);}
				public boolean hasNext() 
				{
					while (nextNode != null)
					{
						if (com.altova.xml.TypeBase.memberEqualsNode(member.info, nextNode))
							return true;
						nextNode = nextNode.getNextSibling();
					}
					return false;
				}
				
				public Object next()
				{
					QoIMetric nx = new QoIMetric(nextNode);
					nextNode = nextNode.getNextSibling();
					return nx;
				}
				
				public void remove () {}
			}
			protected com.altova.xml.TypeBase owner;
			protected com.altova.typeinfo.MemberInfo info;
			public MemberElement_sourceIntegrity (com.altova.xml.TypeBase owner, com.altova.typeinfo.MemberInfo info) { this.owner = owner; this.info = info;}
			public QoIMetric at(int index) {return new QoIMetric(owner.getElementAt(info, index));}
			public QoIMetric first() {return new QoIMetric(owner.getElementFirst(info));}
			public QoIMetric last(){return new QoIMetric(owner.getElementLast(info));}
			public QoIMetric append(){return new QoIMetric(owner.createElement(info));}
			public boolean exists() {return count() > 0;}
			public int count() {return owner.countElement(info);}
			public void remove() {owner.removeElement(info);}
			public void removeAt(int index) {owner.removeElementAt(info, index);}
			public java.util.Iterator iterator() {return new MemberElement_sourceIntegrity_Iterator(this);}
			public com.altova.xml.meta.Element getInfo() { return new com.altova.xml.meta.Element(info); }
		}
	
	public MemberElement_channelIntegrity channelIntegrity;

		public static class MemberElement_channelIntegrity
		{
			public static class MemberElement_channelIntegrity_Iterator implements java.util.Iterator
			{
				private org.w3c.dom.Node nextNode;
				private MemberElement_channelIntegrity member;
				public MemberElement_channelIntegrity_Iterator(MemberElement_channelIntegrity member) {this.member=member; nextNode=member.owner.getElementFirst(member.info);}
				public boolean hasNext() 
				{
					while (nextNode != null)
					{
						if (com.altova.xml.TypeBase.memberEqualsNode(member.info, nextNode))
							return true;
						nextNode = nextNode.getNextSibling();
					}
					return false;
				}
				
				public Object next()
				{
					QoIMetric nx = new QoIMetric(nextNode);
					nextNode = nextNode.getNextSibling();
					return nx;
				}
				
				public void remove () {}
			}
			protected com.altova.xml.TypeBase owner;
			protected com.altova.typeinfo.MemberInfo info;
			public MemberElement_channelIntegrity (com.altova.xml.TypeBase owner, com.altova.typeinfo.MemberInfo info) { this.owner = owner; this.info = info;}
			public QoIMetric at(int index) {return new QoIMetric(owner.getElementAt(info, index));}
			public QoIMetric first() {return new QoIMetric(owner.getElementFirst(info));}
			public QoIMetric last(){return new QoIMetric(owner.getElementLast(info));}
			public QoIMetric append(){return new QoIMetric(owner.createElement(info));}
			public boolean exists() {return count() > 0;}
			public int count() {return owner.countElement(info);}
			public void remove() {owner.removeElement(info);}
			public void removeAt(int index) {owner.removeElementAt(info, index);}
			public java.util.Iterator iterator() {return new MemberElement_channelIntegrity_Iterator(this);}
			public com.altova.xml.meta.Element getInfo() { return new com.altova.xml.meta.Element(info); }
		}
	
	public MemberElement_auditability auditability;

		public static class MemberElement_auditability
		{
			public static class MemberElement_auditability_Iterator implements java.util.Iterator
			{
				private org.w3c.dom.Node nextNode;
				private MemberElement_auditability member;
				public MemberElement_auditability_Iterator(MemberElement_auditability member) {this.member=member; nextNode=member.owner.getElementFirst(member.info);}
				public boolean hasNext() 
				{
					while (nextNode != null)
					{
						if (com.altova.xml.TypeBase.memberEqualsNode(member.info, nextNode))
							return true;
						nextNode = nextNode.getNextSibling();
					}
					return false;
				}
				
				public Object next()
				{
					QoIMetric nx = new QoIMetric(nextNode);
					nextNode = nextNode.getNextSibling();
					return nx;
				}
				
				public void remove () {}
			}
			protected com.altova.xml.TypeBase owner;
			protected com.altova.typeinfo.MemberInfo info;
			public MemberElement_auditability (com.altova.xml.TypeBase owner, com.altova.typeinfo.MemberInfo info) { this.owner = owner; this.info = info;}
			public QoIMetric at(int index) {return new QoIMetric(owner.getElementAt(info, index));}
			public QoIMetric first() {return new QoIMetric(owner.getElementFirst(info));}
			public QoIMetric last(){return new QoIMetric(owner.getElementLast(info));}
			public QoIMetric append(){return new QoIMetric(owner.createElement(info));}
			public boolean exists() {return count() > 0;}
			public int count() {return owner.countElement(info);}
			public void remove() {owner.removeElement(info);}
			public void removeAt(int index) {owner.removeElementAt(info, index);}
			public java.util.Iterator iterator() {return new MemberElement_auditability_Iterator(this);}
			public com.altova.xml.meta.Element getInfo() { return new com.altova.xml.meta.Element(info); }
		}
	
	public MemberElement_attestability attestability;

		public static class MemberElement_attestability
		{
			public static class MemberElement_attestability_Iterator implements java.util.Iterator
			{
				private org.w3c.dom.Node nextNode;
				private MemberElement_attestability member;
				public MemberElement_attestability_Iterator(MemberElement_attestability member) {this.member=member; nextNode=member.owner.getElementFirst(member.info);}
				public boolean hasNext() 
				{
					while (nextNode != null)
					{
						if (com.altova.xml.TypeBase.memberEqualsNode(member.info, nextNode))
							return true;
						nextNode = nextNode.getNextSibling();
					}
					return false;
				}
				
				public Object next()
				{
					QoIMetric nx = new QoIMetric(nextNode);
					nextNode = nextNode.getNextSibling();
					return nx;
				}
				
				public void remove () {}
			}
			protected com.altova.xml.TypeBase owner;
			protected com.altova.typeinfo.MemberInfo info;
			public MemberElement_attestability (com.altova.xml.TypeBase owner, com.altova.typeinfo.MemberInfo info) { this.owner = owner; this.info = info;}
			public QoIMetric at(int index) {return new QoIMetric(owner.getElementAt(info, index));}
			public QoIMetric first() {return new QoIMetric(owner.getElementFirst(info));}
			public QoIMetric last(){return new QoIMetric(owner.getElementLast(info));}
			public QoIMetric append(){return new QoIMetric(owner.createElement(info));}
			public boolean exists() {return count() > 0;}
			public int count() {return owner.countElement(info);}
			public void remove() {owner.removeElement(info);}
			public void removeAt(int index) {owner.removeElementAt(info, index);}
			public java.util.Iterator iterator() {return new MemberElement_attestability_Iterator(this);}
			public com.altova.xml.meta.Element getInfo() { return new com.altova.xml.meta.Element(info); }
		}
	
	public MemberElement_confidentiality confidentiality;

		public static class MemberElement_confidentiality
		{
			public static class MemberElement_confidentiality_Iterator implements java.util.Iterator
			{
				private org.w3c.dom.Node nextNode;
				private MemberElement_confidentiality member;
				public MemberElement_confidentiality_Iterator(MemberElement_confidentiality member) {this.member=member; nextNode=member.owner.getElementFirst(member.info);}
				public boolean hasNext() 
				{
					while (nextNode != null)
					{
						if (com.altova.xml.TypeBase.memberEqualsNode(member.info, nextNode))
							return true;
						nextNode = nextNode.getNextSibling();
					}
					return false;
				}
				
				public Object next()
				{
					QoIMetric nx = new QoIMetric(nextNode);
					nextNode = nextNode.getNextSibling();
					return nx;
				}
				
				public void remove () {}
			}
			protected com.altova.xml.TypeBase owner;
			protected com.altova.typeinfo.MemberInfo info;
			public MemberElement_confidentiality (com.altova.xml.TypeBase owner, com.altova.typeinfo.MemberInfo info) { this.owner = owner; this.info = info;}
			public QoIMetric at(int index) {return new QoIMetric(owner.getElementAt(info, index));}
			public QoIMetric first() {return new QoIMetric(owner.getElementFirst(info));}
			public QoIMetric last(){return new QoIMetric(owner.getElementLast(info));}
			public QoIMetric append(){return new QoIMetric(owner.createElement(info));}
			public boolean exists() {return count() > 0;}
			public int count() {return owner.countElement(info);}
			public void remove() {owner.removeElement(info);}
			public void removeAt(int index) {owner.removeElementAt(info, index);}
			public java.util.Iterator iterator() {return new MemberElement_confidentiality_Iterator(this);}
			public com.altova.xml.meta.Element getInfo() { return new com.altova.xml.meta.Element(info); }
		}
}
