org.ccnx.ccn.impl.encoding.CCNProtocolDTags Class Reference

In Java, you can't control the value an enum is assigned to, so we map it into an interior value. More...

List of all members.

Static Public Member Functions

static String tagToString (long tagVal)
 This is the slow search -- find a tag based on an index.
static Long stringToTag (String tagName)

Static Public Attributes

static final int Any = 13
 Note if you add one of these, add it to the reverse string map as well.
static final int Name = 14
static final int Component = 15
static final int Certificate = 16
static final int Collection = 17
static final int CompleteName = 18
static final int Content = 19
static final int SignedInfo = 20
static final int ContentDigest = 21
static final int ContentHash = 22
static final int Count = 24
static final int Header = 25
static final int Interest = 26
static final int Key = 27
static final int KeyLocator = 28
static final int KeyName = 29
static final int Length = 30
static final int Link = 31
static final int LinkAuthenticator = 32
static final int NameComponentCount = 33
static final int RootDigest = 36
static final int Signature = 37
static final int Start = 38
static final int Timestamp = 39
static final int Type = 40
static final int Nonce = 41
static final int Scope = 42
static final int Exclude = 43
static final int Bloom = 44
static final int BloomSeed = 45
static final int AnswerOriginKind = 47
static final int InterestLifetime = 48
static final int Witness = 53
static final int SignatureBits = 54
static final int DigestAlgorithm = 55
static final int BlockSize = 56
static final int FreshnessSeconds = 58
static final int FinalBlockID = 59
static final int PublisherPublicKeyDigest = 60
static final int PublisherCertificateDigest = 61
static final int PublisherIssuerKeyDigest = 62
static final int PublisherIssuerCertificateDigest = 63
static final int ContentObject = 64
static final int WrappedKey = 65
static final int WrappingKeyIdentifier = 66
static final int WrapAlgorithm = 67
static final int KeyAlgorithm = 68
static final int Label = 69
static final int EncryptedKey = 70
static final int EncryptedNonceKey = 71
static final int WrappingKeyName = 72
static final int Action = 73
static final int FaceID = 74
static final int IPProto = 75
static final int Host = 76
static final int Port = 77
static final int MulticastInterface = 78
static final int ForwardingFlags = 79
static final int FaceInstance = 80
static final int ForwardingEntry = 81
static final int MulticastTTL = 82
static final int MinSuffixComponents = 83
static final int MaxSuffixComponents = 84
static final int ChildSelector = 85
static final int RepositoryInfo = 86
static final int Version = 87
static final int RepositoryVersion = 88
static final int GlobalPrefix = 89
static final int LocalName = 90
static final int Policy = 91
static final int Namespace = 92
static final int GlobalPrefixName = 93
static final int PolicyVersion = 94
static final int KeyValueSet = 95
static final int KeyValuePair = 96
static final int IntegerValue = 97
static final int DecimalValue = 98
static final int StringValue = 99
static final int BinaryValue = 100
static final int NameValue = 101
static final int Entry = 102
static final int ACL = 103
static final int ParameterizedName = 104
static final int Prefix = 105
static final int Suffix = 106
static final int Root = 107
static final int ProfileName = 108
static final int Parameters = 109
static final int InfoString = 110
static final int StatusResponse = 112
static final int StatusCode = 113
static final int StatusText = 114
static final int SyncNode = 115
static final int SyncNodeKind = 116
static final int SyncNodeElement = 117
static final int SyncVersion = 118
static final int SyncNodeElements = 119
static final int SyncContentHash = 120
static final int SyncLeafCount = 121
static final int SyncTreeDepth = 122
static final int SyncByteCount = 123
static final int ConfigSlice = 124
static final int ConfigSliceList = 125
static final int ConfigSliceOp = 126
static final int CCNProtocolDataUnit = 17702112
static final String CCNPROTOCOL_DATA_UNIT = "CCNProtocolDataUnit"

Static Protected Attributes

static final String[] _tagToStringMap
static final int TAG_MAP_LENGTH = _tagToStringMap.length


Detailed Description

In Java, you can't control the value an enum is assigned to, so we map it into an interior value.

Use the XML name as the name of the enum, so can map easily to strings.

Move from enum to final ints, in order to reduce overhead.

This is essentially an XMLDictionary, but it was created as a static class so it cannot implement XMLDictionary. Therefore, it is wrapped by CCNProtocolDictionary.


Member Function Documentation

static String org.ccnx.ccn.impl.encoding.CCNProtocolDTags.tagToString ( long  tagVal  )  [static]

This is the slow search -- find a tag based on an index.

Only used in cases where we need to print based on a binary tag value; this is only used in text encoding of usually binary objects... For now, as it's rare, do a scan, rather than taking the up front hit to build a hash table.

Parameters:
tagVal 
Returns:


Member Data Documentation

Note if you add one of these, add it to the reverse string map as well.

Emphasize getting the work done at compile time over trying to make something flexible and developer error-proof.

final String [] org.ccnx.ccn.impl.encoding.CCNProtocolDTags._tagToStringMap [static, protected]

Initial value:

 new String[]{
                null, null, null, null, null, null, null, null, null, null, null,
                null, null,
                "Any", "Name", "Component", "Certificate", "Collection", "CompleteName",
                "Content", "SignedInfo", "ContentDigest", "ContentHash", null, "Count", "Header",
                "Interest", "Key", "KeyLocator", "KeyName", "Length", "Link", "LinkAuthenticator",
                "NameComponentCount", null, null, "RootDigest", "Signature", "Start", "Timestamp", "Type",
                "Nonce", "Scope", "Exclude", "Bloom", "BloomSeed", null, "AnswerOriginKind",
                "InterestLifetime", null, null, null, null, "Witness", "SignatureBits", "DigestAlgorithm", "BlockSize",
                null, "FreshnessSeconds", "FinalBlockID", "PublisherPublicKeyDigest", "PublisherCertificateDigest",
                "PublisherIssuerKeyDigest", "PublisherIssuerCertificateDigest", "ContentObject",
                "WrappedKey", "WrappingKeyIdentifier", "WrapAlgorithm", "KeyAlgorithm", "Label",
                "EncryptedKey", "EncryptedNonceKey", "WrappingKeyName", "Action", "FaceID", "IPProto",
                "Host", "Port", "MulticastInterface", "ForwardingFlags", "FaceInstance",
                "ForwardingEntry", "MulticastTTL", "MinSuffixComponents", "MaxSuffixComponents", "ChildSelector",
                "RepositoryInfo", "Version", "RepositoryVersion", "GlobalPrefix", "LocalName",
                "Policy", "Namespace", "GlobalPrefixName", "PolicyVersion", "KeyValueSet", "KeyValuePair",
                "IntegerValue", "DecimalValue", "StringValue", "BinaryValue", "NameValue", "Entry",
                "ACL", "ParameterizedName", "Prefix", "Suffix", "Root", "ProfileName", "Parameters",
                "InfoString", null,
        "StatusResponse", "StatusCode", "StatusText", "SyncNode", "SyncNodeKind", "SyncNodeElement",
        "SyncVersion", "SyncNodeElements", "SyncContentHash", "SyncLeafCount", "SyncTreeDepth", "SyncByteCount",
        "ConfigSlice", "ConfigSliceList", "ConfigSliceOp" }


The documentation for this class was generated from the following file:

Generated on Thu Feb 16 00:44:52 2012 for Content-Centric Networking in Java by  doxygen 1.5.6