文件名称:jakarta-oro-2.0.8
介绍说明--下载内容均来自于网络,请自行研究使用
这个是一个功能的文件我自己也记不住了
但是大家在学这个东西时肯定要输入这个名字去找所以
功能不用知道 -this is a function of the documents I also remember everyone in the school but this is certainly have input into the names do not have to look for functional know
但是大家在学这个东西时肯定要输入这个名字去找所以
功能不用知道 -this is a function of the documents I also remember everyone in the school but this is certainly have input into the names do not have to look for functional know
(系统自动生成,下载前可以参看下载内容)
下载文件列表
压缩包 : 41695021jakarta-oro-2.0.8.zip 列表 jakarta-oro-2.0.8/ jakarta-oro-2.0.8/build.properties jakarta-oro-2.0.8/build.xml jakarta-oro-2.0.8/CHANGES jakarta-oro-2.0.8/COMPILE jakarta-oro-2.0.8/CONTRIBUTORS jakarta-oro-2.0.8/docs/ jakarta-oro-2.0.8/docs/api/ jakarta-oro-2.0.8/docs/api/allclasses-frame.html jakarta-oro-2.0.8/docs/api/allclasses-noframe.html jakarta-oro-2.0.8/docs/api/constant-values.html jakarta-oro-2.0.8/docs/api/deprecated-list.html jakarta-oro-2.0.8/docs/api/help-doc.html jakarta-oro-2.0.8/docs/api/index-all.html jakarta-oro-2.0.8/docs/api/index.html jakarta-oro-2.0.8/docs/api/org/ jakarta-oro-2.0.8/docs/api/org/apache/ jakarta-oro-2.0.8/docs/api/org/apache/oro/ jakarta-oro-2.0.8/docs/api/org/apache/oro/io/ jakarta-oro-2.0.8/docs/api/org/apache/oro/io/AwkFilenameFilter.html jakarta-oro-2.0.8/docs/api/org/apache/oro/io/GlobFilenameFilter.html jakarta-oro-2.0.8/docs/api/org/apache/oro/io/package-frame.html jakarta-oro-2.0.8/docs/api/org/apache/oro/io/package-summary.html jakarta-oro-2.0.8/docs/api/org/apache/oro/io/package-tree.html jakarta-oro-2.0.8/docs/api/org/apache/oro/io/Perl5FilenameFilter.html jakarta-oro-2.0.8/docs/api/org/apache/oro/io/RegexFilenameFilter.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/ jakarta-oro-2.0.8/docs/api/org/apache/oro/text/awk/ jakarta-oro-2.0.8/docs/api/org/apache/oro/text/awk/AwkCompiler.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/awk/AwkMatcher.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/awk/AwkPattern.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/awk/AwkStreamInput.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/awk/package-frame.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/awk/package-summary.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/awk/package-tree.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/GenericPatternCache.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/GlobCompiler.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/MalformedCachePatternException.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/MatchAction.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/MatchActionInfo.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/MatchActionProcessor.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/package-frame.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/package-summary.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/package-tree.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/PatternCache.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/PatternCacheFIFO.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/PatternCacheFIFO2.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/PatternCacheLRU.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/PatternCacheRandom.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/perl/ jakarta-oro-2.0.8/docs/api/org/apache/oro/text/perl/MalformedPerl5PatternException.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/perl/package-frame.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/perl/package-summary.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/perl/package-tree.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/perl/Perl5Util.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/ jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/MalformedPatternException.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/MatchResult.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/package-frame.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/package-summary.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/package-tree.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/Pattern.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/PatternCompiler.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/PatternMatcher.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/PatternMatcherInput.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/Perl5Compiler.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/Perl5Debug.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/Perl5Matcher.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/Perl5Pattern.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/Perl5Substitution.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/StringSubstitution.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/Substitution.html jakarta-oro-2.0.8/docs/api/org/apache/oro/text/regex/Util.html jakarta-oro-2.0.8/docs/api/org/apache/oro/util/ jakarta-oro-2.0.8/docs/api/org/apache/oro/util/Cache.html jakarta-oro-2.0.8/docs/api/org/apache/oro/util/CacheFIFO.html jakarta-oro-2.0.8/docs/api/org/apache/oro/util/CacheFIFO2.html jakarta-oro-2.0.8/docs/api/org/apache/oro/util/CacheLRU.html jakarta-oro-2.0.8/docs/api/org/apache/oro/util/CacheRandom.html jakarta-oro-2.0.8/docs/api/org/apache/oro/util/GenericCache.html jakarta-oro-2.0.8/docs/api/org/apache/oro/util/package-frame.html jakarta-oro-2.0.8/docs/api/org/apache/oro/util/package-summary.html jakarta-oro-2.0.8/docs/api/org/apache/oro/util/package-tree.html jakarta-oro-2.0.8/docs/api/overview-frame.html jakarta-oro-2.0.8/docs/api/overview-summary.html jakarta-oro-2.0.8/docs/api/overview-tree.html jakarta-oro-2.0.8/docs/api/package-list jakarta-oro-2.0.8/docs/api/packages.html jakarta-oro-2.0.8/docs/api/resources/ jakarta-oro-2.0.8/docs/api/resources/inherit.gif jakarta-oro-2.0.8/docs/api/serialized-form.html jakarta-oro-2.0.8/docs/api/stylesheet.css jakarta-oro-2.0.8/docs/bugs.html jakarta-oro-2.0.8/docs/classes/ jakarta-oro-2.0.8/docs/classes/examples/ jakarta-oro-2.0.8/docs/classes/examples/MatcherDemoApplet.class jakarta-oro-2.0.8/docs/classes/org/ jakarta-oro-2.0.8/docs/classes/org/apache/ jakarta-oro-2.0.8/docs/classes/org/apache/oro/ jakarta-oro-2.0.8/docs/classes/org/apache/oro/io/ jakarta-oro-2.0.8/docs/classes/org/apache/oro/io/AwkFilenameFilter.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/io/GlobFilenameFilter.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/io/Perl5FilenameFilter.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/io/RegexFilenameFilter.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/ jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/ jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/AwkCompiler.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/AwkMatcher.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/AwkMatchResult.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/AwkPattern.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/AwkStreamInput.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/CatNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/CharacterClassNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/DFAState.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/EpsilonNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/LeafNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/NegativeCharacterClassNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/OrNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/PlusNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/QuestionNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/StarNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/SyntaxNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/SyntaxTree.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/awk/TokenNode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/DefaultMatchAction.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/GenericPatternCache.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/GlobCompiler.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/MalformedCachePatternException.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/MatchAction.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/MatchActionInfo.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/MatchActionProcessor.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/PatternCache.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/PatternCacheFIFO.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/PatternCacheFIFO2.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/PatternCacheLRU.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/PatternCacheRandom.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/perl/ jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/perl/MalformedPerl5PatternException.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/perl/ParsedSubstitutionEntry.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/perl/Perl5Util.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/ jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/CharStringPointer.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/MalformedPatternException.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/MatchResult.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/OpCode.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/Pattern.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/PatternCompiler.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/PatternMatcher.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/PatternMatcherInput.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/Perl5Compiler.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/Perl5Debug.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/Perl5Matcher.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/Perl5MatchResult.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/Perl5Pattern.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/Perl5Repetition.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/Perl5Substitution.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/StringSubstitution.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/Substitution.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/text/regex/Util.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/util/ jakarta-oro-2.0.8/docs/classes/org/apache/oro/util/Cache.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/util/CacheFIFO.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/util/CacheFIFO2.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/util/CacheLRU.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/util/CacheRandom.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/util/GenericCache.class jakarta-oro-2.0.8/docs/classes/org/apache/oro/util/GenericCacheEntry.class jakarta-oro-2.0.8/docs/demo.html jakarta-oro-2.0.8/docs/devplan-2.0.html jakarta-oro-2.0.8/docs/images/ jakarta-oro-2.0.8/docs/images/logo.gif jakarta-oro-2.0.8/docs/images/logoSmall.gif jakarta-oro-2.0.8/docs/index.html jakarta-oro-2.0.8/docs/status.html jakarta-oro-2.0.8/docs/users.html jakarta-oro-2.0.8/ISSUES jakarta-oro-2.0.8/jakarta-oro-2.0.8.jar jakarta-oro-2.0.8/LICENSE jakarta-oro-2.0.8/README jakarta-oro-2.0.8/src/ jakarta-oro-2.0.8/src/java/ jakarta-oro-2.0.8/src/java/examples/ jakarta-oro-2.0.8/src/java/examples/addCommas.java jakarta-oro-2.0.8/src/java/examples/awk/ jakarta-oro-2.0.8/src/java/examples/awk/matchesContainsExample.java jakarta-oro-2.0.8/src/java/examples/awk/prefixExample.java jakarta-oro-2.0.8/src/java/examples/awk/splitExample.java jakarta-oro-2.0.8/src/java/examples/awk/streamInputExample.java jakarta-oro-2.0.8/src/java/examples/awk/streamInputExample.txt jakarta-oro-2.0.8/src/java/examples/awk/strings.java jakarta-oro-2.0.8/src/java/examples/awk/substituteExample.java jakarta-oro-2.0.8/src/java/examples/didNotMatch.java jakarta-oro-2.0.8/src/java/examples/filter.java jakarta-oro-2.0.8/src/java/examples/grep.java jakarta-oro-2.0.8/src/java/examples/groups.java jakarta-oro-2.0.8/src/java/examples/jdfix.java jakarta-oro-2.0.8/src/java/examples/MatcherDemoApplet.java jakarta-oro-2.0.8/src/java/examples/matchesContainsExample.java jakarta-oro-2.0.8/src/java/examples/matchResultExample.java jakarta-oro-2.0.8/src/java/examples/prefixExample.java jakarta-oro-2.0.8/src/java/examples/printPasswd.java jakarta-oro-2.0.8/src/java/examples/semicolon.java jakarta-oro-2.0.8/src/java/examples/semicolon.txt jakarta-oro-2.0.8/src/java/examples/splitExample.java jakarta-oro-2.0.8/src/java/examples/substituteExample.java jakarta-oro-2.0.8/src/java/org/ jakarta-oro-2.0.8/src/java/org/apache/ jakarta-oro-2.0.8/src/java/org/apache/oro/ jakarta-oro-2.0.8/src/java/org/apache/oro/io/ jakarta-oro-2.0.8/src/java/org/apache/oro/io/AwkFilenameFilter.java jakarta-oro-2.0.8/src/java/org/apache/oro/io/GlobFilenameFilter.java jakarta-oro-2.0.8/src/java/org/apache/oro/io/package.html jakarta-oro-2.0.8/src/java/org/apache/oro/io/Perl5FilenameFilter.java jakarta-oro-2.0.8/src/java/org/apache/oro/io/RegexFilenameFilter.java jakarta-oro-2.0.8/src/java/org/apache/oro/overview.html jakarta-oro-2.0.8/src/java/org/apache/oro/text/ jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/ jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/AwkCompiler.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/AwkMatcher.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/AwkMatchResult.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/AwkPattern.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/AwkStreamInput.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/CatNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/CharacterClassNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/EpsilonNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/LeafNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/NegativeCharacterClassNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/OrNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/package.html jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/PlusNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/QuestionNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/StarNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/SyntaxNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/SyntaxTree.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/awk/TokenNode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/DefaultMatchAction.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/GenericPatternCache.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/GlobCompiler.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/MalformedCachePatternException.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/MatchAction.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/MatchActionInfo.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/MatchActionProcessor.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/package.html jakarta-oro-2.0.8/src/java/org/apache/oro/text/PatternCache.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/PatternCacheFIFO.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/PatternCacheFIFO2.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/PatternCacheLRU.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/PatternCacheRandom.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/perl/ jakarta-oro-2.0.8/src/java/org/apache/oro/text/perl/MalformedPerl5PatternException.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/perl/package.html jakarta-oro-2.0.8/src/java/org/apache/oro/text/perl/ParsedSubstitutionEntry.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/perl/Perl5Util.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/ jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/CharStringPointer.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/MalformedPatternException.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/MatchResult.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/OpCode.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/package.html jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/Pattern.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/PatternCompiler.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/PatternMatcher.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/PatternMatcherInput.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/Perl5Compiler.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/Perl5Debug.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/Perl5Matcher.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/Perl5MatchResult.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/Perl5Pattern.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/Perl5Repetition.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/Perl5Substitution.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/StringSubstitution.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/Substitution.java jakarta-oro-2.0.8/src/java/org/apache/oro/text/regex/Util.java jakarta-oro-2.0.8/src/java/org/apache/oro/util/ jakarta-oro-2.0.8/src/java/org/apache/oro/util/Cache.java jakarta-oro-2.0.8/src/java/org/apache/oro/util/CacheFIFO.java jakarta-oro-2.0.8/src/java/org/apache/oro/util/CacheFIFO2.java jakarta-oro-2.0.8/src/java/org/apache/oro/util/CacheLRU.java jakarta-oro-2.0.8/src/java/org/apache/oro/util/CacheRandom.java jakarta-oro-2.0.8/src/java/org/apache/oro/util/GenericCache.java jakarta-oro-2.0.8/src/java/org/apache/oro/util/GenericCacheEntry.java jakarta-oro-2.0.8/src/java/org/apache/oro/util/package.html jakarta-oro-2.0.8/src/java/tools/ jakarta-oro-2.0.8/src/java/tools/oroToApache.java jakarta-oro-2.0.8/STYLE jakarta-oro-2.0.8/TODO