org.snmp4j.TransportStateReference Maven / Gradle / Ivy
/*_############################################################################
_##
_## SNMP4J - TransportStateReference.java
_##
_## Copyright (C) 2003-2018 Frank Fock and Jochen Katz (SNMP4J.org)
_##
_## Licensed under the Apache License, Version 2.0 (the "License");
_## you may not use this file except in compliance with the License.
_## You may obtain a copy of the License at
_##
_## http://www.apache.org/licenses/LICENSE-2.0
_##
_## Unless required by applicable law or agreed to in writing, software
_## distributed under the License is distributed on an "AS IS" BASIS,
_## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
_## See the License for the specific language governing permissions and
_## limitations under the License.
_##
_##########################################################################*/
package org.snmp4j;
import org.snmp4j.security.SecurityLevel;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.OctetString;
/**
* The TransportStateReference
class holds information defined by
* RFC 5343 for the tmStateReference ASI elements. Objects of this
* class are cached by security aware {@link TransportMapping}s and
* transport aware {@link org.snmp4j.security.SecurityModel}s.
* @author Frank Fock
* @version 2.0
* @since 2.0
*/
public class TransportStateReference {
private TransportMapping> transport;
private Address address;
private OctetString securityName;
private SecurityLevel requestedSecurityLevel;
private SecurityLevel transportSecurityLevel;
private boolean sameSecurity;
private Object sessionID;
private CertifiedIdentity certifiedIdentity;
public TransportStateReference(TransportMapping> transport,
Address address,
OctetString securityName,
SecurityLevel requestedSecurityLevel,
SecurityLevel transportSecurityLevel,
boolean sameSecurity,
Object sessionID) {
this.transport = transport;
this.address = address;
this.securityName = securityName;
this.requestedSecurityLevel = requestedSecurityLevel;
this.transportSecurityLevel = transportSecurityLevel;
this.sameSecurity = sameSecurity;
this.sessionID = sessionID;
}
public TransportStateReference(TransportMapping> transport,
Address address,
OctetString securityName,
SecurityLevel requestedSecurityLevel,
SecurityLevel transportSecurityLevel,
boolean sameSecurity,
Object sessionID,
CertifiedIdentity certifiedIdentity) {
this(transport, address, securityName, requestedSecurityLevel, transportSecurityLevel,
sameSecurity, sessionID);
this.certifiedIdentity = certifiedIdentity;
}
public void setTransport(TransportMapping> transport) {
this.transport = transport;
}
public TransportMapping> getTransport() {
return transport;
}
public Address getAddress() {
return address;
}
public OctetString getSecurityName() {
return securityName;
}
public SecurityLevel getRequestedSecurityLevel() {
return requestedSecurityLevel;
}
public SecurityLevel getTransportSecurityLevel() {
return transportSecurityLevel;
}
public boolean isSameSecurity() {
return sameSecurity;
}
public Object getSessionID() {
return sessionID;
}
public void setSecurityName(OctetString securityName) {
this.securityName = securityName;
}
public void setRequestedSecurityLevel(SecurityLevel requestedSecurityLevel) {
this.requestedSecurityLevel = requestedSecurityLevel;
}
public void setTransportSecurityLevel(SecurityLevel transportSecurityLevel) {
this.transportSecurityLevel = transportSecurityLevel;
}
public void setSameSecurity(boolean sameSecurity) {
this.sameSecurity = sameSecurity;
}
public CertifiedIdentity getCertifiedIdentity() {
return certifiedIdentity;
}
/**
* Checks if transport, address, securityName and transportSecurityLevel
* are valid (not null).
* @return
* true
if the above fields are not null
.
*/
public boolean isTransportSecurityValid() {
return ((transport != null) && (address != null) && (securityName != null) &&
(transportSecurityLevel != null));
}
@Override
public String toString() {
return "TransportStateReference[" +
"transport=" + transport +
", address=" + address +
", securityName=" + securityName +
", requestedSecurityLevel=" + requestedSecurityLevel +
", transportSecurityLevel=" + transportSecurityLevel +
", sameSecurity=" + sameSecurity +
", sessionID=" + sessionID +
", certifiedIdentity=" + certifiedIdentity +
']';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy