/*******************************************************************************
* This file is part of OpenNMS(R).
*
* Copyright (C) 2011 The OpenNMS Group, Inc.
* OpenNMS(R) is Copyright (C) 1999-2011 The OpenNMS Group, Inc.
*
* OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
*
* OpenNMS(R) is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation, either version 3 of the License,
* or (at your option) any later version.
*
* OpenNMS(R) is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with OpenNMS(R). If not, see:
* http://www.gnu.org/licenses/
*
* For more information contact:
* OpenNMS(R) Licensing <license@opennms.org>
* http://www.opennms.org/
* http://www.opennms.com/
*******************************************************************************/
/*
* This class was automatically generated with
* <a href="http://www.castor.org">Castor 1.1.2.1</a>, using an XML
* Schema.
* $Id$
*/
package org.opennms.netmgt.xml.event;
//---------------------------------/
//- Imported classes and packages -/
//---------------------------------/
import java.io.Serializable;
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 org.apache.commons.lang.builder.ToStringBuilder;
/**
* The event correlation information
*
* @version $Revision$ $Date$
*/
@XmlRootElement(name="correlation")
@XmlAccessorType(XmlAccessType.FIELD)
//@ValidateUsing("event.xsd")
public class Correlation implements Serializable {
private static final long serialVersionUID = 7883869597194555535L;
//--------------------------/
//- Class/Member Variables -/
//--------------------------/
/**
* The state determines if event is
* correlated
*/
@XmlAttribute(name="state")
private java.lang.String _state = "off";
/**
* Field _path.
*/
@XmlAttribute(name="path")
private java.lang.String _path = "suppressDuplicates".intern();
/**
* A cancelling UEI for this event
*/
@XmlElement(name="cuei")
private java.util.List<java.lang.String> _cueiList;
/**
* The minimum count for this event
*/
@XmlElement(name="cmin")
private java.lang.String _cmin;
/**
* The maximum count for this event
*/
@XmlElement(name="cmax")
private java.lang.String _cmax;
/**
* The correlation time for this event
*/
@XmlElement(name="ctime")
private java.lang.String _ctime;
//----------------/
//- Constructors -/
//----------------/
public Correlation() {
super();
setState("off");
setPath("suppressDuplicates".intern());
this._cueiList = new java.util.ArrayList<java.lang.String>();
}
//-----------/
//- Methods -/
//-----------/
/**
*
*
* @param vCuei
* @throws java.lang.IndexOutOfBoundsException if the index
* given is outside the bounds of the collection
*/
public void addCuei(
final java.lang.String vCuei)
throws java.lang.IndexOutOfBoundsException {
this._cueiList.add(vCuei);
}
/**
*
*
* @param index
* @param vCuei
* @throws java.lang.IndexOutOfBoundsException if the index
* given is outside the bounds of the collection
*/
public void addCuei(
final int index,
final java.lang.String vCuei)
throws java.lang.IndexOutOfBoundsException {
this._cueiList.add(index, vCuei);
}
/**
* Method enumerateCuei.
*
* @return an Enumeration over all possible elements of this
* collection
*/
public java.util.Enumeration<java.lang.String> enumerateCuei(
) {
return java.util.Collections.enumeration(this._cueiList);
}
/**
* Returns the value of field 'cmax'. The field 'cmax' has the
* following description: The maximum count for this event
*
* @return the value of field 'Cmax'.
*/
public java.lang.String getCmax(
) {
return this._cmax;
}
/**
* Returns the value of field 'cmin'. The field 'cmin' has the
* following description: The minimum count for this event
*
* @return the value of field 'Cmin'.
*/
public java.lang.String getCmin(
) {
return this._cmin;
}
/**
* Returns the value of field 'ctime'. The field 'ctime' has
* the following description: The correlation time for this
* event
*
* @return the value of field 'Ctime'.
*/
public java.lang.String getCtime(
) {
return this._ctime;
}
/**
* Method getCuei.
*
* @param index
* @throws java.lang.IndexOutOfBoundsException if the index
* given is outside the bounds of the collection
* @return the value of the java.lang.String at the given index
*/
public java.lang.String getCuei(
final int index)
throws java.lang.IndexOutOfBoundsException {
// check bounds for index
if (index < 0 || index >= this._cueiList.size()) {
throw new IndexOutOfBoundsException("getCuei: Index value '" + index + "' not in range [0.." + (this._cueiList.size() - 1) + "]");
}
return (java.lang.String) _cueiList.get(index);
}
/**
* Method getCuei.Returns the contents of the collection in an
* Array. <p>Note: Just in case the collection contents are
* changing in another thread, we pass a 0-length Array of the
* correct type into the API call. This way we <i>know</i>
* that the Array returned is of exactly the correct length.
*
* @return this collection as an Array
*/
public java.lang.String[] getCuei(
) {
java.lang.String[] array = new java.lang.String[0];
return (java.lang.String[]) this._cueiList.toArray(array);
}
/**
* Method getCueiCollection.Returns a reference to '_cueiList'.
* No type checking is performed on any modifications to the
* Vector.
*
* @return a reference to the Vector backing this class
*/
public java.util.List<java.lang.String> getCueiCollection(
) {
return this._cueiList;
}
/**
* Method getCueiCount.
*
* @return the size of this collection
*/
public int getCueiCount(
) {
return this._cueiList.size();
}
/**
* Returns the value of field 'path'.
*
* @return the value of field 'Path'.
*/
public java.lang.String getPath(
) {
return this._path;
}
/**
* Returns the value of field 'state'. The field 'state' has
* the following description: The state determines if event is
* correlated
*
* @return the value of field 'State'.
*/
public java.lang.String getState(
) {
return this._state;
}
/**
* Method iterateCuei.
*
* @return an Iterator over all possible elements in this
* collection
*/
public java.util.Iterator<java.lang.String> iterateCuei(
) {
return this._cueiList.iterator();
}
/**
*/
public void removeAllCuei(
) {
this._cueiList.clear();
}
/**
* Method removeCuei.
*
* @param vCuei
* @return true if the object was removed from the collection.
*/
public boolean removeCuei(
final java.lang.String vCuei) {
boolean removed = _cueiList.remove(vCuei);
return removed;
}
/**
* Method removeCueiAt.
*
* @param index
* @return the element removed from the collection
*/
public java.lang.String removeCueiAt(
final int index) {
java.lang.Object obj = this._cueiList.remove(index);
return (java.lang.String) obj;
}
/**
* Sets the value of field 'cmax'. The field 'cmax' has the
* following description: The maximum count for this event
*
* @param cmax the value of field 'cmax'.
*/
public void setCmax(
final java.lang.String cmax) {
this._cmax = cmax;
}
/**
* Sets the value of field 'cmin'. The field 'cmin' has the
* following description: The minimum count for this event
*
* @param cmin the value of field 'cmin'.
*/
public void setCmin(
final java.lang.String cmin) {
this._cmin = cmin;
}
/**
* Sets the value of field 'ctime'. The field 'ctime' has the
* following description: The correlation time for this event
*
* @param ctime the value of field 'ctime'.
*/
public void setCtime(
final java.lang.String ctime) {
this._ctime = ctime;
}
/**
*
*
* @param index
* @param vCuei
* @throws java.lang.IndexOutOfBoundsException if the index
* given is outside the bounds of the collection
*/
public void setCuei(
final int index,
final java.lang.String vCuei)
throws java.lang.IndexOutOfBoundsException {
// check bounds for index
if (index < 0 || index >= this._cueiList.size()) {
throw new IndexOutOfBoundsException("setCuei: Index value '" + index + "' not in range [0.." + (this._cueiList.size() - 1) + "]");
}
this._cueiList.set(index, vCuei);
}
/**
*
*
* @param vCueiArray
*/
public void setCuei(
final java.lang.String[] vCueiArray) {
//-- copy array
_cueiList.clear();
for (int i = 0; i < vCueiArray.length; i++) {
this._cueiList.add(vCueiArray[i]);
}
}
/**
* Sets the value of '_cueiList' by copying the given Vector.
* All elements will be checked for type safety.
*
* @param vCueiList the Vector to copy.
*/
public void setCuei(
final java.util.List<java.lang.String> vCueiList) {
// copy vector
this._cueiList.clear();
this._cueiList.addAll(vCueiList);
}
/**
* Sets the value of '_cueiList' by setting it to the given
* Vector. No type checking is performed.
* @deprecated
*
* @param cueiList the Vector to set.
*/
public void setCueiCollection(
final java.util.List<java.lang.String> cueiList) {
this._cueiList = cueiList;
}
/**
* Sets the value of field 'path'.
*
* @param path the value of field 'path'.
*/
public void setPath(
final java.lang.String path) {
this._path = path.intern();
}
/**
* Sets the value of field 'state'. The field 'state' has the
* following description: The state determines if event is
* correlated
*
* @param state the value of field 'state'.
*/
public void setState(
final java.lang.String state) {
this._state = state;
}
public String toString() {
return new ToStringBuilder(this)
.append("state", _state)
.append("path", _path)
.append("cuei", _cueiList)
.append("cmin", _cmin)
.append("cmax", _cmax)
.append("ctime", _ctime)
.toString();
}
}