Hierarchy For All Packages
Package Hierarchies:- nl.basjes.parse.useragent,
- nl.basjes.parse.useragent.analyze,
- nl.basjes.parse.useragent.analyze.treewalker,
- nl.basjes.parse.useragent.analyze.treewalker.steps,
- nl.basjes.parse.useragent.analyze.treewalker.steps.compare,
- nl.basjes.parse.useragent.analyze.treewalker.steps.lookup,
- nl.basjes.parse.useragent.analyze.treewalker.steps.value,
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk,
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk.stepdown,
- nl.basjes.parse.useragent.annotate,
- nl.basjes.parse.useragent.calculate,
- nl.basjes.parse.useragent.classify,
- nl.basjes.parse.useragent.debug,
- nl.basjes.parse.useragent.parse,
- nl.basjes.parse.useragent.parser,
- nl.basjes.parse.useragent.utils
Class Hierarchy
- java.lang.Object
- java.util.AbstractCollection<E> (implements java.util.Collection<E>)
- java.util.AbstractList<E> (implements java.util.List<E>)
- nl.basjes.parse.useragent.analyze.NumberRangeList
- java.util.AbstractList<E> (implements java.util.List<E>)
- org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<T> (implements org.antlr.v4.runtime.tree.ParseTreeVisitor<T>)
- nl.basjes.parse.useragent.parser.UserAgentBaseVisitor<T> (implements nl.basjes.parse.useragent.parser.UserAgentVisitor<T>)
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk.stepdown.UserAgentGetChildrenVisitor
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerBaseVisitor<T> (implements nl.basjes.parse.useragent.parser.UserAgentTreeWalkerVisitor<T>)
- nl.basjes.parse.useragent.analyze.NumberRangeVisitor
- nl.basjes.parse.useragent.analyze.WordRangeVisitor
- nl.basjes.parse.useragent.parser.UserAgentBaseVisitor<T> (implements nl.basjes.parse.useragent.parser.UserAgentVisitor<T>)
- nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect (implements nl.basjes.parse.useragent.analyze.Analyzer, java.io.Serializable)
- nl.basjes.parse.useragent.AbstractUserAgentAnalyzer (implements java.io.Serializable)
- nl.basjes.parse.useragent.debug.AbstractUserAgentAnalyzerTester
- nl.basjes.parse.useragent.debug.UserAgentAnalyzerTester
- nl.basjes.parse.useragent.UserAgentAnalyzer (implements java.io.Serializable)
- nl.basjes.parse.useragent.debug.AbstractUserAgentAnalyzerTester
- nl.basjes.parse.useragent.UserAgentAnalyzerDirect
- nl.basjes.parse.useragent.AbstractUserAgentAnalyzer (implements java.io.Serializable)
- nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect.AbstractUserAgentAnalyzerDirectBuilder<UAA,B>
- nl.basjes.parse.useragent.AbstractUserAgentAnalyzer.AbstractUserAgentAnalyzerBuilder<UAA,B>
- nl.basjes.parse.useragent.debug.AbstractUserAgentAnalyzerTester.AbstractUserAgentAnalyzerTesterBuilder<UAA,B>
- nl.basjes.parse.useragent.debug.UserAgentAnalyzerTester.UserAgentAnalyzerTesterBuilder
- nl.basjes.parse.useragent.UserAgentAnalyzer.UserAgentAnalyzerBuilder
- nl.basjes.parse.useragent.debug.AbstractUserAgentAnalyzerTester.AbstractUserAgentAnalyzerTesterBuilder<UAA,B>
- nl.basjes.parse.useragent.UserAgentAnalyzerDirect.UserAgentAnalyzerDirectBuilder
- nl.basjes.parse.useragent.AbstractUserAgentAnalyzer.AbstractUserAgentAnalyzerBuilder<UAA,B>
- nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect.GetAllPathsAnalyzer (implements nl.basjes.parse.useragent.analyze.Analyzer)
- nl.basjes.parse.useragent.AgentField.ImmutableAgentField (implements nl.basjes.parse.useragent.AgentField)
- nl.basjes.parse.useragent.AgentField.MutableAgentField (implements nl.basjes.parse.useragent.AgentField)
- nl.basjes.parse.useragent.utils.AntlrUtils
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk.stepdown.ChildIterable
- nl.basjes.parse.useragent.parse.EvilManualUseragentStringHacks
- nl.basjes.parse.useragent.calculate.FieldCalculator (implements java.io.Serializable)
- nl.basjes.parse.useragent.calculate.CalculateAgentClass
- nl.basjes.parse.useragent.calculate.CalculateAgentEmail
- nl.basjes.parse.useragent.calculate.CalculateAgentName
- nl.basjes.parse.useragent.calculate.CalculateDeviceBrand
- nl.basjes.parse.useragent.calculate.CalculateDeviceName
- nl.basjes.parse.useragent.calculate.CalculateNetworkType
- nl.basjes.parse.useragent.calculate.ConcatNONDuplicatedCalculator
- nl.basjes.parse.useragent.calculate.MajorVersionCalculator
- nl.basjes.parse.useragent.debug.FlattenPrinter (implements nl.basjes.parse.useragent.analyze.Analyzer)
- nl.basjes.parse.useragent.utils.HostnameExtracter (implements java.io.Serializable)
- nl.basjes.parse.useragent.analyze.Matcher (implements java.io.Serializable)
- nl.basjes.parse.useragent.analyze.MatcherAction (implements java.io.Serializable)
- nl.basjes.parse.useragent.analyze.MatcherExtractAction
- nl.basjes.parse.useragent.analyze.MatcherFailIfFoundAction
- nl.basjes.parse.useragent.analyze.MatcherRequireAction
- nl.basjes.parse.useragent.analyze.MatcherVariableAction
- nl.basjes.parse.useragent.analyze.MatcherList (implements java.util.Collection<E>, java.io.Serializable)
- nl.basjes.parse.useragent.analyze.MatchesList (implements java.util.Collection<E>, java.io.Serializable)
- nl.basjes.parse.useragent.analyze.MatchesList.Match (implements java.io.Serializable)
- nl.basjes.parse.useragent.utils.Normalize
- nl.basjes.parse.useragent.PackagedRules
- nl.basjes.parse.useragent.PreHeatCases
- org.antlr.v4.runtime.Recognizer<Symbol,ATNInterpreter>
- org.antlr.v4.runtime.Lexer (implements org.antlr.v4.runtime.TokenSource)
- nl.basjes.parse.useragent.parser.UserAgentLexer
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerLexer
- org.antlr.v4.runtime.Parser
- nl.basjes.parse.useragent.parser.UserAgentParser
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser
- org.antlr.v4.runtime.Lexer (implements org.antlr.v4.runtime.TokenSource)
- org.antlr.v4.runtime.RuleContext (implements org.antlr.v4.runtime.tree.RuleNode)
- org.antlr.v4.runtime.ParserRuleContext
- nl.basjes.parse.useragent.parser.UserAgentParser.Base64Context
- nl.basjes.parse.useragent.parser.UserAgentParser.CommentBlockContext
- nl.basjes.parse.useragent.parser.UserAgentParser.CommentEntryContext
- nl.basjes.parse.useragent.parser.UserAgentParser.CommentProductContext
- nl.basjes.parse.useragent.parser.UserAgentParser.CommentSeparatorContext
- nl.basjes.parse.useragent.parser.UserAgentParser.EmailAddressContext
- nl.basjes.parse.useragent.parser.UserAgentParser.EmptyWordContext
- nl.basjes.parse.useragent.parser.UserAgentParser.KeyNameContext
- nl.basjes.parse.useragent.parser.UserAgentParser.KeyValueContext
- nl.basjes.parse.useragent.parser.UserAgentParser.KeyValueProductVersionNameContext
- nl.basjes.parse.useragent.parser.UserAgentParser.KeyValueVersionNameContext
- nl.basjes.parse.useragent.parser.UserAgentParser.KeyWithoutValueContext
- nl.basjes.parse.useragent.parser.UserAgentParser.MultipleWordsContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductNameContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductNameEmailContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductNameKeyValueContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductNameNoVersionContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductNameUrlContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductNameUuidContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductNameVersionContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductNameWordsContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductVersionContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductVersionSingleWordContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductVersionWithCommasContext
- nl.basjes.parse.useragent.parser.UserAgentParser.ProductVersionWordsContext
- nl.basjes.parse.useragent.parser.UserAgentParser.RootElementsContext
- nl.basjes.parse.useragent.parser.UserAgentParser.RootTextContext
- nl.basjes.parse.useragent.parser.UserAgentParser.SingleVersionContext
- nl.basjes.parse.useragent.parser.UserAgentParser.SingleVersionWithCommasContext
- nl.basjes.parse.useragent.parser.UserAgentParser.SiteUrlContext
- nl.basjes.parse.useragent.parser.UserAgentParser.UserAgentContext
- nl.basjes.parse.useragent.parser.UserAgentParser.UuIdContext
- nl.basjes.parse.useragent.parser.UserAgentParser.VersionWordsContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.BasePathContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.PathFixedValueContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.PathVariableContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.PathWalkContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherCleanVersionContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherConcatContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherConcatPostfixContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherConcatPrefixContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherDefaultIfNullContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherExtractBrandFromUrlContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherNormalizeBrandContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherPathContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherPathIsInLookupContainsContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherPathIsInLookupContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherPathIsInLookupPrefixContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherPathIsNotInLookupPrefixContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherPathLookupContainsContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherPathLookupContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherPathLookupPrefixContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherReplaceStringContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherSegmentRangeContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherWordRangeContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherExtractContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherRequireContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.IsSyntaxErrorContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherBaseContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherPathIsNullContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.MatcherVariableContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.NumberRangeContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.NumberRangeAllContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.NumberRangeEmptyContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.NumberRangeOpenStartToEndContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.NumberRangeSingleValueContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.NumberRangeStartToEndContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.NumberRangeStartToOpenEndContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.PathContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepBackToFullContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepContainsValueContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepDownContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepEndsWithValueContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepEqualsValueContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepIsInSetContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepIsNotInSetContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepNext2Context
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepNext3Context
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepNext4Context
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepNextContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepNotEqualsValueContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepPrev2Context
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepPrev3Context
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepPrev4Context
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepPrevContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepStartsWithValueContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepUpContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.StepWordRangeContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.WordRangeContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.WordRangeFirstWordsContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.WordRangeLastWordsContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.WordRangeSingleWordContext
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser.WordRangeStartToEndContext
- org.antlr.v4.runtime.ParserRuleContext
- com.esotericsoftware.kryo.Serializer<T>
- com.esotericsoftware.kryo.serializers.FieldSerializer<T>
- nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect.KryoSerializer
- nl.basjes.parse.useragent.AbstractUserAgentAnalyzer.KryoSerializer
- nl.basjes.parse.useragent.debug.AbstractUserAgentAnalyzerTester.KryoSerializer
- nl.basjes.parse.useragent.analyze.MatcherList.KryoSerializer
- nl.basjes.parse.useragent.analyze.MatchesList.KryoSerializer
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk.StepDown.KryoSerializer
- nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect.KryoSerializer
- com.esotericsoftware.kryo.serializers.FieldSerializer<T>
- nl.basjes.parse.useragent.utils.Splitter
- nl.basjes.parse.useragent.utils.ListSplitter
- nl.basjes.parse.useragent.utils.VersionSplitter
- nl.basjes.parse.useragent.utils.WordSplitter
- nl.basjes.parse.useragent.analyze.treewalker.steps.Step (implements java.io.Serializable)
- nl.basjes.parse.useragent.analyze.treewalker.steps.value.StepBackToFull
- nl.basjes.parse.useragent.analyze.treewalker.steps.value.StepCleanVersion
- nl.basjes.parse.useragent.analyze.treewalker.steps.value.StepConcat
- nl.basjes.parse.useragent.analyze.treewalker.steps.value.StepConcatPostfix
- nl.basjes.parse.useragent.analyze.treewalker.steps.value.StepConcatPrefix
- nl.basjes.parse.useragent.analyze.treewalker.steps.compare.StepContains
- nl.basjes.parse.useragent.analyze.treewalker.steps.compare.StepDefaultIfNull
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk.StepDown
- nl.basjes.parse.useragent.analyze.treewalker.steps.compare.StepEndsWith
- nl.basjes.parse.useragent.analyze.treewalker.steps.compare.StepEquals
- nl.basjes.parse.useragent.analyze.treewalker.steps.value.StepExtractBrandFromUrl
- nl.basjes.parse.useragent.analyze.treewalker.steps.lookup.StepIsInLookupContains
- nl.basjes.parse.useragent.analyze.treewalker.steps.lookup.StepIsInLookupPrefix
- nl.basjes.parse.useragent.analyze.treewalker.steps.compare.StepIsInSet
- nl.basjes.parse.useragent.analyze.treewalker.steps.lookup.StepIsNotInLookupPrefix
- nl.basjes.parse.useragent.analyze.treewalker.steps.compare.StepIsNotInSet
- nl.basjes.parse.useragent.analyze.treewalker.steps.compare.StepIsNull
- nl.basjes.parse.useragent.analyze.treewalker.steps.lookup.StepLookup
- nl.basjes.parse.useragent.analyze.treewalker.steps.lookup.StepLookupContains
- nl.basjes.parse.useragent.analyze.treewalker.steps.lookup.StepLookupPrefix
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk.StepNext
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk.StepNextN
- nl.basjes.parse.useragent.analyze.treewalker.steps.value.StepNormalizeBrand
- nl.basjes.parse.useragent.analyze.treewalker.steps.compare.StepNotEquals
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk.StepPrev
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk.StepPrevN
- nl.basjes.parse.useragent.analyze.treewalker.steps.value.StepReplaceString
- nl.basjes.parse.useragent.analyze.treewalker.steps.value.StepSegmentRange
- nl.basjes.parse.useragent.analyze.treewalker.steps.compare.StepStartsWith
- nl.basjes.parse.useragent.analyze.treewalker.steps.walk.StepUp
- nl.basjes.parse.useragent.analyze.treewalker.steps.value.StepWordRange
- java.lang.Throwable (implements java.io.Serializable)
- java.lang.Exception
- java.lang.RuntimeException
- nl.basjes.parse.useragent.analyze.InvalidParserConfigurationException
- nl.basjes.parse.useragent.analyze.UselessMatcherException
- java.lang.RuntimeException
- java.lang.Exception
- nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator (implements java.io.Serializable)
- nl.basjes.parse.useragent.UserAgent.ImmutableUserAgent (implements nl.basjes.parse.useragent.UserAgent)
- nl.basjes.parse.useragent.annotate.UserAgentAnnotationAnalyzer<T>
- nl.basjes.parse.useragent.parser.UserAgentBaseListener (implements nl.basjes.parse.useragent.parser.UserAgentListener)
- nl.basjes.parse.useragent.UserAgent.MutableUserAgent (implements nl.basjes.parse.useragent.utils.DefaultANTLRErrorListener, java.io.Serializable, nl.basjes.parse.useragent.UserAgent)
- nl.basjes.parse.useragent.debug.DebugUserAgent
- nl.basjes.parse.useragent.parse.UserAgentTreeFlattener (implements java.io.Serializable)
- nl.basjes.parse.useragent.UserAgent.MutableUserAgent (implements nl.basjes.parse.useragent.utils.DefaultANTLRErrorListener, java.io.Serializable, nl.basjes.parse.useragent.UserAgent)
- nl.basjes.parse.useragent.classify.UserAgentClassifier
- nl.basjes.parse.useragent.parse.UserAgentTreeFlattener.State
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerBaseListener (implements nl.basjes.parse.useragent.parser.UserAgentTreeWalkerListener)
- nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList (implements java.io.Serializable)
- nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList.WalkResult
- nl.basjes.parse.useragent.analyze.WordRangeVisitor.Range (implements java.io.Serializable)
- nl.basjes.parse.useragent.utils.YamlUtils
- nl.basjes.parse.useragent.utils.YauaaVersion
- nl.basjes.parse.useragent.utils.YauaaVersion.AbstractVersion
- nl.basjes.parse.useragent.Version
- java.util.AbstractCollection<E> (implements java.util.Collection<E>)
Interface Hierarchy
- org.antlr.v4.runtime.ANTLRErrorListener
- nl.basjes.parse.useragent.utils.DefaultANTLRErrorListener
- org.antlr.v4.runtime.tree.ParseTreeListener
- nl.basjes.parse.useragent.parser.UserAgentListener
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerListener
- org.antlr.v4.runtime.tree.ParseTreeVisitor<T>
- nl.basjes.parse.useragent.parser.UserAgentTreeWalkerVisitor<T>
- nl.basjes.parse.useragent.parser.UserAgentVisitor<T>
- java.io.Serializable
- nl.basjes.parse.useragent.AgentField
- nl.basjes.parse.useragent.analyze.Analyzer
- nl.basjes.parse.useragent.UserAgent
- nl.basjes.parse.useragent.annotate.UserAgentAnnotationMapper<T>
Annotation Type Hierarchy
- nl.basjes.parse.useragent.annotate.YauaaField (implements java.lang.annotation.Annotation)
Enum Hierarchy
- java.lang.Object
- java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
- nl.basjes.parse.useragent.classify.DeviceClass
- java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)