|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object anon.infoservice.AbstractDatabaseEntry anon.infoservice.AbstractDistributableDatabaseEntry anon.infoservice.AbstractDistributableCertifiedDatabaseEntry anon.infoservice.MixInfo
public class MixInfo
Holds the information of one single mix.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class anon.infoservice.AbstractDistributableDatabaseEntry |
---|
AbstractDistributableDatabaseEntry.SerialDBEntry, AbstractDistributableDatabaseEntry.Serials |
Field Summary | |
---|---|
static int |
FIRST_MIX
|
static java.lang.String |
INFOSERVICE_COMMAND_WEBINFO
|
static java.lang.String |
INFOSERVICE_COMMAND_WEBINFOS
|
static int |
LAST_MIX
|
private boolean |
m_bFromCascade
If this MixInfo has been recevied directly from a cascade connection. |
private boolean |
m_bPayment
|
private boolean |
m_bSocks
|
private boolean |
m_bUseCascadeNameFragment
|
private DataRetentionInformation |
m_drInfo
|
private boolean |
m_dynamic
LERNGRUPPE Indicates if this mix is available for dynamic cascades |
private boolean |
m_freeMix
Stores whether the mix is waiting for a cascade assignment. |
private long |
m_lastUpdate
Time (see System.currentTimeMillis()) when the mix has sent this HELO message. |
private MultiCertPath |
m_mixCertPath
Stores the certPath for this mix. |
private java.lang.String |
m_mixId
This is the ID of the mix. |
private ServiceLocation |
m_mixLocation
Some information about the location of the mix. |
private ServiceOperator |
m_mixOperator
Some information about the operator of the mix. |
private XMLSignature |
m_mixSignature
Stores the signature element for this mix. |
private ServiceSoftware |
m_mixSoftware
Some information about the used mix software. |
private TermsAndConditionsMixInfo |
m_mixTnCInfo
|
private java.lang.String |
m_name
The name of the mix. |
private java.lang.String |
m_nameFragmentForCascade
The name to contribute to the cascade name . |
private long |
m_prepaidInterval
Amount of bytes that the JAP has to prepay with this Cascade |
private XMLPriceCertificate |
m_priceCert
The price certificate for the Mix |
private long |
m_serial
|
private int |
m_type
LERNGRUPPE This is the type of the mix |
private java.util.Vector |
m_vecListenerAdresses
|
private java.util.Vector |
m_vecListenerInterfaces
|
private java.util.Vector |
m_vecListenerMonitoring
|
private java.util.Vector |
m_vecVisibleAdresses
Stores all exit IP addresses of this mix. |
private org.w3c.dom.Element |
m_xmlStructure
Stores the XML structure for this mix. |
static int |
MIDDLE_MIX
|
static java.lang.String |
NAME_TYPE_MIX
|
static java.lang.String |
NAME_TYPE_OPERATOR
|
private static java.lang.String |
XML_ATTR_PAYMENT
|
static java.lang.String |
XML_ATTRIBUTE_NAME_FOR_CASCADE
|
private static java.lang.String |
XML_ELEM_SERVER_MONITORING
|
static java.lang.String |
XML_ELEMENT_CONTAINER_NAME
|
static java.lang.String |
XML_ELEMENT_MIX_NAME
|
static java.lang.String |
XML_ELEMENT_NAME
|
private static java.lang.String |
XML_ELEMENT_WEBINFO
|
static java.lang.String |
XML_ELEMENT_WEBINFO_CONTAINER
|
Fields inherited from class anon.infoservice.AbstractDistributableDatabaseEntry |
---|
XML_ATTR_LAST_UPDATE, XML_ATTR_SERIAL, XML_ATTR_VALID, XML_ATTR_VERIFIED |
Fields inherited from class anon.infoservice.AbstractDatabaseEntry |
---|
XML_LAST_UPDATE |
Fields inherited from interface anon.infoservice.Database.IWebInfo |
---|
FIELD_XML_ELEMENT_WEBINFO_CONTAINER |
Fields inherited from interface anon.infoservice.IDistributable |
---|
FIELD_HTTP_REQUEST_STRING, FIELD_HTTP_SERIALS_REQUEST_STRING |
Fields inherited from interface anon.util.IXMLEncodable |
---|
FIELD_XML_ELEMENT_CONTAINER_NAME, FIELD_XML_ELEMENT_NAME, XML_ATTR_ID, XML_ATTR_LANGUAGE, XML_ATTR_VERSION |
Constructor Summary | |
---|---|
MixInfo(org.w3c.dom.Element a_mixNode)
Creates a new MixInfo from XML description (Mix node). |
|
MixInfo(org.w3c.dom.Element a_mixNode,
long a_expireTime)
Creates a new MixInfo from XML description (Mix node). |
|
MixInfo(org.w3c.dom.Element a_mixNode,
long a_expireTime,
boolean a_bFromCascade)
Creates a new MixInfo from XML description (Mix node). |
|
MixInfo(MultiCertPath a_certPath)
|
|
MixInfo(java.lang.String a_mixID,
MultiCertPath a_certPath,
XMLPriceCertificate a_priceCert,
long a_prepaidInterval)
|
Method Summary | |
---|---|
private void |
appendListenerInterfaces(org.w3c.dom.Element a_rootElement,
java.util.Vector a_listenerInterfaces)
|
void |
deletePersistence()
|
MultiCertPath |
getCertPath()
Returns the CertPath of the mix For MixInfo-Objects in the InfoService the CertPath is null |
DataRetentionInformation |
getDataRetentionInformation()
|
java.lang.String |
getFirstHostName()
LERNGRUPPE Extracts the host name from first listenerinterface. |
int |
getFirstPort()
LERNGRUPPE Extracts the port from first listenerinterface. |
java.lang.String |
getId()
Returns the ID of the mix. |
long |
getLastUpdate()
Returns the time (see System.currentTimeMillis()), when the mix has sent this MixInfo to an infoservice. |
java.util.Vector |
getListenerAddresses()
|
java.util.Vector |
getListenerInterfaces()
|
java.util.Vector |
getMonitoringListenerInterfaces()
|
java.lang.String |
getName()
Returns the name of the mix. |
java.lang.String |
getNameFragmentForCascade()
|
java.lang.String |
getPostFile()
This returns the filename (InfoService command), where this mix entry is posted at other InfoServices. |
long |
getPrepaidInterval()
|
XMLPriceCertificate |
getPriceCertificate()
|
ServiceLocation |
getServiceLocation()
Returns the location of the mix. |
ServiceOperator |
getServiceOperator()
Returns information about the operator of this mix. |
ServiceSoftware |
getServiceSoftware()
Returns information about the used software in this mix. |
XMLSignature |
getSignature()
|
TermsAndConditionsMixInfo |
getTermsAndConditionMixInfo()
|
int |
getType()
LERNGRUPPE Returns the type of this mix |
java.lang.String |
getTypeAsString()
LERNGRUPPE Returns the type of this mix |
long |
getVersionNumber()
Returns the time when this mix entry was created by the origin mix. |
java.util.Vector |
getVisibleAddresses()
|
org.w3c.dom.Element |
getWebInfo(org.w3c.dom.Document webInfoDoc)
|
org.w3c.dom.Element |
getXmlStructure()
Returns the XML structure for this mix entry. |
boolean |
isCascadaNameFragmentUsed()
|
boolean |
isDynamic()
LERNGRUPPE Returns true if this mix is available for dynamic cascades,
false otherwise. |
boolean |
isFreeMix()
Returns whether the mix is waiting for a cascade assignment. |
boolean |
isFromCascade()
Returns if this MixInfo has been received directly from a cascade connection. |
boolean |
isPayment()
|
boolean |
isPersistanceDeletionAllowed()
|
boolean |
isSocks5Supported()
|
boolean |
isValid()
Returns if the object is valid at this time |
boolean |
isVerified()
Returns if this entry has been verified with a certificate chain. |
private void |
parseListenerAdresses(org.w3c.dom.Node nodeMix)
|
private int |
parseMixType(java.lang.String nodeValue)
LERNGRUPPE Parse the given textual MixType to our constants |
private void |
parseVisibleAdresses(org.w3c.dom.Node nodeMix)
|
private void |
parseVisibleAdresses(org.w3c.dom.Node nodeMix,
java.lang.String a_containerName,
java.lang.String a_nodeName,
java.util.Vector a_storage)
|
void |
setFreeMix(boolean a_freeMix)
Changes the state of this mix (whether it is free or not). |
void |
setPriceCertificate(XMLPriceCertificate newPriceCert)
|
Methods inherited from class anon.infoservice.AbstractDistributableCertifiedDatabaseEntry |
---|
checkId |
Methods inherited from class anon.infoservice.AbstractDistributableDatabaseEntry |
---|
getHttpRequestString, getHttpSerialsRequestString, getPostData, getPostEncoding, toXmlElement |
Methods inherited from class anon.infoservice.AbstractDatabaseEntry |
---|
getCreationTime, getExpireTime, isNewerThan, isUserDefined, resetCreationTime |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String NAME_TYPE_MIX
public static final java.lang.String NAME_TYPE_OPERATOR
public static final java.lang.String XML_ELEMENT_CONTAINER_NAME
public static final java.lang.String XML_ELEMENT_NAME
public static final java.lang.String XML_ELEMENT_MIX_NAME
public static final java.lang.String XML_ATTRIBUTE_NAME_FOR_CASCADE
public static final java.lang.String XML_ELEMENT_WEBINFO_CONTAINER
public static final java.lang.String INFOSERVICE_COMMAND_WEBINFOS
public static final java.lang.String INFOSERVICE_COMMAND_WEBINFO
private static final java.lang.String XML_ELEMENT_WEBINFO
private static final java.lang.String XML_ELEM_SERVER_MONITORING
private static final java.lang.String XML_ATTR_PAYMENT
public static final int FIRST_MIX
public static final int MIDDLE_MIX
public static final int LAST_MIX
private int m_type
private DataRetentionInformation m_drInfo
private boolean m_bPayment
private boolean m_dynamic
private boolean m_bSocks
private final java.util.Vector m_vecVisibleAdresses
private final java.util.Vector m_vecListenerAdresses
private final java.util.Vector m_vecListenerInterfaces
private final java.util.Vector m_vecListenerMonitoring
private java.lang.String m_mixId
private long m_lastUpdate
private long m_serial
private java.lang.String m_name
private java.lang.String m_nameFragmentForCascade
private boolean m_bUseCascadeNameFragment
private ServiceLocation m_mixLocation
private ServiceOperator m_mixOperator
private ServiceSoftware m_mixSoftware
private boolean m_freeMix
private org.w3c.dom.Element m_xmlStructure
private MultiCertPath m_mixCertPath
private XMLPriceCertificate m_priceCert
private long m_prepaidInterval
private XMLSignature m_mixSignature
private boolean m_bFromCascade
private TermsAndConditionsMixInfo m_mixTnCInfo
Constructor Detail |
---|
public MixInfo(org.w3c.dom.Element a_mixNode) throws XMLParseException
a_mixNode
- The Mix node from an XML document.
XMLParseException
public MixInfo(org.w3c.dom.Element a_mixNode, long a_expireTime) throws XMLParseException
a_mixNode
- The Mix node from an XML document.a_expireTime
- forces a specific expire time; takes default expire time if <= 0
XMLParseException
public MixInfo(MultiCertPath a_certPath)
public MixInfo(java.lang.String a_mixID, MultiCertPath a_certPath, XMLPriceCertificate a_priceCert, long a_prepaidInterval)
public MixInfo(org.w3c.dom.Element a_mixNode, long a_expireTime, boolean a_bFromCascade) throws XMLParseException
a_mixNode
- The Mix node from an XML document.a_expireTime
- forces a specific expire time; takes default expire time if <= 0a_bFromCascade
- if this is a MixInfo node directly received from a cascade (it is stripped)
if true, the last update value is set to 0
XMLParseException
Method Detail |
---|
private void parseListenerAdresses(org.w3c.dom.Node nodeMix)
private void parseVisibleAdresses(org.w3c.dom.Node nodeMix)
private void parseVisibleAdresses(org.w3c.dom.Node nodeMix, java.lang.String a_containerName, java.lang.String a_nodeName, java.util.Vector a_storage)
private int parseMixType(java.lang.String nodeValue) throws XMLParseException
nodeValue
- The textual MixType (FirstMix, MiddleMix, LastMix)
XMLParseException
public boolean isPersistanceDeletionAllowed()
isPersistanceDeletionAllowed
in class AbstractDatabaseEntry
public void deletePersistence()
deletePersistence
in class AbstractDatabaseEntry
public java.util.Vector getVisibleAddresses()
public java.util.Vector getListenerAddresses()
public java.util.Vector getListenerInterfaces()
public java.util.Vector getMonitoringListenerInterfaces()
public java.lang.String getId()
getId
in interface IDistributable
getId
in class AbstractDatabaseEntry
public boolean isSocks5Supported()
public boolean isFromCascade()
public long getLastUpdate()
getLastUpdate
in class AbstractDatabaseEntry
public long getVersionNumber()
getVersionNumber
in class AbstractDatabaseEntry
public java.lang.String getName()
public DataRetentionInformation getDataRetentionInformation()
public boolean isVerified()
AbstractDistributableCertifiedDatabaseEntry
isVerified
in interface IVerifyable
isVerified
in interface ICertifiedDatabaseEntry
isVerified
in class AbstractDistributableCertifiedDatabaseEntry
public boolean isValid()
IVerifyable
isValid
in interface IVerifyable
isValid
in interface ICertifiedDatabaseEntry
public XMLPriceCertificate getPriceCertificate()
public long getPrepaidInterval()
public void setPriceCertificate(XMLPriceCertificate newPriceCert)
public MultiCertPath getCertPath()
getCertPath
in interface IVerifyable
getCertPath
in interface ICertifiedDatabaseEntry
public XMLSignature getSignature()
getSignature
in interface ICertifiedDatabaseEntry
getSignature
in class AbstractDistributableCertifiedDatabaseEntry
public ServiceLocation getServiceLocation()
public ServiceOperator getServiceOperator()
public ServiceSoftware getServiceSoftware()
public boolean isFreeMix()
public void setFreeMix(boolean a_freeMix)
a_freeMix
- Whether to treat this mix as free (true) or not (false).public java.lang.String getPostFile()
getPostFile
in interface IDistributable
public org.w3c.dom.Element getXmlStructure()
getXmlStructure
in class AbstractDistributableDatabaseEntry
public int getType()
public boolean isPayment()
public java.lang.String getTypeAsString()
public boolean isDynamic()
true
if this mix is available for dynamic cascades,
false
otherwise.
true
if this mix is available for dynamic cascades,
false
otherwise.public java.lang.String getFirstHostName() throws java.lang.Exception
java.lang.Exception
public int getFirstPort() throws java.lang.Exception
java.lang.Exception
public boolean isCascadaNameFragmentUsed()
public java.lang.String getNameFragmentForCascade()
public TermsAndConditionsMixInfo getTermsAndConditionMixInfo()
public org.w3c.dom.Element getWebInfo(org.w3c.dom.Document webInfoDoc)
getWebInfo
in interface Database.IWebInfo
private void appendListenerInterfaces(org.w3c.dom.Element a_rootElement, java.util.Vector a_listenerInterfaces)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |