addrstr

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2022 License: Apache-2.0, Apache-2.0 Imports: 1 Imported by: 0

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

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) GetRadix

func (opts *IPStringOptionsBuilder) GetRadix() int

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 (opts *IPStringOptionsBuilder) GetStringOptionsCache() *unsafe.Pointer

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) IsReverse

func (opts *IPStringOptionsBuilder) IsReverse() 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) GetRadix

func (opts *IPv4StringOptionsBuilder) GetRadix() int

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 (opts *IPv4StringOptionsBuilder) GetStringOptionsCache() *unsafe.Pointer

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) IsReverse

func (opts *IPv4StringOptionsBuilder) IsReverse() 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) GetRadix

func (opts *IPv6StringOptionsBuilder) GetRadix() int

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 (opts *IPv6StringOptionsBuilder) GetStringOptionsCache() *unsafe.Pointer

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) IsReverse

func (opts *IPv6StringOptionsBuilder) IsReverse() 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) GetRadix

func (opts *MACStringOptionsBuilder) GetRadix() int

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 (opts *MACStringOptionsBuilder) GetStringOptionsCache() *unsafe.Pointer

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) IsReverse

func (opts *MACStringOptionsBuilder) IsReverse() 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) GetRadix

func (opts *StringOptionsBuilder) GetRadix() int

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 (opts *StringOptionsBuilder) GetStringOptionsCache() *unsafe.Pointer

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) IsReverse

func (opts *StringOptionsBuilder) IsReverse() 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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL