votorola.a.register
Interface ListNode

All Superinterfaces:
Serializable
All Known Implementing Classes:
ListNode0, ListNodeC, ListNodeIC

public interface ListNode
extends Serializable

A node representing a single voter in a compiled voter list.

See Also:
TrustEdge

Method Summary
 int doubterCount()
          The number of doubt signals extended to this voter, from unbarred voters.
 String getBar()
          The list bar against the voter, if any.
 String getNeighbourhoodPath()
          The path to the voter's leaf neighbourhood, where she resides.
 String getResidence()
          The primary residential address of the voter.
 String leafRegisterPath()
          Returns the slash-delimited (/) path to the voter's leaf register, within the sub-hierarchy of electoral offices.
 int primaryTrustEdgeCount()
          The number of primary trust extending to this node.
 int trustLevel()
          Calculates the trust level of this node.
 String voterEmail()
          Identifies the voter.
 

Method Detail

doubterCount

int doubterCount()
The number of doubt signals extended to this voter, from unbarred voters. Doubt signals from list-barred voters are excluded from this count.

See Also:
DoubtSignal

getBar

String getBar()
The list bar against the voter, if any. A barred voter does not appear in the compiled voter list (unless clearly marked as barred), and is ineligible to vote in any of the elections. Criteria for list bars include, for example, the voter being registered; living in the general electoral district that the office serves; and having sufficient trust to appear in the list.

The bar is intended for voters to read. It ought to include the email address of the barred voter. It ought to provide information that will be helpful in allowing the voter to overcome the bar, where possible (for instance, by correcting a registration error).

Returns:
description of bar, or null if there is no bar
See Also:
CountNode.getBar(), ListNodeC.defaultRootNeighbourhoodBar(String)

getNeighbourhoodPath

String getNeighbourhoodPath()
The path to the voter's leaf neighbourhood, where she resides. It is used during indexing of the voter list, and determines where her name will appear in the compiled list.

If the path is empty (root leaf), then the bar is guaranteed to be non-null, barring the voter from the list. Because the list browsing facilities cannot display voters at the root leaf, we avoid confusion by barring them from the outset.

Returns:
a non-null string, possibly empty (the leaf on the root)
See Also:
Neighbourhood

getResidence

String getResidence()
The primary residential address of the voter.

Returns:
residential address, or null if unknown
See Also:
Registration.getResidence()

leafRegisterPath

String leafRegisterPath()
Returns the slash-delimited (/) path to the voter's leaf register, within the sub-hierarchy of electoral offices. Each element of the path is a service email identifier designating a single sub-register. The path is anchored in the trace register of this electoral office (which is not itself expressed as an element), and terminates with the voter's most immediate register (i.e. the leaf register). For example, if this is the Canadian national office, then the path to its Toronto leaf register might be:
register@v4ontario.ca/register@v2toronto.ca

If the trace register is the leaf register (if this is the Toronto office, for example), then a dot (.) is returned.

Returns:
path to voter's leaf register, or '.' if the trace register is the leaf

primaryTrustEdgeCount

int primaryTrustEdgeCount()
The number of primary trust extending to this node.


trustLevel

int trustLevel()
Calculates the trust level of this node. The trust level is the highest level (T) among all immediate trust sources, such that the count of sources at that level or higher (nT) is at least equal to T (nT >= T). For example, to have a trust level of 3, this node must have 3 or more immediate trust sources, each itself at level 3 or higher.


voterEmail

String voterEmail()
Identifies the voter.

Returns:
canonical email address (having no personal part)
See Also:
Registration.voterEmail()