Documentation ¶
Overview ¶
addrstr provides interfaces for specifying how to create specific strings from addresses and address sections, as well as builder types to construct instances of those interfaces.
For example, StringOptionsBuilder produces instances implementing StringOptions for specifiying generic strings. More specific builders and corresponding interface types exist for more specific address versions and types.
Each instance produced by a builders is immutable.
Index ¶
- type CompressOptions
- type CompressOptionsBuilder
- func (opts *CompressOptionsBuilder) CompressSingle() bool
- func (opts *CompressOptionsBuilder) GetCompressionChoiceOptions() CompressionChoiceOptions
- func (opts *CompressOptionsBuilder) GetMixedCompressionOptions() MixedCompressionOptions
- func (builder *CompressOptionsBuilder) SetCompressSingle(compressSingle bool) *CompressOptionsBuilder
- func (builder *CompressOptionsBuilder) SetMixedOptions(compressMixedOptions MixedCompressionOptions) *CompressOptionsBuilder
- func (builder *CompressOptionsBuilder) SetRangeSelection(rangeSelection CompressionChoiceOptions) *CompressOptionsBuilder
- func (builder *CompressOptionsBuilder) ToOptions() CompressOptions
- type CompressionChoiceOptions
- type IPStringOptions
- type IPStringOptionsBuilder
- func (opts *IPStringOptionsBuilder) GetAddressLabel() string
- func (opts *IPStringOptionsBuilder) GetRadix() int
- func (opts *IPStringOptionsBuilder) GetSegmentStrPrefix() string
- func (opts *IPStringOptionsBuilder) GetSeparator() byte
- func (opts *IPStringOptionsBuilder) GetStringOptionsCache() *unsafe.Pointer
- func (opts *IPStringOptionsBuilder) GetWildcards() Wildcards
- func (opts *IPStringOptionsBuilder) HasSeparator() bool
- func (opts *IPStringOptionsBuilder) IsExpandedSegments() bool
- func (opts *IPStringOptionsBuilder) IsReverse() bool
- func (opts *IPStringOptionsBuilder) IsUppercase() bool
- func (builder *IPStringOptionsBuilder) SetAddressLabel(label string) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetAddressSuffix(suffix string) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetExpandedSegments(expandSegments bool) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetHasSeparator(has bool) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetRadix(base int) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetReverse(reverse bool) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetSegmentStrPrefix(prefix string) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetSeparator(separator byte) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetUppercase(uppercase bool) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetWildcardOption(wildcardOption WildcardOption) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetWildcardOptions(wildcardOptions WildcardOptions) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetWildcards(wildcards Wildcards) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) SetZoneSeparator(separator byte) *IPStringOptionsBuilder
- func (builder *IPStringOptionsBuilder) ToOptions() IPStringOptions
- type IPv4StringOptionsBuilder
- func (opts *IPv4StringOptionsBuilder) GetAddressLabel() string
- func (opts *IPv4StringOptionsBuilder) GetRadix() int
- func (opts *IPv4StringOptionsBuilder) GetSegmentStrPrefix() string
- func (opts *IPv4StringOptionsBuilder) GetSeparator() byte
- func (opts *IPv4StringOptionsBuilder) GetStringOptionsCache() *unsafe.Pointer
- func (opts *IPv4StringOptionsBuilder) GetWildcards() Wildcards
- func (opts *IPv4StringOptionsBuilder) HasSeparator() bool
- func (opts *IPv4StringOptionsBuilder) IsExpandedSegments() bool
- func (opts *IPv4StringOptionsBuilder) IsReverse() bool
- func (opts *IPv4StringOptionsBuilder) IsUppercase() bool
- func (builder *IPv4StringOptionsBuilder) SetAddressLabel(label string) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetAddressSuffix(suffix string) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetExpandedSegments(expandSegments bool) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetHasSeparator(has bool) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetRadix(base int) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetReverse(reverse bool) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetSegmentStrPrefix(prefix string) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetSeparator(separator byte) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetUppercase(uppercase bool) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetWildcardOption(wildcardOption WildcardOption) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetWildcardOptions(wildcardOptions WildcardOptions) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetWildcards(wildcards Wildcards) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) SetZoneSeparator(separator byte) *IPv4StringOptionsBuilder
- func (builder *IPv4StringOptionsBuilder) ToOptions() IPStringOptions
- type IPv6StringOptions
- type IPv6StringOptionsBuilder
- func (opts *IPv6StringOptionsBuilder) GetAddressLabel() string
- func (builder *IPv6StringOptionsBuilder) GetCompressOptions() CompressOptions
- func (builder *IPv6StringOptionsBuilder) GetIPv4Opts() IPStringOptions
- func (opts *IPv6StringOptionsBuilder) GetRadix() int
- func (opts *IPv6StringOptionsBuilder) GetSegmentStrPrefix() string
- func (opts *IPv6StringOptionsBuilder) GetSeparator() byte
- func (opts *IPv6StringOptionsBuilder) GetStringOptionsCache() *unsafe.Pointer
- func (opts *IPv6StringOptionsBuilder) GetWildcards() Wildcards
- func (opts *IPv6StringOptionsBuilder) HasSeparator() bool
- func (opts *IPv6StringOptionsBuilder) IsExpandedSegments() bool
- func (builder *IPv6StringOptionsBuilder) IsMixed() bool
- func (opts *IPv6StringOptionsBuilder) IsReverse() bool
- func (opts *IPv6StringOptionsBuilder) IsUppercase() bool
- func (builder *IPv6StringOptionsBuilder) SetAddressSuffix(suffix string) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetCompressOptions(compressOptions CompressOptions) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetExpandedSegments(expandSegments bool) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetHasSeparator(has bool) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetMixed(makeMixed bool) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetMixedOptions(ipv4Options IPStringOptions) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetRadix(base int) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetReverse(reverse bool) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetSegmentStrPrefix(prefix string) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetSeparator(separator byte) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetSplitDigits(splitDigits bool) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetUppercase(upper bool) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetWildcardOptions(wildcardOptions WildcardOptions) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) SetZoneSeparator(separator byte) *IPv6StringOptionsBuilder
- func (builder *IPv6StringOptionsBuilder) ToOptions() IPv6StringOptions
- type MACStringOptionsBuilder
- func (opts *MACStringOptionsBuilder) GetAddressLabel() string
- func (opts *MACStringOptionsBuilder) GetRadix() int
- func (opts *MACStringOptionsBuilder) GetSegmentStrPrefix() string
- func (opts *MACStringOptionsBuilder) GetSeparator() byte
- func (opts *MACStringOptionsBuilder) GetStringOptionsCache() *unsafe.Pointer
- func (opts *MACStringOptionsBuilder) GetWildcards() Wildcards
- func (opts *MACStringOptionsBuilder) HasSeparator() bool
- func (opts *MACStringOptionsBuilder) IsExpandedSegments() bool
- func (opts *MACStringOptionsBuilder) IsReverse() bool
- func (opts *MACStringOptionsBuilder) IsUppercase() bool
- func (builder *MACStringOptionsBuilder) SetAddressLabel(label string) *MACStringOptionsBuilder
- func (builder *MACStringOptionsBuilder) SetExpandedSegments(expandSegments bool) *MACStringOptionsBuilder
- func (builder *MACStringOptionsBuilder) SetHasSeparator(has bool) *MACStringOptionsBuilder
- func (builder *MACStringOptionsBuilder) SetRadix(base int) *MACStringOptionsBuilder
- func (builder *MACStringOptionsBuilder) SetReverse(reverse bool) *MACStringOptionsBuilder
- func (builder *MACStringOptionsBuilder) SetSegmentStrPrefix(prefix string) *MACStringOptionsBuilder
- func (builder *MACStringOptionsBuilder) SetSeparator(separator byte) *MACStringOptionsBuilder
- func (builder *MACStringOptionsBuilder) SetUppercase(uppercase bool) *MACStringOptionsBuilder
- func (builder *MACStringOptionsBuilder) SetWildcards(wildcards Wildcards) *MACStringOptionsBuilder
- func (builder *MACStringOptionsBuilder) ToOptions() StringOptions
- type MixedCompressionOptions
- type StringOptions
- type StringOptionsBuilder
- func (opts *StringOptionsBuilder) GetAddressLabel() string
- func (opts *StringOptionsBuilder) GetRadix() int
- func (opts *StringOptionsBuilder) GetSegmentStrPrefix() string
- func (opts *StringOptionsBuilder) GetSeparator() byte
- func (opts *StringOptionsBuilder) GetStringOptionsCache() *unsafe.Pointer
- func (opts *StringOptionsBuilder) GetWildcards() Wildcards
- func (opts *StringOptionsBuilder) HasSeparator() bool
- func (opts *StringOptionsBuilder) IsExpandedSegments() bool
- func (opts *StringOptionsBuilder) IsReverse() bool
- func (opts *StringOptionsBuilder) IsUppercase() bool
- func (builder *StringOptionsBuilder) SetAddressLabel(label string) *StringOptionsBuilder
- func (builder *StringOptionsBuilder) SetExpandedSegments(expandSegments bool) *StringOptionsBuilder
- func (builder *StringOptionsBuilder) SetHasSeparator(has bool) *StringOptionsBuilder
- func (builder *StringOptionsBuilder) SetRadix(base int) *StringOptionsBuilder
- func (builder *StringOptionsBuilder) SetReverse(reverse bool) *StringOptionsBuilder
- func (builder *StringOptionsBuilder) SetSegmentStrPrefix(prefix string) *StringOptionsBuilder
- func (builder *StringOptionsBuilder) SetSeparator(separator byte) *StringOptionsBuilder
- func (builder *StringOptionsBuilder) SetUppercase(uppercase bool) *StringOptionsBuilder
- func (builder *StringOptionsBuilder) SetWildcards(wildcards Wildcards) *StringOptionsBuilder
- func (builder *StringOptionsBuilder) ToOptions() StringOptions
- type WildcardOption
- type WildcardOptions
- type WildcardOptionsBuilder
- func (opts *WildcardOptionsBuilder) GetWildcardOption() WildcardOption
- func (opts *WildcardOptionsBuilder) GetWildcards() Wildcards
- func (builder *WildcardOptionsBuilder) SetWildcardOptions(wildcardOption WildcardOption) *WildcardOptionsBuilder
- func (builder *WildcardOptionsBuilder) SetWildcards(wildcards Wildcards) *WildcardOptionsBuilder
- func (builder *WildcardOptionsBuilder) ToOptions() WildcardOptions
- type Wildcards
- type WildcardsBuilder
- func (wildcards *WildcardsBuilder) GetRangeSeparator() string
- func (wildcards *WildcardsBuilder) GetSingleWildcard(str string) *WildcardsBuilder
- func (wildcards *WildcardsBuilder) GetWildcard(str string) *WildcardsBuilder
- func (wildcards *WildcardsBuilder) SetRangeSeparator(str string) *WildcardsBuilder
- func (wildcards *WildcardsBuilder) SetSingleWildcard(str string) *WildcardsBuilder
- func (wildcards *WildcardsBuilder) SetWildcard(str string) *WildcardsBuilder
- func (wildcards *WildcardsBuilder) ToWildcards() Wildcards
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompressOptions ¶
type CompressOptions interface { GetCompressionChoiceOptions() CompressionChoiceOptions GetMixedCompressionOptions() MixedCompressionOptions CompressSingle() bool }
type CompressOptionsBuilder ¶
type CompressOptionsBuilder struct {
// contains filtered or unexported fields
}
func (*CompressOptionsBuilder) CompressSingle ¶
func (opts *CompressOptionsBuilder) CompressSingle() bool
func (*CompressOptionsBuilder) GetCompressionChoiceOptions ¶
func (opts *CompressOptionsBuilder) GetCompressionChoiceOptions() CompressionChoiceOptions
func (*CompressOptionsBuilder) GetMixedCompressionOptions ¶
func (opts *CompressOptionsBuilder) GetMixedCompressionOptions() MixedCompressionOptions
func (*CompressOptionsBuilder) SetCompressSingle ¶
func (builder *CompressOptionsBuilder) SetCompressSingle(compressSingle bool) *CompressOptionsBuilder
func (*CompressOptionsBuilder) SetMixedOptions ¶
func (builder *CompressOptionsBuilder) SetMixedOptions(compressMixedOptions MixedCompressionOptions) *CompressOptionsBuilder
func (*CompressOptionsBuilder) SetRangeSelection ¶
func (builder *CompressOptionsBuilder) SetRangeSelection(rangeSelection CompressionChoiceOptions) *CompressOptionsBuilder
func (*CompressOptionsBuilder) ToOptions ¶
func (builder *CompressOptionsBuilder) ToOptions() CompressOptions
type CompressionChoiceOptions ¶
type CompressionChoiceOptions string
const ( HostPreferred CompressionChoiceOptions = "host preferred" //if there is a host section, compress the host along with any adjoining zero segments, otherwise compress a range of zero segments MixedPreferred CompressionChoiceOptions = "mixed preferred" //if there is a mixed section that is compressible according to the MixedCompressionOptions, compress the mixed section along with any adjoining zero segments, otherwise compress a range of zero segments ZerosOrHost CompressionChoiceOptions = "" //compress the largest range of zero or host segments ZerosCompression CompressionChoiceOptions = "zeros" //compress the largest range of zero segments )
func (CompressionChoiceOptions) CompressHost ¶
func (choice CompressionChoiceOptions) CompressHost() bool
type IPStringOptions ¶
type IPStringOptions interface { StringOptions GetAddressSuffix() string GetWildcardOption() WildcardOption }
type IPStringOptionsBuilder ¶
type IPStringOptionsBuilder struct { StringOptionsBuilder // contains filtered or unexported fields }
func (*IPStringOptionsBuilder) GetAddressLabel ¶
func (opts *IPStringOptionsBuilder) GetAddressLabel() string
func (*IPStringOptionsBuilder) GetSegmentStrPrefix ¶
func (opts *IPStringOptionsBuilder) GetSegmentStrPrefix() string
func (*IPStringOptionsBuilder) GetSeparator ¶
func (opts *IPStringOptionsBuilder) GetSeparator() byte
separates the divisions of the address, typically ':' or '.', but also can be null for no separator
func (*IPStringOptionsBuilder) GetStringOptionsCache ¶
func (*IPStringOptionsBuilder) GetWildcards ¶
func (opts *IPStringOptionsBuilder) GetWildcards() Wildcards
func (*IPStringOptionsBuilder) HasSeparator ¶
func (opts *IPStringOptionsBuilder) HasSeparator() bool
func (*IPStringOptionsBuilder) IsExpandedSegments ¶
func (opts *IPStringOptionsBuilder) IsExpandedSegments() bool
func (*IPStringOptionsBuilder) IsUppercase ¶
func (opts *IPStringOptionsBuilder) IsUppercase() bool
func (*IPStringOptionsBuilder) SetAddressLabel ¶
func (builder *IPStringOptionsBuilder) SetAddressLabel(label string) *IPStringOptionsBuilder
func (*IPStringOptionsBuilder) SetAddressSuffix ¶
func (builder *IPStringOptionsBuilder) SetAddressSuffix(suffix string) *IPStringOptionsBuilder
.in-addr.arpa, .ip6.arpa, .ipv6-literal.net are examples of suffixes tacked onto the end of address strings
func (*IPStringOptionsBuilder) SetExpandedSegments ¶
func (builder *IPStringOptionsBuilder) SetExpandedSegments(expandSegments bool) *IPStringOptionsBuilder
func (*IPStringOptionsBuilder) SetHasSeparator ¶
func (builder *IPStringOptionsBuilder) SetHasSeparator(has bool) *IPStringOptionsBuilder
func (*IPStringOptionsBuilder) SetRadix ¶
func (builder *IPStringOptionsBuilder) SetRadix(base int) *IPStringOptionsBuilder
func (*IPStringOptionsBuilder) SetReverse ¶
func (builder *IPStringOptionsBuilder) SetReverse(reverse bool) *IPStringOptionsBuilder
func (*IPStringOptionsBuilder) SetSegmentStrPrefix ¶
func (builder *IPStringOptionsBuilder) SetSegmentStrPrefix(prefix string) *IPStringOptionsBuilder
func (*IPStringOptionsBuilder) SetSeparator ¶
func (builder *IPStringOptionsBuilder) SetSeparator(separator byte) *IPStringOptionsBuilder
separates the divisions of the address, typically ':' or '.', but also can be null for no separator
func (*IPStringOptionsBuilder) SetUppercase ¶
func (builder *IPStringOptionsBuilder) SetUppercase(uppercase bool) *IPStringOptionsBuilder
func (*IPStringOptionsBuilder) SetWildcardOption ¶
func (builder *IPStringOptionsBuilder) SetWildcardOption(wildcardOption WildcardOption) *IPStringOptionsBuilder
func (*IPStringOptionsBuilder) SetWildcardOptions ¶
func (builder *IPStringOptionsBuilder) SetWildcardOptions(wildcardOptions WildcardOptions) *IPStringOptionsBuilder
SetWildcardOptions is a convenience method for setting both the WildcardOption and the Wildcards at the same time It overrides previous calls to SetWildcardOption and SetWildcards, and is overridden by subsequent calls to those methods.
func (*IPStringOptionsBuilder) SetWildcards ¶
func (builder *IPStringOptionsBuilder) SetWildcards(wildcards Wildcards) *IPStringOptionsBuilder
func (*IPStringOptionsBuilder) SetZoneSeparator ¶
func (builder *IPStringOptionsBuilder) SetZoneSeparator(separator byte) *IPStringOptionsBuilder
func (*IPStringOptionsBuilder) ToOptions ¶
func (builder *IPStringOptionsBuilder) ToOptions() IPStringOptions
type IPv4StringOptionsBuilder ¶
type IPv4StringOptionsBuilder struct {
IPStringOptionsBuilder
}
func (*IPv4StringOptionsBuilder) GetAddressLabel ¶
func (opts *IPv4StringOptionsBuilder) GetAddressLabel() string
func (*IPv4StringOptionsBuilder) GetSegmentStrPrefix ¶
func (opts *IPv4StringOptionsBuilder) GetSegmentStrPrefix() string
func (*IPv4StringOptionsBuilder) GetSeparator ¶
func (opts *IPv4StringOptionsBuilder) GetSeparator() byte
separates the divisions of the address, typically ':' or '.', but also can be null for no separator
func (*IPv4StringOptionsBuilder) GetStringOptionsCache ¶
func (*IPv4StringOptionsBuilder) GetWildcards ¶
func (opts *IPv4StringOptionsBuilder) GetWildcards() Wildcards
func (*IPv4StringOptionsBuilder) HasSeparator ¶
func (opts *IPv4StringOptionsBuilder) HasSeparator() bool
func (*IPv4StringOptionsBuilder) IsExpandedSegments ¶
func (opts *IPv4StringOptionsBuilder) IsExpandedSegments() bool
func (*IPv4StringOptionsBuilder) IsUppercase ¶
func (opts *IPv4StringOptionsBuilder) IsUppercase() bool
func (*IPv4StringOptionsBuilder) SetAddressLabel ¶
func (builder *IPv4StringOptionsBuilder) SetAddressLabel(label string) *IPv4StringOptionsBuilder
func (*IPv4StringOptionsBuilder) SetAddressSuffix ¶
func (builder *IPv4StringOptionsBuilder) SetAddressSuffix(suffix string) *IPv4StringOptionsBuilder
.in-addr.arpa, .ip6.arpa, .ipv6-literal.net are examples of suffixes tacked onto the end of address strings
func (*IPv4StringOptionsBuilder) SetExpandedSegments ¶
func (builder *IPv4StringOptionsBuilder) SetExpandedSegments(expandSegments bool) *IPv4StringOptionsBuilder
func (*IPv4StringOptionsBuilder) SetHasSeparator ¶
func (builder *IPv4StringOptionsBuilder) SetHasSeparator(has bool) *IPv4StringOptionsBuilder
func (*IPv4StringOptionsBuilder) SetRadix ¶
func (builder *IPv4StringOptionsBuilder) SetRadix(base int) *IPv4StringOptionsBuilder
func (*IPv4StringOptionsBuilder) SetReverse ¶
func (builder *IPv4StringOptionsBuilder) SetReverse(reverse bool) *IPv4StringOptionsBuilder
func (*IPv4StringOptionsBuilder) SetSegmentStrPrefix ¶
func (builder *IPv4StringOptionsBuilder) SetSegmentStrPrefix(prefix string) *IPv4StringOptionsBuilder
func (*IPv4StringOptionsBuilder) SetSeparator ¶
func (builder *IPv4StringOptionsBuilder) SetSeparator(separator byte) *IPv4StringOptionsBuilder
separates the divisions of the address, typically ':' or '.', but also can be null for no separator
func (*IPv4StringOptionsBuilder) SetUppercase ¶
func (builder *IPv4StringOptionsBuilder) SetUppercase(uppercase bool) *IPv4StringOptionsBuilder
func (*IPv4StringOptionsBuilder) SetWildcardOption ¶
func (builder *IPv4StringOptionsBuilder) SetWildcardOption(wildcardOption WildcardOption) *IPv4StringOptionsBuilder
func (*IPv4StringOptionsBuilder) SetWildcardOptions ¶
func (builder *IPv4StringOptionsBuilder) SetWildcardOptions(wildcardOptions WildcardOptions) *IPv4StringOptionsBuilder
SetWildcardOptions is a convenience method for setting both the WildcardOption and the Wildcards at the same time It overrides previous calls to SetWildcardOption and SetWildcards, and is overridden by subsequent calls to those methods.
func (*IPv4StringOptionsBuilder) SetWildcards ¶
func (builder *IPv4StringOptionsBuilder) SetWildcards(wildcards Wildcards) *IPv4StringOptionsBuilder
func (*IPv4StringOptionsBuilder) SetZoneSeparator ¶
func (builder *IPv4StringOptionsBuilder) SetZoneSeparator(separator byte) *IPv4StringOptionsBuilder
func (*IPv4StringOptionsBuilder) ToOptions ¶
func (builder *IPv4StringOptionsBuilder) ToOptions() IPStringOptions
type IPv6StringOptions ¶
type IPv6StringOptions interface { IPStringOptions // Returns the options used for creating the embedded IPv4 address string in a mixed IPv6 address, // which comes from the last 32 bits of the IPv6 address. // For example: a:b:c:d:e:f:1.2.3.4 GetIPv4Opts() IPStringOptions GetCompressOptions() CompressOptions // Whether every digit is separated from others by separators. If mixed, this option is ignored. IsSplitDigits() bool // can produceaddrerr.IncompatibleAddressError for ranged series IsMixed() bool // can produceaddrerr.IncompatibleAddressError for ranges in the IPv4 part of the series GetZoneSeparator() byte }
type IPv6StringOptionsBuilder ¶
type IPv6StringOptionsBuilder struct { IPStringOptionsBuilder // contains filtered or unexported fields }
func (*IPv6StringOptionsBuilder) GetAddressLabel ¶
func (opts *IPv6StringOptionsBuilder) GetAddressLabel() string
func (*IPv6StringOptionsBuilder) GetCompressOptions ¶
func (builder *IPv6StringOptionsBuilder) GetCompressOptions() CompressOptions
func (*IPv6StringOptionsBuilder) GetIPv4Opts ¶
func (builder *IPv6StringOptionsBuilder) GetIPv4Opts() IPStringOptions
func (*IPv6StringOptionsBuilder) GetSegmentStrPrefix ¶
func (opts *IPv6StringOptionsBuilder) GetSegmentStrPrefix() string
func (*IPv6StringOptionsBuilder) GetSeparator ¶
func (opts *IPv6StringOptionsBuilder) GetSeparator() byte
separates the divisions of the address, typically ':' or '.', but also can be null for no separator
func (*IPv6StringOptionsBuilder) GetStringOptionsCache ¶
func (*IPv6StringOptionsBuilder) GetWildcards ¶
func (opts *IPv6StringOptionsBuilder) GetWildcards() Wildcards
func (*IPv6StringOptionsBuilder) HasSeparator ¶
func (opts *IPv6StringOptionsBuilder) HasSeparator() bool
func (*IPv6StringOptionsBuilder) IsExpandedSegments ¶
func (opts *IPv6StringOptionsBuilder) IsExpandedSegments() bool
func (*IPv6StringOptionsBuilder) IsMixed ¶
func (builder *IPv6StringOptionsBuilder) IsMixed() bool
func (*IPv6StringOptionsBuilder) IsUppercase ¶
func (opts *IPv6StringOptionsBuilder) IsUppercase() bool
func (*IPv6StringOptionsBuilder) SetAddressSuffix ¶
func (builder *IPv6StringOptionsBuilder) SetAddressSuffix(suffix string) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetCompressOptions ¶
func (builder *IPv6StringOptionsBuilder) SetCompressOptions(compressOptions CompressOptions) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetExpandedSegments ¶
func (builder *IPv6StringOptionsBuilder) SetExpandedSegments(expandSegments bool) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetHasSeparator ¶
func (builder *IPv6StringOptionsBuilder) SetHasSeparator(has bool) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetMixed ¶
func (builder *IPv6StringOptionsBuilder) SetMixed(makeMixed bool) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetMixedOptions ¶
func (builder *IPv6StringOptionsBuilder) SetMixedOptions(ipv4Options IPStringOptions) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetRadix ¶
func (builder *IPv6StringOptionsBuilder) SetRadix(base int) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetReverse ¶
func (builder *IPv6StringOptionsBuilder) SetReverse(reverse bool) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetSegmentStrPrefix ¶
func (builder *IPv6StringOptionsBuilder) SetSegmentStrPrefix(prefix string) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetSeparator ¶
func (builder *IPv6StringOptionsBuilder) SetSeparator(separator byte) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetSplitDigits ¶
func (builder *IPv6StringOptionsBuilder) SetSplitDigits(splitDigits bool) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetUppercase ¶
func (builder *IPv6StringOptionsBuilder) SetUppercase(upper bool) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetWildcardOptions ¶
func (builder *IPv6StringOptionsBuilder) SetWildcardOptions(wildcardOptions WildcardOptions) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) SetZoneSeparator ¶
func (builder *IPv6StringOptionsBuilder) SetZoneSeparator(separator byte) *IPv6StringOptionsBuilder
func (*IPv6StringOptionsBuilder) ToOptions ¶
func (builder *IPv6StringOptionsBuilder) ToOptions() IPv6StringOptions
type MACStringOptionsBuilder ¶
type MACStringOptionsBuilder struct {
StringOptionsBuilder
}
func (*MACStringOptionsBuilder) GetAddressLabel ¶
func (opts *MACStringOptionsBuilder) GetAddressLabel() string
func (*MACStringOptionsBuilder) GetSegmentStrPrefix ¶
func (opts *MACStringOptionsBuilder) GetSegmentStrPrefix() string
func (*MACStringOptionsBuilder) GetSeparator ¶
func (opts *MACStringOptionsBuilder) GetSeparator() byte
separates the divisions of the address, typically ':' or '.', but also can be null for no separator
func (*MACStringOptionsBuilder) GetStringOptionsCache ¶
func (*MACStringOptionsBuilder) GetWildcards ¶
func (opts *MACStringOptionsBuilder) GetWildcards() Wildcards
func (*MACStringOptionsBuilder) HasSeparator ¶
func (opts *MACStringOptionsBuilder) HasSeparator() bool
func (*MACStringOptionsBuilder) IsExpandedSegments ¶
func (opts *MACStringOptionsBuilder) IsExpandedSegments() bool
func (*MACStringOptionsBuilder) IsUppercase ¶
func (opts *MACStringOptionsBuilder) IsUppercase() bool
func (*MACStringOptionsBuilder) SetAddressLabel ¶
func (builder *MACStringOptionsBuilder) SetAddressLabel(label string) *MACStringOptionsBuilder
func (*MACStringOptionsBuilder) SetExpandedSegments ¶
func (builder *MACStringOptionsBuilder) SetExpandedSegments(expandSegments bool) *MACStringOptionsBuilder
func (*MACStringOptionsBuilder) SetHasSeparator ¶
func (builder *MACStringOptionsBuilder) SetHasSeparator(has bool) *MACStringOptionsBuilder
func (*MACStringOptionsBuilder) SetRadix ¶
func (builder *MACStringOptionsBuilder) SetRadix(base int) *MACStringOptionsBuilder
func (*MACStringOptionsBuilder) SetReverse ¶
func (builder *MACStringOptionsBuilder) SetReverse(reverse bool) *MACStringOptionsBuilder
func (*MACStringOptionsBuilder) SetSegmentStrPrefix ¶
func (builder *MACStringOptionsBuilder) SetSegmentStrPrefix(prefix string) *MACStringOptionsBuilder
func (*MACStringOptionsBuilder) SetSeparator ¶
func (builder *MACStringOptionsBuilder) SetSeparator(separator byte) *MACStringOptionsBuilder
separates the divisions of the address, typically ':' or '.'
func (*MACStringOptionsBuilder) SetUppercase ¶
func (builder *MACStringOptionsBuilder) SetUppercase(uppercase bool) *MACStringOptionsBuilder
func (*MACStringOptionsBuilder) SetWildcards ¶
func (builder *MACStringOptionsBuilder) SetWildcards(wildcards Wildcards) *MACStringOptionsBuilder
func (*MACStringOptionsBuilder) ToOptions ¶
func (builder *MACStringOptionsBuilder) ToOptions() StringOptions
type MixedCompressionOptions ¶
type MixedCompressionOptions string
const ( NoMixedCompression MixedCompressionOptions = "no mixed compression" //do not allow compression of a mixed section MixedCompressionNoHost MixedCompressionOptions = "no host" ////allow compression of a mixed section when there is no host section MixedCompressionCoveredByHost MixedCompressionOptions = "covered by host" AllowMixedCompression MixedCompressionOptions = "" //allow compression of a mixed section )
type StringOptions ¶
type StringOptions interface { GetWildcards() Wildcards IsReverse() bool IsUppercase() bool IsExpandedSegments() bool // the default is hexadecimal unless build using an IPv4 options build in which case the default is decimal GetRadix() int // separates the divisions of the address, typically ':' or '.', but also can be null for no separator // the default is a space, unless built using a MAC, IPv6 or IPv4 options builder in which case the separator is ':' for MAC and IPv6 and '.' for IPv4 GetSeparator() byte // default is false, no separator, unless built using a MAC, IPv6 or IPv4 options builder in which case there is a default separator HasSeparator() bool GetAddressLabel() string GetSegmentStrPrefix() string }
StringOptions represents a clear way to create a specific type of string.
type StringOptionsBuilder ¶
type StringOptionsBuilder struct {
// contains filtered or unexported fields
}
func (*StringOptionsBuilder) GetAddressLabel ¶
func (opts *StringOptionsBuilder) GetAddressLabel() string
func (*StringOptionsBuilder) GetSegmentStrPrefix ¶
func (opts *StringOptionsBuilder) GetSegmentStrPrefix() string
func (*StringOptionsBuilder) GetSeparator ¶
func (opts *StringOptionsBuilder) GetSeparator() byte
separates the divisions of the address, typically ':' or '.', but also can be null for no separator
func (*StringOptionsBuilder) GetStringOptionsCache ¶
func (*StringOptionsBuilder) GetWildcards ¶
func (opts *StringOptionsBuilder) GetWildcards() Wildcards
func (*StringOptionsBuilder) HasSeparator ¶
func (opts *StringOptionsBuilder) HasSeparator() bool
func (*StringOptionsBuilder) IsExpandedSegments ¶
func (opts *StringOptionsBuilder) IsExpandedSegments() bool
func (*StringOptionsBuilder) IsUppercase ¶
func (opts *StringOptionsBuilder) IsUppercase() bool
func (*StringOptionsBuilder) SetAddressLabel ¶
func (builder *StringOptionsBuilder) SetAddressLabel(label string) *StringOptionsBuilder
func (*StringOptionsBuilder) SetExpandedSegments ¶
func (builder *StringOptionsBuilder) SetExpandedSegments(expandSegments bool) *StringOptionsBuilder
func (*StringOptionsBuilder) SetHasSeparator ¶
func (builder *StringOptionsBuilder) SetHasSeparator(has bool) *StringOptionsBuilder
func (*StringOptionsBuilder) SetRadix ¶
func (builder *StringOptionsBuilder) SetRadix(base int) *StringOptionsBuilder
func (*StringOptionsBuilder) SetReverse ¶
func (builder *StringOptionsBuilder) SetReverse(reverse bool) *StringOptionsBuilder
func (*StringOptionsBuilder) SetSegmentStrPrefix ¶
func (builder *StringOptionsBuilder) SetSegmentStrPrefix(prefix string) *StringOptionsBuilder
func (*StringOptionsBuilder) SetSeparator ¶
func (builder *StringOptionsBuilder) SetSeparator(separator byte) *StringOptionsBuilder
separates the divisions of the address, typically ':' or '.'
func (*StringOptionsBuilder) SetUppercase ¶
func (builder *StringOptionsBuilder) SetUppercase(uppercase bool) *StringOptionsBuilder
func (*StringOptionsBuilder) SetWildcards ¶
func (builder *StringOptionsBuilder) SetWildcards(wildcards Wildcards) *StringOptionsBuilder
func (*StringOptionsBuilder) ToOptions ¶
func (builder *StringOptionsBuilder) ToOptions() StringOptions
type WildcardOption ¶
type WildcardOption string
const ( // only print wildcards that are part of the network portion (only possible with subnet address notation, otherwise this option is ignored) WildcardsNetworkOnly WildcardOption = "" // print wildcards for any visible (non-compressed) segments WildcardsAll WildcardOption = "allType" )
type WildcardOptions ¶
type WildcardOptions interface { GetWildcardOption() WildcardOption GetWildcards() Wildcards }
type WildcardOptionsBuilder ¶
type WildcardOptionsBuilder struct {
// contains filtered or unexported fields
}
func (*WildcardOptionsBuilder) GetWildcardOption ¶
func (opts *WildcardOptionsBuilder) GetWildcardOption() WildcardOption
func (*WildcardOptionsBuilder) GetWildcards ¶
func (opts *WildcardOptionsBuilder) GetWildcards() Wildcards
func (*WildcardOptionsBuilder) SetWildcardOptions ¶
func (builder *WildcardOptionsBuilder) SetWildcardOptions(wildcardOption WildcardOption) *WildcardOptionsBuilder
func (*WildcardOptionsBuilder) SetWildcards ¶
func (builder *WildcardOptionsBuilder) SetWildcards(wildcards Wildcards) *WildcardOptionsBuilder
func (*WildcardOptionsBuilder) ToOptions ¶
func (builder *WildcardOptionsBuilder) ToOptions() WildcardOptions
type Wildcards ¶
type Wildcards interface { // GetRangeSeparator returns the wildcard used to separate the lower and upper boundary (inclusive) of a range of values. // if this returns an empty string, then the default separator RangeSeparatorStr is used, which is the hyphen '-' GetRangeSeparator() string // GetWildcard returns the wildcard used for representing any legitimate value, which is the asterisk '*' by default GetWildcard() string // GetSingleWildcard returns the wildcard used for representing any single digit, which is the underscore '_' by default GetSingleWildcard() string }
Wildcards specifies the wildcards to use when constructing a address string
var DefaultWildcards Wildcards = &wildcards{rangeSeparator: rangeSeparatorStr, wildcard: segmentWildcardStr}
type WildcardsBuilder ¶
type WildcardsBuilder struct {
// contains filtered or unexported fields
}
func (*WildcardsBuilder) GetRangeSeparator ¶
func (wildcards *WildcardsBuilder) GetRangeSeparator() string
func (*WildcardsBuilder) GetSingleWildcard ¶
func (wildcards *WildcardsBuilder) GetSingleWildcard(str string) *WildcardsBuilder
func (*WildcardsBuilder) GetWildcard ¶
func (wildcards *WildcardsBuilder) GetWildcard(str string) *WildcardsBuilder
func (*WildcardsBuilder) SetRangeSeparator ¶
func (wildcards *WildcardsBuilder) SetRangeSeparator(str string) *WildcardsBuilder
func (*WildcardsBuilder) SetSingleWildcard ¶
func (wildcards *WildcardsBuilder) SetSingleWildcard(str string) *WildcardsBuilder
func (*WildcardsBuilder) SetWildcard ¶
func (wildcards *WildcardsBuilder) SetWildcard(str string) *WildcardsBuilder
func (*WildcardsBuilder) ToWildcards ¶
func (wildcards *WildcardsBuilder) ToWildcards() Wildcards