package freenet.node;
import freenet.node.DarknetPeerNode.FRIEND_TRUST;
import freenet.node.DarknetPeerNode.FRIEND_VISIBILITY;
public class DarknetPeerNodeStatus extends PeerNodeStatus {
private final String name;
private final boolean burstOnly;
private final boolean listening;
private final boolean disabled;
private final String privateDarknetCommentNote;
private FRIEND_TRUST trustLevel;
private FRIEND_VISIBILITY ourVisibility;
private FRIEND_VISIBILITY theirVisibility;
private FRIEND_VISIBILITY overallVisibility;
public DarknetPeerNodeStatus(DarknetPeerNode peerNode, boolean noHeavy) {
super(peerNode, noHeavy);
this.name = peerNode.getName();
this.burstOnly = peerNode.isBurstOnly();
this.listening = peerNode.isListenOnly();
this.disabled = peerNode.isDisabled();
this.privateDarknetCommentNote = peerNode.getPrivateDarknetCommentNote();
this.trustLevel = peerNode.getTrustLevel();
this.ourVisibility = peerNode.getOurVisibility();
this.theirVisibility = peerNode.getTheirVisibility();
if(ourVisibility.isStricterThan(theirVisibility))
this.overallVisibility = ourVisibility;
else
this.overallVisibility = theirVisibility;
}
/**
* @return The peer's trust level.
*/
public FRIEND_TRUST getTrustLevel() {
return trustLevel;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @return the burstOnly
*/
public boolean isBurstOnly() {
return burstOnly;
}
/**
* @return the disabled
*/
public boolean isDisabled() {
return disabled;
}
/**
* @return the listening
*/
public boolean isListening() {
return listening;
}
/**
* @return the privateDarknetCommentNote
*/
public String getPrivateDarknetCommentNote() {
return privateDarknetCommentNote;
}
@Override
public String toString() {
return name + ' ' + super.toString();
}
public FRIEND_VISIBILITY getOurVisibility() {
return ourVisibility;
}
public FRIEND_VISIBILITY getTheirVisibility() {
if(theirVisibility == null)
return FRIEND_VISIBILITY.NO;
return theirVisibility;
}
public FRIEND_VISIBILITY getOverallVisibility() {
return overallVisibility;
}
}