From 012e920a1969ca8a932189f485227156b4b00b45 Mon Sep 17 00:00:00 2001 From: tpantelis Date: Sat, 3 May 2014 03:30:58 -0400 Subject: [PATCH] Bug 946: Fixed eclipse errors with nagasena projects - Uploaded the nagasena OSGi bundle jars to nexus with group ID org.openexi. - Changed affected dependencies - Removed thirdparty/org.openexi project Change-Id: I280749e287a7b8e918095cff79729888b7caa4ec Signed-off-by: tpantelis --- opendaylight/commons/opendaylight/pom.xml | 22 +- .../distribution/opendaylight/pom.xml | 16 +- opendaylight/md-sal/sal-binding-it/pom.xml | 16 +- .../test/sal/binding/it/TestHelper.java | 4 +- .../test/sal/binding/it/AbstractTest.java | 4 +- .../md-sal/samples/toaster-it/pom.xml | 4 +- .../sample/toaster/it/ToasterTest.java | 4 +- .../it/pax/IdentityRefNetconfTest.java | 4 +- opendaylight/netconf/netconf-util/pom.xml | 4 +- opendaylight/netconf/pom.xml | 1 - .../nagasena-rta-0000.0002.0038.0.jar | Bin 77375 -> 0 bytes third-party/org.openexi/nagasena-rta/pom.xml | 65 -- .../nagasena/nagasena-0000.0002.0038.0.jar | Bin 269591 -> 0 bytes third-party/org.openexi/nagasena/pom.xml | 65 -- .../main/resources/doc/allclasses-frame.html | 85 -- .../resources/doc/allclasses-noframe.html | 85 -- .../main/resources/doc/constant-values.html | 553 ---------- .../main/resources/doc/deprecated-list.html | 141 --- .../src/main/resources/doc/help-doc.html | 214 ---- .../src/main/resources/doc/index-all.html | 970 ------------------ .../src/main/resources/doc/index.html | 40 - .../doc/org/openexi/proc/EXIDecoder.html | 580 ----------- .../org/openexi/proc/EXISchemaResolver.html | 218 ---- .../openexi/proc/HeaderOptionsOutputType.html | 357 ------- .../openexi/proc/common/AlignmentType.html | 379 ------- .../openexi/proc/common/BinaryDataSource.html | 349 ------- .../org/openexi/proc/common/EXIOptions.html | 502 --------- .../openexi/proc/common/EventDescription.html | 653 ------------ .../org/openexi/proc/common/EventType.html | 829 --------------- .../openexi/proc/common/GrammarOptions.html | 528 ---------- .../doc/org/openexi/proc/common/QName.html | 346 ------- .../openexi/proc/common/package-frame.html | 63 -- .../openexi/proc/common/package-summary.html | 235 ----- .../org/openexi/proc/common/package-tree.html | 166 --- .../openexi/proc/grammars/GrammarCache.html | 362 ------- .../openexi/proc/grammars/package-frame.html | 33 - .../proc/grammars/package-summary.html | 184 ---- .../openexi/proc/grammars/package-tree.html | 149 --- .../org/openexi/proc/io/BinaryDataSink.html | 171 --- .../org/openexi/proc/io/CharacterBuffer.html | 259 ----- .../doc/org/openexi/proc/io/Scanner.html | 354 ------- .../org/openexi/proc/io/package-frame.html | 46 - .../org/openexi/proc/io/package-summary.html | 205 ---- .../doc/org/openexi/proc/io/package-tree.html | 155 --- .../doc/org/openexi/proc/package-frame.html | 55 - .../doc/org/openexi/proc/package-summary.html | 219 ---- .../doc/org/openexi/proc/package-tree.html | 163 --- .../org/openexi/sax/BinaryDataHandler.html | 267 ----- .../doc/org/openexi/sax/EXIReader.html | 645 ------------ .../doc/org/openexi/sax/ReaderSupport.html | 290 ------ .../org/openexi/sax/SAXTransmogrifier.html | 245 ----- .../doc/org/openexi/sax/Transmogrifier.html | 735 ------------- .../openexi/sax/TransmogrifierException.html | 566 ---------- .../doc/org/openexi/sax/package-frame.html | 61 -- .../doc/org/openexi/sax/package-summary.html | 224 ---- .../doc/org/openexi/sax/package-tree.html | 171 --- .../doc/org/openexi/schema/Characters.html | 486 --------- .../doc/org/openexi/schema/EXISchema.html | 355 ------- .../doc/org/openexi/schema/EmptySchema.html | 229 ----- .../doc/org/openexi/schema/package-frame.html | 37 - .../org/openexi/schema/package-summary.html | 195 ---- .../doc/org/openexi/schema/package-tree.html | 148 --- .../org/openexi/scomp/EXISchemaFactory.html | 308 ------ .../scomp/EXISchemaFactoryErrorHandler.html | 268 ----- .../scomp/EXISchemaFactoryException.html | 350 ------- .../org/openexi/scomp/EXISchemaReader.html | 264 ----- .../org/openexi/scomp/EntityResolverEx.html | 241 ----- .../doc/org/openexi/scomp/package-frame.html | 59 -- .../org/openexi/scomp/package-summary.html | 222 ---- .../doc/org/openexi/scomp/package-tree.html | 162 --- .../main/resources/doc/overview-frame.html | 55 - .../main/resources/doc/overview-summary.html | 227 ---- .../src/main/resources/doc/overview-tree.html | 190 ---- .../src/main/resources/doc/package-list | 7 - .../main/resources/doc/resources/inherit.gif | Bin 57 -> 0 bytes .../main/resources/doc/serialized-form.html | 269 ----- .../src/main/resources/doc/stylesheet.css | 29 - third-party/org.openexi/pom.xml | 50 - 78 files changed, 39 insertions(+), 17173 deletions(-) delete mode 100644 third-party/org.openexi/nagasena-rta/nagasena-rta-0000.0002.0038.0.jar delete mode 100644 third-party/org.openexi/nagasena-rta/pom.xml delete mode 100644 third-party/org.openexi/nagasena/nagasena-0000.0002.0038.0.jar delete mode 100644 third-party/org.openexi/nagasena/pom.xml delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-frame.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-noframe.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/constant-values.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/deprecated-list.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/help-doc.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/index-all.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/index.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXIDecoder.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXISchemaResolver.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/HeaderOptionsOutputType.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/AlignmentType.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/BinaryDataSource.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EXIOptions.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventDescription.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventType.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/GrammarOptions.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/QName.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-frame.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-summary.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-tree.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/GrammarCache.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-frame.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-summary.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-tree.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/BinaryDataSink.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/CharacterBuffer.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/Scanner.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-frame.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-summary.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-tree.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-frame.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-summary.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-tree.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/BinaryDataHandler.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/EXIReader.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/ReaderSupport.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/SAXTransmogrifier.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/Transmogrifier.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/TransmogrifierException.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-frame.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-summary.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-tree.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/Characters.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EXISchema.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EmptySchema.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-frame.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-summary.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-tree.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactory.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryErrorHandler.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryException.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaReader.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EntityResolverEx.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-frame.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-summary.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-tree.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/overview-frame.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/overview-summary.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/overview-tree.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/package-list delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/resources/inherit.gif delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/serialized-form.html delete mode 100644 third-party/org.openexi/nagasena/src/main/resources/doc/stylesheet.css delete mode 100644 third-party/org.openexi/pom.xml diff --git a/opendaylight/commons/opendaylight/pom.xml b/opendaylight/commons/opendaylight/pom.xml index 0ba356581f..fbcacbdc83 100644 --- a/opendaylight/commons/opendaylight/pom.xml +++ b/opendaylight/commons/opendaylight/pom.xml @@ -55,7 +55,7 @@ 3.0.0 - 0000.0002.0038.0-SNAPSHOT + 0000.0002.0038.0 2.15 3.0.1 3.1.0 @@ -1310,16 +1310,6 @@ ganymed 1.1-SNAPSHOT - - org.opendaylight.controller.thirdparty - nagasena - ${exi.nagasena.version} - - - org.opendaylight.controller.thirdparty - nagasena-rta - ${exi.nagasena.version} - org.opendaylight.controller.thirdparty @@ -1449,6 +1439,16 @@ yang-ext ${yang-ext.version} + + org.openexi + nagasena + ${exi.nagasena.version} + + + org.openexi + nagasena-rta + ${exi.nagasena.version} + org.osgi org.osgi.compendium diff --git a/opendaylight/distribution/opendaylight/pom.xml b/opendaylight/distribution/opendaylight/pom.xml index f9985cbcc1..b751394cfa 100644 --- a/opendaylight/distribution/opendaylight/pom.xml +++ b/opendaylight/distribution/opendaylight/pom.xml @@ -1074,14 +1074,6 @@ org.opendaylight.controller.thirdparty ganymed - - org.opendaylight.controller.thirdparty - nagasena - - - org.opendaylight.controller.thirdparty - nagasena-rta - org.opendaylight.yangtools binding-generator-api @@ -1195,6 +1187,14 @@ xtend-lib-osgi 2.4.3 + + org.openexi + nagasena + + + org.openexi + nagasena-rta + org.zeromq jeromq diff --git a/opendaylight/md-sal/sal-binding-it/pom.xml b/opendaylight/md-sal/sal-binding-it/pom.xml index 0d20a07ad5..70847aabea 100644 --- a/opendaylight/md-sal/sal-binding-it/pom.xml +++ b/opendaylight/md-sal/sal-binding-it/pom.xml @@ -77,14 +77,6 @@ org.opendaylight.controller sal-binding-broker-impl - - org.opendaylight.controller.thirdparty - nagasena - - - org.opendaylight.controller.thirdparty - nagasena-rta - org.opendaylight.yangtools.thirdparty antlr4-runtime-osgi-nohead @@ -100,6 +92,14 @@ xtend-lib-osgi 2.4.3 + + org.openexi + nagasena + + + org.openexi + nagasena-rta + org.ops4j.pax.exam pax-exam diff --git a/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java b/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java index 166216b226..734733a19c 100644 --- a/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java +++ b/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java @@ -68,8 +68,8 @@ public class TestHelper { mavenBundle(CONTROLLER, "netconf-client").versionAsInProject(), // mavenBundle(CONTROLLER, "netconf-util").versionAsInProject(), // - mavenBundle(CONTROLLER + ".thirdparty", "nagasena").versionAsInProject(), // - mavenBundle(CONTROLLER + ".thirdparty", "nagasena-rta").versionAsInProject(), // + mavenBundle("org.openexi", "nagasena").versionAsInProject(), // + mavenBundle("org.openexi", "nagasena-rta").versionAsInProject(), // mavenBundle(CONTROLLER + ".thirdparty", "ganymed").versionAsInProject(), // mavenBundle(CONTROLLER, "netconf-mapping-api").versionAsInProject(), // diff --git a/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractTest.java b/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractTest.java index 3d78f94861..b2f89cf779 100644 --- a/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractTest.java +++ b/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractTest.java @@ -70,8 +70,8 @@ public abstract class AbstractTest { mavenBundle("org.slf4j", "log4j-over-slf4j").versionAsInProject(), // mavenBundle("ch.qos.logback", "logback-core").versionAsInProject(), // mavenBundle("ch.qos.logback", "logback-classic").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena-rta").versionAsInProject(), + mavenBundle("org.openexi", "nagasena").versionAsInProject(), + mavenBundle("org.openexi", "nagasena-rta").versionAsInProject(), // systemProperty("osgi.bundles.defaultStartLevel").value("4"), systemPackages("sun.nio.ch"), diff --git a/opendaylight/md-sal/samples/toaster-it/pom.xml b/opendaylight/md-sal/samples/toaster-it/pom.xml index 60db8f9ba6..dc96b79002 100644 --- a/opendaylight/md-sal/samples/toaster-it/pom.xml +++ b/opendaylight/md-sal/samples/toaster-it/pom.xml @@ -36,11 +36,11 @@ 1.1-SNAPSHOT - org.opendaylight.controller.thirdparty + org.openexi nagasena - org.opendaylight.controller.thirdparty + org.openexi nagasena-rta diff --git a/opendaylight/md-sal/samples/toaster-it/src/test/java/org/opendaylight/controller/sample/toaster/it/ToasterTest.java b/opendaylight/md-sal/samples/toaster-it/src/test/java/org/opendaylight/controller/sample/toaster/it/ToasterTest.java index add523157f..eb82605529 100644 --- a/opendaylight/md-sal/samples/toaster-it/src/test/java/org/opendaylight/controller/sample/toaster/it/ToasterTest.java +++ b/opendaylight/md-sal/samples/toaster-it/src/test/java/org/opendaylight/controller/sample/toaster/it/ToasterTest.java @@ -77,8 +77,8 @@ public class ToasterTest { mavenBundle("org.opendaylight.controller.samples", "sample-toaster-provider").versionAsInProject(), mavenBundle("org.opendaylight.controller.samples", "sample-toaster-consumer").versionAsInProject(), mavenBundle("org.opendaylight.controller.samples", "sample-toaster").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena-rta").versionAsInProject() + mavenBundle("org.openexi", "nagasena").versionAsInProject(), + mavenBundle("org.openexi", "nagasena-rta").versionAsInProject() ); } diff --git a/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/pax/IdentityRefNetconfTest.java b/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/pax/IdentityRefNetconfTest.java index c54285bc90..0aacfeef83 100644 --- a/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/pax/IdentityRefNetconfTest.java +++ b/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/pax/IdentityRefNetconfTest.java @@ -104,8 +104,8 @@ public class IdentityRefNetconfTest { mavenBundle("org.slf4j", "log4j-over-slf4j").versionAsInProject(), mavenBundle("ch.qos.logback", "logback-core").versionAsInProject(), mavenBundle("ch.qos.logback", "logback-classic").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena").versionAsInProject(), - mavenBundle("org.opendaylight.controller.thirdparty", "nagasena-rta").versionAsInProject()); + mavenBundle("org.openexi", "nagasena").versionAsInProject(), + mavenBundle("org.openexi", "nagasena-rta").versionAsInProject()); } diff --git a/opendaylight/netconf/netconf-util/pom.xml b/opendaylight/netconf/netconf-util/pom.xml index 65d2954afd..14a71fd9ba 100644 --- a/opendaylight/netconf/netconf-util/pom.xml +++ b/opendaylight/netconf/netconf-util/pom.xml @@ -42,11 +42,11 @@ ganymed - org.opendaylight.controller.thirdparty + org.openexi nagasena - org.opendaylight.controller.thirdparty + org.openexi nagasena-rta diff --git a/opendaylight/netconf/pom.xml b/opendaylight/netconf/pom.xml index 86ef75d45f..50e84463f5 100644 --- a/opendaylight/netconf/pom.xml +++ b/opendaylight/netconf/pom.xml @@ -29,7 +29,6 @@ netconf-monitoring ietf-netconf-monitoring ietf-netconf-monitoring-extension - ../../third-party/org.openexi diff --git a/third-party/org.openexi/nagasena-rta/nagasena-rta-0000.0002.0038.0.jar b/third-party/org.openexi/nagasena-rta/nagasena-rta-0000.0002.0038.0.jar deleted file mode 100644 index 1b6a02710a7b4779a6853a44fbf3c3af72d00667..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77375 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 diff --git a/third-party/org.openexi/nagasena-rta/pom.xml b/third-party/org.openexi/nagasena-rta/pom.xml deleted file mode 100644 index 98da51aca8..0000000000 --- a/third-party/org.openexi/nagasena-rta/pom.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - 4.0.0 - - - org.opendaylight.controller.thirdparty - org.openexi - 0000.0002.0038.0-SNAPSHOT - - - org.opendaylight.controller.thirdparty - nagasena-rta - bundle - - - nagasena-rta-0000.0002.0038.0.jar - - - - - - org.codehaus.mojo - truezip-maven-plugin - - - extract - - copy - - compile - - - - ${archive} - ${project.build.outputDirectory} - - ** - - - - - - - - org.apache.felix - maven-bundle-plugin - true - - - ${project.groupId}.${project.artifactId} - - - - - - - diff --git a/third-party/org.openexi/nagasena/nagasena-0000.0002.0038.0.jar b/third-party/org.openexi/nagasena/nagasena-0000.0002.0038.0.jar deleted file mode 100644 index ffc28ead4b0f59ae0e7174b8274e386cb7923c1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269591 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≪lFBxr8D3VJS|Wp@cO>`BczNl0w^HsAQiEU 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 Ryo7&vZ3%?lY6vQX{{y9{f{FkD diff --git a/third-party/org.openexi/nagasena/pom.xml b/third-party/org.openexi/nagasena/pom.xml deleted file mode 100644 index a890431ca6..0000000000 --- a/third-party/org.openexi/nagasena/pom.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - 4.0.0 - - - org.opendaylight.controller.thirdparty - org.openexi - 0000.0002.0038.0-SNAPSHOT - - - org.opendaylight.controller.thirdparty - nagasena - bundle - - - nagasena-0000.0002.0038.0.jar - - - - - - org.codehaus.mojo - truezip-maven-plugin - - - extract - - copy - - compile - - - - ${archive} - ${project.build.outputDirectory} - - ** - - - - - - - - org.apache.felix - maven-bundle-plugin - true - - - ${project.groupId}.${project.artifactId} - - - - - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-frame.html deleted file mode 100644 index 11f9ed5153..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-frame.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -All Classes - - - - - - - - - - -All Classes -
- - - - - -
AlignmentType -
-BinaryDataHandler -
-BinaryDataSink -
-BinaryDataSource -
-CharacterBuffer -
-Characters -
-EmptySchema -
-EntityResolverEx -
-EventDescription -
-EventType -
-EXIDecoder -
-EXIOptions -
-EXIReader -
-EXISchema -
-EXISchemaFactory -
-EXISchemaFactoryErrorHandler -
-EXISchemaFactoryException -
-EXISchemaReader -
-EXISchemaResolver -
-GrammarCache -
-GrammarOptions -
-HeaderOptionsOutputType -
-QName -
-ReaderSupport -
-SAXTransmogrifier -
-Scanner -
-Transmogrifier -
-TransmogrifierException -
-
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-noframe.html b/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-noframe.html deleted file mode 100644 index 8f32ae6587..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/allclasses-noframe.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -All Classes - - - - - - - - - - -All Classes -
- - - - - -
AlignmentType -
-BinaryDataHandler -
-BinaryDataSink -
-BinaryDataSource -
-CharacterBuffer -
-Characters -
-EmptySchema -
-EntityResolverEx -
-EventDescription -
-EventType -
-EXIDecoder -
-EXIOptions -
-EXIReader -
-EXISchema -
-EXISchemaFactory -
-EXISchemaFactoryErrorHandler -
-EXISchemaFactoryException -
-EXISchemaReader -
-EXISchemaResolver -
-GrammarCache -
-GrammarOptions -
-HeaderOptionsOutputType -
-QName -
-ReaderSupport -
-SAXTransmogrifier -
-Scanner -
-Transmogrifier -
-TransmogrifierException -
-
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/constant-values.html b/third-party/org.openexi/nagasena/src/main/resources/doc/constant-values.html deleted file mode 100644 index 6c4e3d2837..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/constant-values.html +++ /dev/null @@ -1,553 +0,0 @@ - - - - - - - -Constant Field Values - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -


-
-

-Constant Field Values

-
-
-Contents - - - - - - -
-org.openexi.*
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
org.openexi.proc.common.EventDescription
-public static final byteEVENT_AT3
-public static final byteEVENT_BLOB13
-public static final byteEVENT_CH6
-public static final byteEVENT_CM10
-public static final byteEVENT_DTD12
-public static final byteEVENT_ED1
-public static final byteEVENT_EE7
-public static final byteEVENT_ER11
-public static final byteEVENT_NL5
-public static final byteEVENT_NS8
-public static final byteEVENT_PI9
-public static final byteEVENT_SD0
-public static final byteEVENT_SE2
-public static final byteEVENT_TP4
- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
org.openexi.proc.common.EventType
-public static final byteITEM_AT12
-public static final byteITEM_AT_WC_ANY_UNTYPED8
-public static final byteITEM_CH3
-public static final byteITEM_CM1
-public static final byteITEM_DTD10
-public static final byteITEM_ED4
-public static final byteITEM_EE9
-public static final byteITEM_ER2
-public static final byteITEM_NS7
-public static final byteITEM_PI0
-public static final byteITEM_SC6
-public static final byteITEM_SCHEMA_AT16
-public static final byteITEM_SCHEMA_AT_INVALID_VALUE23
-public static final byteITEM_SCHEMA_AT_WC_ANY17
-public static final byteITEM_SCHEMA_AT_WC_NS18
-public static final byteITEM_SCHEMA_CH19
-public static final byteITEM_SCHEMA_CH_MIXED20
-public static final byteITEM_SCHEMA_NIL21
-public static final byteITEM_SCHEMA_TYPE22
-public static final byteITEM_SCHEMA_WC_ANY14
-public static final byteITEM_SCHEMA_WC_NS15
-public static final byteITEM_SD13
-public static final byteITEM_SE11
-public static final byteITEM_SE_WC5
- -

- -

- - - - - - - - - - - - - - - - - - - - - - -
org.openexi.proc.common.GrammarOptions
-public static final shortDEFAULT_OPTIONS2
-public static final shortOPTIONS_UNUSED0
-public static final shortSTRICT_OPTIONS1
- -

- -

- - - - - - - - - - - - -
org.openexi.proc.io.CharacterBuffer
-public static final intBUFSIZE_DEFAULT4096
- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
org.openexi.sax.TransmogrifierException
-public static final intPREFIX_BOUND_TO_ANOTHER_NAMESPACE11
-public static final intPREFIX_NOT_BOUND10
-public static final intSAX_ERROR6
-public static final intSCRIBER_ERROR12
-public static final intUNEXPECTED_ATTR2
-public static final intUNEXPECTED_BINARY_VALUE4
-public static final intUNEXPECTED_CHARS3
-public static final intUNEXPECTED_ED8
-public static final intUNEXPECTED_ELEM1
-public static final intUNEXPECTED_END_ELEM7
-public static final intUNEXPECTED_SD9
-public static final intUNHANDLED_SAXPARSER_FEATURE5
- -

- -

- - - - - - - - - - - - -
org.openexi.scomp.EXISchemaFactoryException
-public static final intXMLSCHEMA_ERROR1002
- -

- -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/deprecated-list.html b/third-party/org.openexi/nagasena/src/main/resources/doc/deprecated-list.html deleted file mode 100644 index 60ad3edb6c..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/deprecated-list.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -Deprecated List - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Deprecated API

-
-
-Contents
    -
- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/help-doc.html b/third-party/org.openexi/nagasena/src/main/resources/doc/help-doc.html deleted file mode 100644 index 81850ce70b..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/help-doc.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - -API Help - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-How This API Document Is Organized

-
-This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

-Overview

-
- -

-The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

-

-Package

-
- -

-Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

    -
  • Interfaces (italic)
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types
-
-

-Class/Interface

-
- -

-Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    -
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description -

    -

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary -

    -

  • Field Detail
  • Constructor Detail
  • Method Detail
-Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
- -

-Annotation Type

-
- -

-Each annotation type has its own separate page with the following sections:

    -
  • Annotation Type declaration
  • Annotation Type description
  • Required Element Summary
  • Optional Element Summary
  • Element Detail
-
- -

-Enum

-
- -

-Each enum has its own separate page with the following sections:

    -
  • Enum declaration
  • Enum description
  • Enum Constant Summary
  • Enum Constant Detail
-
-

-Tree (Class Hierarchy)

-
-There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    -
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
-
-

-Deprecated API

-
-The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
-

-Index

-
-The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
-

-Prev/Next

-These links take you to the next or previous class, interface, package, or related page.

-Frames/No Frames

-These links show and hide the HTML frames. All pages are available with or without frames. -

-

-Serialized Form

-Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. -

-

-Constant Field Values

-The Constant Field Values page lists the static final fields and their values. -

- - -This help file applies to API documentation generated using the standard doclet. - -
-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/index-all.html b/third-party/org.openexi/nagasena/src/main/resources/doc/index-all.html deleted file mode 100644 index 3fc6b297e3..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/index-all.html +++ /dev/null @@ -1,970 +0,0 @@ - - - - - - - -Index - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -A B C D E F G H I L M N O P Q R S T U V W X _
-

-A

-
-
addCM(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Sets Preserve Comments to true. -
addDTD(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Sets Preserve Document Type Definition to true. -
addNS(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Sets Preserve Namespaces to true. -
addPI(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Sets Preserve Processing Instructions to true. -
AlignmentType - Enum in org.openexi.proc.common
AlignmentType represents one of the following bit alignment - styles so as to provide an extra degree of control over the - way information is stored in EXI format.
ancestryIds - -Variable in class org.openexi.schema.EXISchema -
  -
-
-

-B

-
-
binaryData(byte[], int, int, BinaryDataSink) - -Method in interface org.openexi.sax.BinaryDataHandler -
Writes a binary value where the schema expects a binary value. -
BinaryDataHandler - Interface in org.openexi.sax
 
BinaryDataSink - Interface in org.openexi.proc.io
BinaryDataSink represents a sink that accepts successive chunks of binary data.
BinaryDataSource - Class in org.openexi.proc.common
 
BinaryDataSource() - -Constructor for class org.openexi.proc.common.BinaryDataSource -
  -
BUFSIZE_DEFAULT - -Static variable in class org.openexi.proc.io.CharacterBuffer -
  -
-
-

-C

-
-
CharacterBuffer - Class in org.openexi.proc.io
 
CharacterBuffer(int) - -Constructor for class org.openexi.proc.io.CharacterBuffer -
  -
Characters - Class in org.openexi.schema
 
Characters(char[], int, int, boolean) - -Constructor for class org.openexi.schema.Characters -
  -
characters - -Variable in class org.openexi.schema.Characters -
  -
CHARACTERS_EMPTY - -Static variable in class org.openexi.schema.Characters -
  -
closeInputStream() - -Method in class org.openexi.proc.io.Scanner -
Close the input stream. -
compile(InputSource) - -Method in class org.openexi.scomp.EXISchemaFactory -
Compile an XML Schema Document into an EXISchema. -
-
-

-D

-
-
DEFAULT_OPTIONS - -Static variable in class org.openexi.proc.common.GrammarOptions -
Indicates that undeclared elements and attributes will be - processed when the XML stream is encoded and decoded. -
-
-

-E

-
-
EmptySchema - Class in org.openexi.schema
EmptySchema provides an EXISchema that supports all datatypes inherent - in XML Schema such as xsd:int and xsd:dateTime, but with no - user-specific definitions.
encode(InputSource) - -Method in class org.openexi.sax.Transmogrifier -
Parses XML input source and converts it to an EXI stream. -
endBinaryData(BinaryDataSink) - -Method in interface org.openexi.sax.BinaryDataHandler -
Mark the end of a binary value. -
EntityResolverEx - Interface in org.openexi.scomp
Extended SAX EntityResolver interface for resolving entities and - schema documents.
equals(Object) - -Method in class org.openexi.proc.common.QName -
  -
equals(Object) - -Method in class org.openexi.schema.Characters -
  -
error(EXISchemaFactoryException) - -Method in interface org.openexi.scomp.EXISchemaFactoryErrorHandler -
Report an error found during schema processing. -
EVENT_AT - -Static variable in interface org.openexi.proc.common.EventDescription -
Attribute event. -
EVENT_BLOB - -Static variable in interface org.openexi.proc.common.EventDescription -
BLOB event (content of an element). -
EVENT_CH - -Static variable in interface org.openexi.proc.common.EventDescription -
Character event (content of an element). -
EVENT_CM - -Static variable in interface org.openexi.proc.common.EventDescription -
Comment event. -
EVENT_DTD - -Static variable in interface org.openexi.proc.common.EventDescription -
Document Type Definition event. -
EVENT_ED - -Static variable in interface org.openexi.proc.common.EventDescription -
End Document event. -
EVENT_EE - -Static variable in interface org.openexi.proc.common.EventDescription -
End Element event. -
EVENT_ER - -Static variable in interface org.openexi.proc.common.EventDescription -
Entity Reference event. -
EVENT_NL - -Static variable in interface org.openexi.proc.common.EventDescription -
Attribute xsi:nil. -
EVENT_NS - -Static variable in interface org.openexi.proc.common.EventDescription -
Namespace declaration event. -
EVENT_PI - -Static variable in interface org.openexi.proc.common.EventDescription -
Processing Instruction event. -
EVENT_SD - -Static variable in interface org.openexi.proc.common.EventDescription -
Start Document event. -
EVENT_SE - -Static variable in interface org.openexi.proc.common.EventDescription -
Start Element event. -
EVENT_TP - -Static variable in interface org.openexi.proc.common.EventDescription -
Attribute xsi:type. -
EventDescription - Interface in org.openexi.proc.common
EventDescription provides accessors to the current EXI event data - during the decode process.
EventType - Class in org.openexi.proc.common
EventType denotes terminal symbols of grammar productions - defined in the EXI 1.0 specification.
EXIDecoder - Class in org.openexi.proc
EXIDecoder provides methods to configure and - instantiate a Scanner object - you can use to parse the contents of an EXI stream.
EXIDecoder() - -Constructor for class org.openexi.proc.EXIDecoder -
Creates an instance of EXIDecoder with the default inflator - buffer size of 8192 bytes. -
EXIDecoder(int, boolean) - -Constructor for class org.openexi.proc.EXIDecoder -
Creates an instance of EXIDecoder with the specified inflator buffer - size. -
EXIOptions - Class in org.openexi.proc.common
EXIOptions provides accessors for values associated with - EXI options in the EXI header of an EXI stream.
EXIReader - Class in org.openexi.sax
EXIReader implements the SAX XMLReader to provide a convenient and - familiar interface for decoding an EXI stream.
EXIReader() - -Constructor for class org.openexi.sax.EXIReader -
  -
EXISchema - Class in org.openexi.schema
EXISchema provides methods to read and write compiled EXI schemas.
EXISchemaFactory - Class in org.openexi.scomp
EXISchemaFactory compiles XML Schema into an EXISchema instance.
EXISchemaFactory() - -Constructor for class org.openexi.scomp.EXISchemaFactory -
  -
EXISchemaFactoryErrorHandler - Interface in org.openexi.scomp
This interface reports exceptions from EXISchemaFactory during schema - processing.
EXISchemaFactoryException - Exception in org.openexi.scomp
Any errors encountered during schema compilation are communicated to - an application as EXISchemaFactoryException objects.
EXISchemaReader - Class in org.openexi.scomp
EXISchemaReader parses EXI-encoded EXI Grammar into an EXISchema.
EXISchemaReader() - -Constructor for class org.openexi.scomp.EXISchemaReader -
  -
EXISchemaResolver - Interface in org.openexi.proc
Developers have the option of implementing the EXISchemaResolver interface - to help EXIReader and EXIDecoder locate the correct grammar cache for parsing - an EXI stream.
-
-

-F

-
-
fatalError(EXISchemaFactoryException) - -Method in interface org.openexi.scomp.EXISchemaFactoryErrorHandler -
Report a fatal error found during schema processing. -
-
-

-G

-
-
getAlignmentType() - -Method in class org.openexi.proc.common.EXIOptions -
Get the bit alignment setting. -
getBinaryDataSource() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the value of an EVENT_BLOB. -
getBlockSize() - -Method in class org.openexi.proc.common.EXIOptions -
Returns the number of element and attribute values that are read and processed - as a group. -
getByteArray() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
getCharacters() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the value of an EVENT_CH, - Attribute (EVENT_AT, EVENT_NL, EVENT_TP), EVENT_CM, - EVENT_DTD or EVENT_PI event. -
getCode() - -Method in exception org.openexi.sax.TransmogrifierException -
Returns a code that represents the type of the exception. -
getCode() - -Method in exception org.openexi.scomp.EXISchemaFactoryException -
Returns a code that represents the type of the exception. -
getContentHandler() - -Method in class org.openexi.sax.ReaderSupport -
Get the SAX content handler currently in use. -
getDatatypeRepresentationMap() - -Method in class org.openexi.proc.common.EXIOptions -
Returns an array of qualified names that map XMLSchema datatypes to - non-standard equivalents in EXI. -
getDatatypeRepresentationMapBindingsCount() - -Method in class org.openexi.proc.common.EXIOptions -
Returns the number of Datatype Representation Map QName pairs. -
getEventKind() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the event kind of which instance data this EventDescription is describing. -
getEventType() - -Method in interface org.openexi.proc.common.EventDescription -
Returns the EventType from which this event is derived. -
getException() - -Method in exception org.openexi.sax.TransmogrifierException -
Returns an Exception object. -
getException() - -Method in exception org.openexi.scomp.EXISchemaFactoryException -
Returns an Exception object. -
getEXISchema() - -Method in class org.openexi.proc.grammars.GrammarCache -
Gets the compiled EXI Schema. -
getEXISchema() - -Static method in class org.openexi.schema.EmptySchema -
Returns an EXISchema that supports all datatypes inherent in XML Schema. -
getFeature(String) - -Method in class org.openexi.sax.EXIReader -
Get features for the SAX parser. -
getGrammarCache() - -Method in interface org.openexi.sax.SAXTransmogrifier -
Returns the GrammarCache that is in use by this SAXTransmogrifier. -
getGrammarCache() - -Method in class org.openexi.sax.Transmogrifier -
Returns the GrammarCache that was previously set. -
getHeaderOptions() - -Method in class org.openexi.proc.io.Scanner -
Returns the EXI Header options from the header of the - EXI stream, if present. -
getLength() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
getLocator() - -Method in exception org.openexi.sax.TransmogrifierException -
Returns the locator that is associated with this compilation error. -
getLocator() - -Method in exception org.openexi.scomp.EXISchemaFactoryException -
Returns the locator that is associated with this compilation error. -
getMessage() - -Method in exception org.openexi.sax.TransmogrifierException -
Returns a message that describes the exception. -
getMessage() - -Method in exception org.openexi.scomp.EXISchemaFactoryException -
Returns a message that describes the exception. -
getName() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the name of the EXI event. -
getPrefix() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the namespace prefix of the event. -
getPreserveComments() - -Method in class org.openexi.proc.common.EXIOptions -
Returns whether comments are conserved in the EXI Stream. -
getPreserveDTD() - -Method in class org.openexi.proc.common.EXIOptions -
Returns whether the document type definition is conserved in the EXI Stream. -
getPreserveLexicalValues() - -Method in class org.openexi.proc.common.EXIOptions -
Returns whether lexical values (literal strings) are preserved rather - than the logical values of elements and attributes. -
getPreserveNS() - -Method in class org.openexi.proc.common.EXIOptions -
Returns whether the namespaces are preserved in the EXI stream. -
getPreservePIs() - -Method in class org.openexi.proc.common.EXIOptions -
Returns whether processing instructions are conserved in the EXI Stream. -
getProperty(String) - -Method in class org.openexi.sax.EXIReader -
Use to retrieve the name of the lexical handler, currently the only - property recognized by this class. -
getRemainingBytesCount() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
getSAXTransmogrifier() - -Method in class org.openexi.sax.Transmogrifier -
Returns the SAXTransmogrifier, which implements both the ContentHandler - and LexicalHandler. -
getStartIndex() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
getURI() - -Method in interface org.openexi.proc.common.EventDescription -
Gets the URI of the EXI event. -
getValueMaxLength() - -Method in class org.openexi.proc.common.EXIOptions -
Returns the maximum length in characters of strings that will be included - in the String Table. -
getValuePartitionCapacity() - -Method in class org.openexi.proc.common.EXIOptions -
Returns the maximum number of entries in the String Table. -
GrammarCache - Class in org.openexi.proc.grammars
A GrammarCache object represents a set of EXI grammars used - for processing EXI streams using specific grammar options.
GrammarCache(EXISchema) - -Constructor for class org.openexi.proc.grammars.GrammarCache -
Creates an instance of GrammarCache informed by a schema with default - grammar options. -
GrammarCache(short) - -Constructor for class org.openexi.proc.grammars.GrammarCache -
Creates an instance of GrammarCache with the specified grammar options. -
GrammarCache(EXISchema, short) - -Constructor for class org.openexi.proc.grammars.GrammarCache -
Creates an instance of GrammarCache informed by a schema with the - specified grammar options. -
GrammarOptions - Class in org.openexi.proc.common
GrammarOptions computes a short integer that represents settings in the EXI Grammar settings - that determine how an EXI file will be encoded or decoded.
grammarOptions - -Variable in class org.openexi.proc.grammars.GrammarCache -
Short integer that encapsulates GrammarOptions - for the EXI stream. -
-
-

-H

-
-
hasCM(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Returns true if Preserve Comments is true. -
hasDTD(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Returns true if Preserve Document Type Definition is true. -
hashCode() - -Method in class org.openexi.schema.Characters -
  -
hasNext() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
hasNS(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Returns true if Preserve Namespaces is true. -
hasPI(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Returns true if Preserve Processing Instructions is true. -
HeaderOptionsOutputType - Enum in org.openexi.proc
This enumeration provides three possible settings for header options output.
-
-

-I

-
-
indexOf(char) - -Method in class org.openexi.schema.Characters -
  -
isFragment() - -Method in class org.openexi.proc.common.EXIOptions -
An XML fragment is a non-compliant XML document with multiple root - elements. -
isPermitDeviation(short) - -Static method in class org.openexi.proc.common.GrammarOptions -
Returns true if DEFAULT_OPTIONS is set to true. -
isSimpleType(int) - -Method in class org.openexi.schema.EXISchema -
  -
isStrict() - -Method in class org.openexi.proc.common.EXIOptions -
The Strict option applies to streams that have an associated XML Schema - and the data in the XML stream is 100% compliant with the schema. -
isVolatile - -Variable in class org.openexi.schema.Characters -
  -
ITEM_AT - -Static variable in class org.openexi.proc.common.EventType -
Event type for an Attribute learned by built-in element grammars - from prior attribute occurrences. -
ITEM_AT_WC_ANY_UNTYPED - -Static variable in class org.openexi.proc.common.EventType -
Wildcard event type for an Attribute where the attribute's defined - datatype (if any) is disregarded. -
ITEM_CH - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Character event (character events store values as strings). -
ITEM_CM - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Comment. -
ITEM_DTD - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Document Type Definition. -
ITEM_ED - -Static variable in class org.openexi.proc.common.EventType -
Event type for End of Document. -
ITEM_EE - -Static variable in class org.openexi.proc.common.EventType -
Event type for End of Element. -
ITEM_ER - -Static variable in class org.openexi.proc.common.EventType -
Event type for an Entity Reference. -
ITEM_NS - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Namespace declaration. -
ITEM_PI - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Processing Instruction. -
ITEM_SC - -Static variable in class org.openexi.proc.common.EventType -
Self-contained items are not supported in this release of OpenEXI. -
ITEM_SCHEMA_AT - -Static variable in class org.openexi.proc.common.EventType -
Event type for AttributeUse that matches an attribute event with - a valid value. -
ITEM_SCHEMA_AT_INVALID_VALUE - -Static variable in class org.openexi.proc.common.EventType -
Event type for AttributeUse that matches an attribute event with an - invalid value. -
ITEM_SCHEMA_AT_WC_ANY - -Static variable in class org.openexi.proc.common.EventType -
Attribute wildcard event type stemming from a schema, where the attribute's - defined datatype (if any) is applied. -
ITEM_SCHEMA_AT_WC_NS - -Static variable in class org.openexi.proc.common.EventType -
Attribute wildcard event type, qualified with a specific namespace, stemming - from a schema where the attribute's defined datatype (if any) is applied. -
ITEM_SCHEMA_CH - -Static variable in class org.openexi.proc.common.EventType -
Event type for a defined Character event in an EXI stream processed - using a schema. -
ITEM_SCHEMA_CH_MIXED - -Static variable in class org.openexi.proc.common.EventType -
Event type for a Character event that occurs in the context of an element - defined so as to permit mixed content (mark up and data) in an EXI - stream processed using a schema. -
ITEM_SCHEMA_NIL - -Static variable in class org.openexi.proc.common.EventType -
Special Attribute that indicates the value of the associated element is - explicitly nil rather than an empty string. -
ITEM_SCHEMA_TYPE - -Static variable in class org.openexi.proc.common.EventType -
Special Attribute that describes a data type for the associated - element. -
ITEM_SCHEMA_WC_ANY - -Static variable in class org.openexi.proc.common.EventType -
Attribute wildcard event type stemming from a schema where the - attribute's defined datatype (if any) is applied. -
ITEM_SCHEMA_WC_NS - -Static variable in class org.openexi.proc.common.EventType -
Event type for an element defined in a namespace in an EXI stream - processed using a schema. -
ITEM_SD - -Static variable in class org.openexi.proc.common.EventType -
Event type for Start Document. -
ITEM_SE - -Static variable in class org.openexi.proc.common.EventType -
Event type for Start Element. -
ITEM_SE_WC - -Static variable in class org.openexi.proc.common.EventType -
Wildcard event type for an element. -
-
-

-L

-
-
length - -Variable in class org.openexi.schema.Characters -
  -
localName - -Variable in class org.openexi.proc.common.QName -
Local name of the datatype. -
-
-

-M

-
-
makeString() - -Method in class org.openexi.schema.Characters -
  -
-
-

-N

-
-
name - -Variable in class org.openexi.proc.common.EventType -
Local name of event type definition. -
namespaceName - -Variable in class org.openexi.proc.common.QName -
If namespaceName is null, this indicates a failure of - namespace-prefix binding. -
next() - -Method in class org.openexi.proc.common.BinaryDataSource -
  -
nextEvent() - -Method in class org.openexi.proc.io.Scanner -
Gets the next event from the EXI stream. -
-
-

-O

-
-
OPTIONS_UNUSED - -Static variable in class org.openexi.proc.common.GrammarOptions -
OPTIONS_UNUSED is an internal value. -
org.openexi.proc - package org.openexi.proc
- - -The Proc (Processor) package contains the EXIDecoder, which is used to convert EXI streams to XML format.
org.openexi.proc.common - package org.openexi.proc.common
- - -The common package contains classes, interfaces, and enumerators that define the vocabulary used to describe EXI streams (events, options, alignment, and character string values).
org.openexi.proc.grammars - package org.openexi.proc.grammars
- - -The grammars package contains the GrammarCache, which combines an XML Schema Definition with EXI grammar options to create an EXI Schema.
org.openexi.proc.io - package org.openexi.proc.io
- - -The IO package contains the Scanner, which is used by EXIDecoder to read and interpret EXI streams.
org.openexi.sax - package org.openexi.sax
- - -The SAX package contains the Transmogrifier, which encodes an XML file to an EXI stream, and the EXIReader, which restores an EXI stream to its logical XML equivalent.
org.openexi.schema - package org.openexi.schema
- - -The schema package contains classes that are used to represent XML Schema Documents (XSDs).
org.openexi.scomp - package org.openexi.scomp
- - -The scomp (schema compiler) package contains the EXISchemaFactory, which is used to compile XML Schema Documents (XSDs) to EXISchemas.
-
-

-P

-
-
parse(InputStream) - -Method in class org.openexi.scomp.EXISchemaReader -
Parses EXI-encoded EXI Grammar into an EXISchema. -
PREFIX_BOUND_TO_ANOTHER_NAMESPACE - -Static variable in exception org.openexi.sax.TransmogrifierException -
Prefix is bound to another namespace. -
PREFIX_NOT_BOUND - -Static variable in exception org.openexi.sax.TransmogrifierException -
Prefix is not bound. -
processHeader() - -Method in class org.openexi.proc.EXIDecoder -
This method reads and configures any header options present - in the EXI stream, then returns a Scanner - object you can use to parse the values from the EXI stream. -
-
-

-Q

-
-
QName - Class in org.openexi.proc.common
QName is a pair comprised of a namespace name and a local name - to be used in a Datatype Representation Map (DTRM) definition - to denote an XSD datatype or an EXI datatype representation.
QName() - -Constructor for class org.openexi.proc.common.QName -
  -
QName(String, String) - -Constructor for class org.openexi.proc.common.QName -
Creates a QName based on its literal qualified name - (see http://www.w3.org/TR/xml-names/#ns-qualnames - for definition) and namespace name. -
-
-

-R

-
-
ReaderSupport - Class in org.openexi.sax
 
readIn(DataInputStream) - -Static method in class org.openexi.schema.EXISchema -
Reads an EXI Schema from a DataInputStream. -
resolveEntity(String, String, String) - -Method in interface org.openexi.scomp.EntityResolverEx -
This method will be called for resolving schema documents upon - occurrences of XML Schema directives such as "include", "import" and - "redefine" within schemas. -
resolveSchema(String, short) - -Method in interface org.openexi.proc.EXISchemaResolver -
Return a GrammarCache based on a schemaId and grammar options discovered - in the header options of an EXI stream. -
-
-

-S

-
-
SAX_ERROR - -Static variable in exception org.openexi.sax.TransmogrifierException -
SAX error reported by XML parser. -
SAXTransmogrifier - Interface in org.openexi.sax
Applications can directly feed SAX events into a transmogrifier through SAXTransmogrifier.
Scanner - Class in org.openexi.proc.io
The Scanner class provides methods for scanning events - in the body of an EXI stream.
SCRIBER_ERROR - -Static variable in exception org.openexi.sax.TransmogrifierException -
Errors reported by Scriber. -
setAlignmentType(AlignmentType) - -Method in class org.openexi.proc.EXIDecoder -
Set the bit alignment style of the stream to be decoded. -
setAlignmentType(AlignmentType) - -Method in class org.openexi.sax.EXIReader -
Set the bit alignment style used to compile the EXI input stream. -
setAlignmentType(AlignmentType) - -Method in class org.openexi.sax.Transmogrifier -
Set the bit alignment style for the encoded EXI stream. -
setBinaryChunkSize(int) - -Method in class org.openexi.proc.io.Scanner -
Binary values are read in chunks of the specified size when the - use of binary data is enabled. -
setBlockSize(int) - -Method in class org.openexi.proc.EXIDecoder -
Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream. -
setBlockSize(int) - -Method in class org.openexi.sax.EXIReader -
Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream. -
setBlockSize(int) - -Method in class org.openexi.sax.Transmogrifier -
Set the size, in number of values, of the information that will be - processed as a chunk of the entire XML stream. -
setCompilerErrorHandler(EXISchemaFactoryErrorHandler) - -Method in class org.openexi.scomp.EXISchemaFactory -
Set an error handler to report any errors encountered during - schema compilation. -
setContentHandler(ContentHandler) - -Method in class org.openexi.sax.ReaderSupport -
Set a SAX content handler to receive SAX events. -
setDatatypeRepresentationMap(QName[], int) - -Method in class org.openexi.proc.EXIDecoder -
Set a datatype representation map (DTRM). -
setDatatypeRepresentationMap(QName[], int) - -Method in class org.openexi.sax.EXIReader -
Set a datatype representation map. -
setDatatypeRepresentationMap(QName[], int) - -Method in class org.openexi.sax.Transmogrifier -
Set a datatype representation map (DTRM). -
setEnableBinaryData(boolean) - -Method in class org.openexi.proc.EXIDecoder -
Each binary value will be returned as in a EventDescription of EVENT_BLOB - instead of EVENT_CH when enabled. -
setEntityResolver(EntityResolver) - -Method in class org.openexi.sax.Transmogrifier -
Set an external SAX entity resolver. -
setEntityResolver(EntityResolverEx) - -Method in class org.openexi.scomp.EXISchemaFactory -
Set an entity resolver for use to resolve entities and schema documents. -
setEXISchemaResolver(EXISchemaResolver) - -Method in class org.openexi.sax.EXIReader -
Set the EXISchemaResolver to retrieve the schema needed to decode the - current EXI stream. -
setFeature(String, boolean) - -Method in class org.openexi.sax.EXIReader -
Set features for the SAX parser. -
setFragment(boolean) - -Method in class org.openexi.proc.EXIDecoder -
Set whether the document is a fragment. -
setFragment(boolean) - -Method in class org.openexi.sax.EXIReader -
Set to true if the EXI input stream is an XML fragment (a non-compliant - XML document with multiple root elements). -
setFragment(boolean) - -Method in class org.openexi.sax.Transmogrifier -
Set to true if the XML input stream is an XML fragment (a non-compliant - XML document with multiple root elements). -
setGrammarCache(GrammarCache) - -Method in class org.openexi.proc.EXIDecoder -
Set the GrammarCache used in decoding EXI streams. -
setGrammarCache(GrammarCache) - -Method in class org.openexi.sax.ReaderSupport -
Set the GrammarCache used in parsing EXI streams. -
setGrammarCache(GrammarCache) - -Method in class org.openexi.sax.Transmogrifier -
Set the GrammarCache used in transmogrifying XML data to EXI. -
setGrammarCache(GrammarCache, SchemaId) - -Method in class org.openexi.sax.Transmogrifier -
Set the GrammarCache to be used in encoding XML streams into EXI streams - by the transmogrifier. -
setInitialBinaryDataBufferSize(int) - -Method in class org.openexi.proc.EXIDecoder -
  -
setInputStream(InputStream) - -Method in class org.openexi.proc.EXIDecoder -
Set an input stream from which the encoded stream is read. -
setLexicalHandler(LexicalHandler) - -Method in class org.openexi.sax.EXIReader -
Set a SAX lexical handler to receive SAX lexical events. -
setOutputCookie(boolean) - -Method in class org.openexi.sax.Transmogrifier -
Tells the encoder whether to or not to start the stream by - adding an EXI cookie. -
setOutputOptions(HeaderOptionsOutputType) - -Method in class org.openexi.sax.Transmogrifier -
Set the header output options. -
setOutputStream(OutputStream) - -Method in class org.openexi.sax.Transmogrifier -
Set an output stream to which encoded streams are written. -
setPreserveLexicalValues(boolean) - -Method in class org.openexi.proc.EXIDecoder -
Set to true to preserve the original string values from the EXI - stream. -
setPreserveLexicalValues(boolean) - -Method in class org.openexi.sax.EXIReader -
Set to true if the EXI input stream was compiled with the Preserve Lexical - Values set to true. -
setPreserveLexicalValues(boolean) - -Method in class org.openexi.sax.Transmogrifier -
Set to true to preserve the original string values from the XML - stream. -
setPreserveWhitespaces(boolean) - -Method in class org.openexi.sax.Transmogrifier -
Set to true to preserve whitespace (for example, spaces, tabs, and - line breaks) in the encoded EXI stream. -
setProperty(String, Object) - -Method in class org.openexi.sax.EXIReader -
This method wraps the friendlier setLexicalHandler method to provide - syntax familiar to experienced SAX programmers. -
setResolveExternalGeneralEntities(boolean) - -Method in class org.openexi.sax.Transmogrifier -
Change the way a Transmogrifier handles external general entities. -
setSchema(EXISchema, QName[], int) - -Method in class org.openexi.proc.io.Scanner -
  -
setValueMaxLength(int) - -Method in class org.openexi.proc.EXIDecoder -
Set the maximum length of a string that will be stored for reuse in the - String Table. -
setValueMaxLength(int) - -Method in class org.openexi.sax.EXIReader -
Set the maximum length of a string that will be stored for reuse in the - String Table. -
setValueMaxLength(int) - -Method in class org.openexi.sax.Transmogrifier -
Set the maximum length of a string that will be stored for reuse in the - String Table. -
setValuePartitionCapacity(int) - -Method in class org.openexi.proc.EXIDecoder -
Set the maximum number of values in the String Table. -
setValuePartitionCapacity(int) - -Method in class org.openexi.sax.EXIReader -
Set the maximum number of values in the String Table. -
setValuePartitionCapacity(int) - -Method in class org.openexi.sax.Transmogrifier -
Set the maximum number of values in the String Table. -
startBinaryData(long) - -Method in interface org.openexi.sax.BinaryDataHandler -
Mark the start of a binary value. -
startIndex - -Variable in class org.openexi.schema.Characters -
  -
STRICT_OPTIONS - -Static variable in class org.openexi.proc.common.GrammarOptions -
Indicates that undeclared elements and attributes will throw an - exception when the XML stream is encoded and decoded. -
substring(int, int) - -Method in class org.openexi.schema.Characters -
  -
-
-

-T

-
-
Transmogrifier - Class in org.openexi.sax
The Transmogrifier converts an XML stream to an EXI stream.
Transmogrifier() - -Constructor for class org.openexi.sax.Transmogrifier -
Create an instance of the Transmogrifier with a default SAX parser. -
Transmogrifier(SAXParserFactory) - -Constructor for class org.openexi.sax.Transmogrifier -
Create an instance of the Transmogrifier, specifying the SAXParserFactory - from which to create the SAX parser. -
TransmogrifierException - Exception in org.openexi.sax
Exception handler for the Transmogrifier.
turnPermanent() - -Method in class org.openexi.schema.Characters -
  -
-
-

-U

-
-
ucsCount - -Variable in class org.openexi.schema.Characters -
  -
UNEXPECTED_ATTR - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected Attribute. -
UNEXPECTED_BINARY_VALUE - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected Binary value. -
UNEXPECTED_CHARS - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected Character Sequence. -
UNEXPECTED_ED - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected End of Document event. -
UNEXPECTED_ELEM - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected Element. -
UNEXPECTED_END_ELEM - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected End of Element event. -
UNEXPECTED_SD - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unexpected Start of Document event. -
UNHANDLED_SAXPARSER_FEATURE - -Static variable in exception org.openexi.sax.TransmogrifierException -
Unhandled SAX parser feature. -
uri - -Variable in class org.openexi.proc.common.EventType -
URI of event type definition. -
-
-

-V

-
-
valueOf(String) - -Static method in enum org.openexi.proc.common.AlignmentType -
Returns the enum constant of this type with the specified name. -
valueOf(String) - -Static method in enum org.openexi.proc.HeaderOptionsOutputType -
Returns the enum constant of this type with the specified name. -
values() - -Static method in enum org.openexi.proc.common.AlignmentType -
Returns an array containing the constants of this enum type, in -the order they're declared. -
values() - -Static method in enum org.openexi.proc.HeaderOptionsOutputType -
Returns an array containing the constants of this enum type, in -the order they're declared. -
-
-

-W

-
-
warning(EXISchemaFactoryException) - -Method in interface org.openexi.scomp.EXISchemaFactoryErrorHandler -
Report a warning found during schema processing. -
writeOut(DataOutputStream) - -Method in class org.openexi.schema.EXISchema -
Writes out a serialized EXISchema. -
writeXml(OutputStream, boolean) - -Method in class org.openexi.schema.EXISchema -
  -
-
-

-X

-
-
XMLSCHEMA_ERROR - -Static variable in exception org.openexi.scomp.EXISchemaFactoryException -
The underlying XMLSchema parser found an error in the schema. -
-
-

-_

-
-
_isSimpleType(int, int[]) - -Static method in class org.openexi.schema.EXISchema -
  -
-
-A B C D E F G H I L M N O P Q R S T U V W X _ - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/index.html b/third-party/org.openexi/nagasena/src/main/resources/doc/index.html deleted file mode 100644 index f8c172cd85..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/index.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - -Generated Documentation (Untitled) - - - - - - - - - - - -<H2> -Frame Alert</H2> - -<P> -This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. -<BR> -Link to<A HREF="overview-summary.html">Non-frame version.</A> - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXIDecoder.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXIDecoder.html deleted file mode 100644 index 15bd150a78..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXIDecoder.html +++ /dev/null @@ -1,580 +0,0 @@ - - - - - - - -EXIDecoder - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc -
-Class EXIDecoder

-
-java.lang.Object
-  extended by org.openexi.proc.EXIDecoder
-
-
-
-
public class EXIDecoder
extends java.lang.Object
- - -

-EXIDecoder provides methods to configure and - instantiate a Scanner object - you can use to parse the contents of an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - -
-Constructor Summary
EXIDecoder() - -
-          Creates an instance of EXIDecoder with the default inflator - buffer size of 8192 bytes.
EXIDecoder(int inflatorBufSize, - boolean useThreadedInflater) - -
-          Creates an instance of EXIDecoder with the specified inflator buffer - size.
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- ScannerprocessHeader() - -
-          This method reads and configures any header options present - in the EXI stream, then returns a Scanner - object you can use to parse the values from the EXI stream.
- voidsetAlignmentType(AlignmentType alignmentType) - -
-          Set the bit alignment style of the stream to be decoded.
- voidsetBlockSize(int blockSize) - -
-          Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream.
- voidsetDatatypeRepresentationMap(QName[] dtrm, - int n_bindings) - -
-          Set a datatype representation map (DTRM).
- voidsetEnableBinaryData(boolean enable) - -
-          Each binary value will be returned as in a EventDescription of EVENT_BLOB - instead of EVENT_CH when enabled.
- voidsetFragment(boolean isFragment) - -
-          Set whether the document is a fragment.
- voidsetGrammarCache(GrammarCache grammarCache) - -
-          Set the GrammarCache used in decoding EXI streams.
- voidsetInitialBinaryDataBufferSize(int initialSize) - -
-           
- voidsetInputStream(java.io.InputStream istream) - -
-          Set an input stream from which the encoded stream is read.
- voidsetPreserveLexicalValues(boolean preserveLexicalValues) - -
-          Set to true to preserve the original string values from the EXI - stream.
- voidsetValueMaxLength(int valueMaxLength) - -
-          Set the maximum length of a string that will be stored for reuse in the - String Table.
- voidsetValuePartitionCapacity(int valuePartitionCapacity) - -
-          Set the maximum number of values in the String Table.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Constructor Detail
- -

-EXIDecoder

-
-public EXIDecoder()
-
-
Creates an instance of EXIDecoder with the default inflator - buffer size of 8192 bytes. Buffer size is only used when - the EXI stream is encoded with EXI compression. -

-

-
- -

-EXIDecoder

-
-public EXIDecoder(int inflatorBufSize,
-                  boolean useThreadedInflater)
-
-
Creates an instance of EXIDecoder with the specified inflator buffer - size. When dynamic memory is limited on the target device, reducing - the buffer size can improve performance and avoid runtime errors. Buffer - size is only used when the EXI stream is encoded with EXI compression. -

-

-
Parameters:
inflatorBufSize - size of the buffer, in bytes.
useThreadedInflater - Inflater will be run in its own thread if true
-
- - - - - - - - -
-Method Detail
- -

-setInputStream

-
-public final void setInputStream(java.io.InputStream istream)
-
-
Set an input stream from which the encoded stream is read. -

-

-
Parameters:
istream - InputSream to be read.
-
-
-
- -

-setAlignmentType

-
-public final void setAlignmentType(AlignmentType alignmentType)
-                            throws org.openexi.proc.common.EXIOptionsException
-
-
Set the bit alignment style of the stream to be decoded. -

-

-
Parameters:
alignmentType - AlignmentType object -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setFragment

-
-public final void setFragment(boolean isFragment)
-
-
Set whether the document is a fragment. Fragments are nonstandard - XML documents with multiple root elements. Default is false. -

-

-
Parameters:
isFragment - true if the stream is an XML fragment
-
-
-
- -

-setGrammarCache

-
-public final void setGrammarCache(GrammarCache grammarCache)
-                           throws org.openexi.proc.common.EXIOptionsException
-
-
Set the GrammarCache used in decoding EXI streams. -

-

-
Parameters:
grammarCache - GrammarCache -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setBlockSize

-
-public final void setBlockSize(int blockSize)
-                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream. Reducing the block size - can improve performance for devices with limited dynamic memory. - Default is 1,000,000 items (not 1MB, but 1,000,000 complete Attribute - and Element values). Block size is only used when the EXI stream is - encoded with EXI-compression. -

-

-
Parameters:
blockSize - number of values in each processing block. Default is 1,000,000. -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setValueMaxLength

-
-public final void setValueMaxLength(int valueMaxLength)
-
-
Set the maximum length of a string that will be stored for reuse in the - String Table. By default, there is no maximum length. However, in data - sets that have long, unique strings of information, you can improve - performance by limiting the size to the length of strings that are more - likely to appear more than once. -

-

-
Parameters:
valueMaxLength - maximum length of entries in the String Table.
-
-
-
- -

-setValuePartitionCapacity

-
-public final void setValuePartitionCapacity(int valuePartitionCapacity)
-
-
Set the maximum number of values in the String Table. By default, there - is no limit. If the target device has limited dynamic memory, limiting - the number of entries in the String Table can improve performance and - reduce the likelihood that you will exceed memory capacity. -

-

-
Parameters:
valuePartitionCapacity - maximum number of entries in the String Table
-
-
-
- -

-setPreserveLexicalValues

-
-public final void setPreserveLexicalValues(boolean preserveLexicalValues)
-                                    throws org.openexi.proc.common.EXIOptionsException
-
-
Set to true to preserve the original string values from the EXI - stream. For example, a date string might be converted to a different - format when interpreted by the EXIDecoder. Preserving the lexical values - ensures that the identical strings are restored, and not just their - logical values. -

-

-
Parameters:
preserveLexicalValues - true to keep original strings intact -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setDatatypeRepresentationMap

-
-public final void setDatatypeRepresentationMap(QName[] dtrm,
-                                               int n_bindings)
-                                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set a datatype representation map (DTRM). The DTRM allows you to remap - XMLSchema datatypes to EXI datatypes other than their default equivalents. - The map is created using a sequence of Qualified Name pairs that identify - a datatype definition in the XMLSchema namespace followed by the new - corresponding datatype mapping in the EXI namespace. -

- For example, the following lines map the boolean datatype from XMLSchema - to the integer datatype in EXI. -
-   QName q1 = new QName("xsd:boolean","http://www.w3.org/2001/XMLSchema");
-   QName q2 = new QName("exi:integer","http://www.w3.org/2009/exi");
-   QName[] dtrm = new QName[2];
-   dtrm = {q1, q2}; // Each mapping requires 2 qualified names.
-   decoderInstance.setDatatypeRepresentationMap(dtrm, 1); // The array, and the number of pairs (1).
- 
-

-

-
Parameters:
dtrm - a sequence of pairs of datatype QName and datatype representation QName
n_bindings - the number of QName pairs -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setEnableBinaryData

-
-public final void setEnableBinaryData(boolean enable)
-
-
Each binary value will be returned as in a EventDescription of EVENT_BLOB - instead of EVENT_CH when enabled. -

-

-
Parameters:
enable -
-
-
-
- -

-setInitialBinaryDataBufferSize

-
-public final void setInitialBinaryDataBufferSize(int initialSize)
-
-
-
-
-
-
- -

-processHeader

-
-public Scanner processHeader()
-                      throws java.io.IOException,
-                             org.openexi.proc.common.EXIOptionsException
-
-
This method reads and configures any header options present - in the EXI stream, then returns a Scanner - object you can use to parse the values from the EXI stream. -

-

- -
Returns:
Scanner parsable object with header options applied. -
Throws: -
java.io.IOException -
org.openexi.proc.common.EXIOptionsException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXISchemaResolver.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXISchemaResolver.html deleted file mode 100644 index 7c90b7d5fb..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/EXISchemaResolver.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - -EXISchemaResolver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc -
-Interface EXISchemaResolver

-
-
-
public interface EXISchemaResolver
- - -

-Developers have the option of implementing the EXISchemaResolver interface - to help EXIReader and EXIDecoder locate the correct grammar cache for parsing - an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - - -
-Method Summary
- GrammarCacheresolveSchema(java.lang.String schemaId, - short grammarOptions) - -
-          Return a GrammarCache based on a schemaId and grammar options discovered - in the header options of an EXI stream.
-  -

- - - - - - - - -
-Method Detail
- -

-resolveSchema

-
-GrammarCache resolveSchema(java.lang.String schemaId,
-                           short grammarOptions)
-
-
Return a GrammarCache based on a schemaId and grammar options discovered - in the header options of an EXI stream. -

-

-
Parameters:
schemaId - the specific schema used to decode an EXI stream
grammarOptions - the specific grammar options used to decode an EXI stream -
Returns:
a GrammarCache object
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/HeaderOptionsOutputType.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/HeaderOptionsOutputType.html deleted file mode 100644 index db42f8f040..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/HeaderOptionsOutputType.html +++ /dev/null @@ -1,357 +0,0 @@ - - - - - - - -HeaderOptionsOutputType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc -
-Enum HeaderOptionsOutputType

-
-java.lang.Object
-  extended by java.lang.Enum<HeaderOptionsOutputType>
-      extended by org.openexi.proc.HeaderOptionsOutputType
-
-
-
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<HeaderOptionsOutputType>
-
-
-
-
public enum HeaderOptionsOutputType
extends java.lang.Enum<HeaderOptionsOutputType>
- - -

-This enumeration provides three possible settings for header options output. -

-

    -
  • none – Header options are not included in the header. - The receiver of the document must have precise knowledge of the - settings used to encode the document.

    -
  • -
  • - lessSchemaId – Header options are present. Every - setting used is written out in the header options, except SchemaID. - The receiver of the document must know which schema is used to - encode the document.

    -
  • -
  • - all – All header options are present. Every setting - used is written to the header options, including SchemaID. -
  • -
-

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - -
-Enum Constant Summary
all - -
-           
lessSchemaId - -
-           
none - -
-           
-  - - - - - - - - - - - - - - - -
-Method Summary
-static HeaderOptionsOutputTypevalueOf(java.lang.String name) - -
-          Returns the enum constant of this type with the specified name.
-static HeaderOptionsOutputType[]values() - -
-          Returns an array containing the constants of this enum type, in -the order they're declared.
- - - - - - - -
Methods inherited from class java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
- - - - - - - -
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
-  -

- - - - - - - - -
-Enum Constant Detail
- -

-none

-
-public static final HeaderOptionsOutputType none
-
-
-
-
-
- -

-lessSchemaId

-
-public static final HeaderOptionsOutputType lessSchemaId
-
-
-
-
-
- -

-all

-
-public static final HeaderOptionsOutputType all
-
-
-
-
- - - - - - - - -
-Method Detail
- -

-values

-
-public static final HeaderOptionsOutputType[] values()
-
-
Returns an array containing the constants of this enum type, in -the order they're declared. This method may be used to iterate -over the constants as follows: -
-for(HeaderOptionsOutputType c : HeaderOptionsOutputType.values())
-        System.out.println(c);
-
-

-

- -
Returns:
an array containing the constants of this enum type, in -the order they're declared
-
-
-
- -

-valueOf

-
-public static HeaderOptionsOutputType valueOf(java.lang.String name)
-
-
Returns the enum constant of this type with the specified name. -The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are -not permitted.) -

-

-
Parameters:
name - the name of the enum constant to be returned. -
Returns:
the enum constant with the specified name -
Throws: -
java.lang.IllegalArgumentException - if this enum type has no constant -with the specified name
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/AlignmentType.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/AlignmentType.html deleted file mode 100644 index cd6ca90e7d..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/AlignmentType.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - - -AlignmentType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Enum AlignmentType

-
-java.lang.Object
-  extended by java.lang.Enum<AlignmentType>
-      extended by org.openexi.proc.common.AlignmentType
-
-
-
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<AlignmentType>
-
-
-
-
public enum AlignmentType
extends java.lang.Enum<AlignmentType>
- - -

-AlignmentType represents one of the following bit alignment - styles so as to provide an extra degree of control over the - way information is stored in EXI format. -
-

  • bitPacked is the default setting. Data are - stored in the fewest number of bits in sequential streams - that cross byte barriers. Conceptually, 8 boolean values - might be stored in a single byte, for example.

  • -
  • byteAligned stores data using EXI tags with - byte barriers intact. Byte-aligned files are useful for - troubleshooting, because the data are often human-readable - when the values are literally encoded as strings. It - is not meant for data transfer, as the file has not been - optimized.

  • -
  • preCompress is a byte-aligned format that arranges - the data into channels. It is intended for use cases where - file compression is part of the transfer process, so as - not to perform the compression step twice.

  • -
  • compress is not a bit alignment in and of itself, - but the Deflate algorithm requires that files be byte-aligned. - When compression is selected, byte-alignment is used, the - data are arranged in channels, and the file is compressed - at the end of processing.
  • -
-

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - -
-Enum Constant Summary
bitPacked - -
-           
byteAligned - -
-           
compress - -
-           
preCompress - -
-           
-  - - - - - - - - - - - - - - - -
-Method Summary
-static AlignmentTypevalueOf(java.lang.String name) - -
-          Returns the enum constant of this type with the specified name.
-static AlignmentType[]values() - -
-          Returns an array containing the constants of this enum type, in -the order they're declared.
- - - - - - - -
Methods inherited from class java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
- - - - - - - -
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
-  -

- - - - - - - - -
-Enum Constant Detail
- -

-bitPacked

-
-public static final AlignmentType bitPacked
-
-
-
-
-
- -

-byteAligned

-
-public static final AlignmentType byteAligned
-
-
-
-
-
- -

-preCompress

-
-public static final AlignmentType preCompress
-
-
-
-
-
- -

-compress

-
-public static final AlignmentType compress
-
-
-
-
- - - - - - - - -
-Method Detail
- -

-values

-
-public static final AlignmentType[] values()
-
-
Returns an array containing the constants of this enum type, in -the order they're declared. This method may be used to iterate -over the constants as follows: -
-for(AlignmentType c : AlignmentType.values())
-        System.out.println(c);
-
-

-

- -
Returns:
an array containing the constants of this enum type, in -the order they're declared
-
-
-
- -

-valueOf

-
-public static AlignmentType valueOf(java.lang.String name)
-
-
Returns the enum constant of this type with the specified name. -The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are -not permitted.) -

-

-
Parameters:
name - the name of the enum constant to be returned. -
Returns:
the enum constant with the specified name -
Throws: -
java.lang.IllegalArgumentException - if this enum type has no constant -with the specified name
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/BinaryDataSource.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/BinaryDataSource.html deleted file mode 100644 index 27a32a0db3..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/BinaryDataSource.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - -BinaryDataSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Class BinaryDataSource

-
-java.lang.Object
-  extended by org.openexi.proc.common.BinaryDataSource
-
-
-
-
public final class BinaryDataSource
extends java.lang.Object
- - -

-

- -
-
- -

- - - - - - - - - - - -
-Constructor Summary
BinaryDataSource() - -
-           
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- byte[]getByteArray() - -
-           
- intgetLength() - -
-           
- longgetRemainingBytesCount() - -
-           
- intgetStartIndex() - -
-           
- booleanhasNext() - -
-           
- intnext() - -
-           
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Constructor Detail
- -

-BinaryDataSource

-
-public BinaryDataSource()
-
-
- - - - - - - - -
-Method Detail
- -

-getByteArray

-
-public final byte[] getByteArray()
-
-
-
-
-
-
- -

-getStartIndex

-
-public final int getStartIndex()
-
-
-
-
-
-
- -

-getLength

-
-public final int getLength()
-
-
-
-
-
-
- -

-getRemainingBytesCount

-
-public final long getRemainingBytesCount()
-
-
-
-
-
-
- -

-hasNext

-
-public boolean hasNext()
-
-
-
-
-
-
- -

-next

-
-public int next()
-         throws java.io.IOException
-
-
- -
Throws: -
java.io.IOException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EXIOptions.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EXIOptions.html deleted file mode 100644 index 27d78e0a99..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EXIOptions.html +++ /dev/null @@ -1,502 +0,0 @@ - - - - - - - -EXIOptions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Class EXIOptions

-
-java.lang.Object
-  extended by org.openexi.proc.common.EXIOptions
-
-
-
-
public final class EXIOptions
extends java.lang.Object
- - -

-EXIOptions provides accessors for values associated with - EXI options in the EXI header of an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- AlignmentTypegetAlignmentType() - -
-          Get the bit alignment setting.
- intgetBlockSize() - -
-          Returns the number of element and attribute values that are read and processed - as a group.
- QName[]getDatatypeRepresentationMap() - -
-          Returns an array of qualified names that map XMLSchema datatypes to - non-standard equivalents in EXI.
- intgetDatatypeRepresentationMapBindingsCount() - -
-          Returns the number of Datatype Representation Map QName pairs.
- booleangetPreserveComments() - -
-          Returns whether comments are conserved in the EXI Stream.
- booleangetPreserveDTD() - -
-          Returns whether the document type definition is conserved in the EXI Stream.
- booleangetPreserveLexicalValues() - -
-          Returns whether lexical values (literal strings) are preserved rather - than the logical values of elements and attributes.
- booleangetPreserveNS() - -
-          Returns whether the namespaces are preserved in the EXI stream.
- booleangetPreservePIs() - -
-          Returns whether processing instructions are conserved in the EXI Stream.
- intgetValueMaxLength() - -
-          Returns the maximum length in characters of strings that will be included - in the String Table.
- intgetValuePartitionCapacity() - -
-          Returns the maximum number of entries in the String Table.
- booleanisFragment() - -
-          An XML fragment is a non-compliant XML document with multiple root - elements.
- booleanisStrict() - -
-          The Strict option applies to streams that have an associated XML Schema - and the data in the XML stream is 100% compliant with the schema.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Method Detail
- -

-getAlignmentType

-
-public AlignmentType getAlignmentType()
-
-
Get the bit alignment setting. -

-

- -
Returns:
AlignmentType
-
-
-
- -

-isFragment

-
-public boolean isFragment()
-
-
An XML fragment is a non-compliant XML document with multiple root - elements. -

-

- -
Returns:
true if the stream is an XML fragment.
-
-
-
- -

-isStrict

-
-public boolean isStrict()
-
-
The Strict option applies to streams that have an associated XML Schema - and the data in the XML stream is 100% compliant with the schema. -

-

- -
Returns:
true if using strict interpretation of an associated XML Schema.
-
-
-
- -

-getPreserveComments

-
-public boolean getPreserveComments()
-
-
Returns whether comments are conserved in the EXI Stream. -

-

- -
Returns:
true if comments are preserved.
-
-
-
- -

-getPreservePIs

-
-public boolean getPreservePIs()
-
-
Returns whether processing instructions are conserved in the EXI Stream. -

-

- -
Returns:
true if processing instructions are preserved.
-
-
-
- -

-getPreserveDTD

-
-public boolean getPreserveDTD()
-
-
Returns whether the document type definition is conserved in the EXI Stream. -

-

- -
Returns:
true if the document type definition is preserved.
-
-
-
- -

-getPreserveNS

-
-public boolean getPreserveNS()
-
-
Returns whether the namespaces are preserved in the EXI stream. -

-

- -
Returns:
true if namespaces are preserved.
-
-
-
- -

-getBlockSize

-
-public int getBlockSize()
-
-
Returns the number of element and attribute values that are read and processed - as a group. -

-

- -
Returns:
the current block size. Default is 1,000,000.
-
-
-
- -

-getValueMaxLength

-
-public int getValueMaxLength()
-
-
Returns the maximum length in characters of strings that will be included - in the String Table. -

-

- -
Returns:
the maximum length of values added to the String Table. Default is unbounded (-1).
-
-
-
- -

-getValuePartitionCapacity

-
-public int getValuePartitionCapacity()
-
-
Returns the maximum number of entries in the String Table. -

-

- -
Returns:
the maximum number of partitions (entries) in the String Table. Default is unbounded (-1).
-
-
-
- -

-getPreserveLexicalValues

-
-public boolean getPreserveLexicalValues()
-
-
Returns whether lexical values (literal strings) are preserved rather - than the logical values of elements and attributes. -

-

- -
Returns:
true if lexical values are preserved.
-
-
-
- -

-getDatatypeRepresentationMapBindingsCount

-
-public int getDatatypeRepresentationMapBindingsCount()
-
-
Returns the number of Datatype Representation Map QName pairs. -

-

- -
Returns:
the number of DTRM bindings.
-
-
-
- -

-getDatatypeRepresentationMap

-
-public QName[] getDatatypeRepresentationMap()
-
-
Returns an array of qualified names that map XMLSchema datatypes to - non-standard equivalents in EXI. -

-

- -
Returns:
an array of qualified names comprising a DTRM.
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventDescription.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventDescription.html deleted file mode 100644 index 396802fbc6..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventDescription.html +++ /dev/null @@ -1,653 +0,0 @@ - - - - - - - -EventDescription - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Interface EventDescription

-
-
All Known Implementing Classes:
EventType
-
-
-
-
public interface EventDescription
- - -

-

EventDescription provides accessors to the current EXI event data - during the decode process.

- -

Note that the content of EventDescription is transient, which means - its content may change when the decoder is asked for access to the - next EXI event data.

-

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Field Summary
-static byteEVENT_AT - -
-          Attribute event.
-static byteEVENT_BLOB - -
-          BLOB event (content of an element).
-static byteEVENT_CH - -
-          Character event (content of an element).
-static byteEVENT_CM - -
-          Comment event.
-static byteEVENT_DTD - -
-          Document Type Definition event.
-static byteEVENT_ED - -
-          End Document event.
-static byteEVENT_EE - -
-          End Element event.
-static byteEVENT_ER - -
-          Entity Reference event.
-static byteEVENT_NL - -
-          Attribute xsi:nil.
-static byteEVENT_NS - -
-          Namespace declaration event.
-static byteEVENT_PI - -
-          Processing Instruction event.
-static byteEVENT_SD - -
-          Start Document event.
-static byteEVENT_SE - -
-          Start Element event.
-static byteEVENT_TP - -
-          Attribute xsi:type.
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- BinaryDataSourcegetBinaryDataSource() - -
-          Gets the value of an EVENT_BLOB.
- CharactersgetCharacters() - -
-          Gets the value of an EVENT_CH, - Attribute (EVENT_AT, EVENT_NL, EVENT_TP), EVENT_CM, - EVENT_DTD or EVENT_PI event.
- bytegetEventKind() - -
-          Gets the event kind of which instance data this EventDescription is describing.
- EventTypegetEventType() - -
-          Returns the EventType from which this event is derived.
- java.lang.StringgetName() - -
-          Gets the name of the EXI event.
- java.lang.StringgetPrefix() - -
-          Gets the namespace prefix of the event.
- java.lang.StringgetURI() - -
-          Gets the URI of the EXI event.
-  -

- - - - - - - - -
-Field Detail
- -

-EVENT_SD

-
-static final byte EVENT_SD
-
-
Start Document event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_ED

-
-static final byte EVENT_ED
-
-
End Document event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_SE

-
-static final byte EVENT_SE
-
-
Start Element event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_AT

-
-static final byte EVENT_AT
-
-
Attribute event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_TP

-
-static final byte EVENT_TP
-
-
Attribute xsi:type. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_NL

-
-static final byte EVENT_NL
-
-
Attribute xsi:nil. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_CH

-
-static final byte EVENT_CH
-
-
Character event (content of an element). -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_EE

-
-static final byte EVENT_EE
-
-
End Element event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_NS

-
-static final byte EVENT_NS
-
-
Namespace declaration event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_PI

-
-static final byte EVENT_PI
-
-
Processing Instruction event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_CM

-
-static final byte EVENT_CM
-
-
Comment event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_ER

-
-static final byte EVENT_ER
-
-
Entity Reference event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_DTD

-
-static final byte EVENT_DTD
-
-
Document Type Definition event. -

-

-
See Also:
Constant Field Values
-
-
- -

-EVENT_BLOB

-
-static final byte EVENT_BLOB
-
-
BLOB event (content of an element). -

-

-
See Also:
Constant Field Values
-
- - - - - - - - -
-Method Detail
- -

-getEventKind

-
-byte getEventKind()
-
-
Gets the event kind of which instance data this EventDescription is describing. -

-

- -
Returns:
a byte representing the event kind.
-
-
-
- -

-getURI

-
-java.lang.String getURI()
-
-
Gets the URI of the EXI event. -

-

- -
Returns:
the URI as a String.
-
-
-
- -

-getName

-
-java.lang.String getName()
-
-
Gets the name of the EXI event. -

-

- -
Returns:
the name of the event as a String.
-
-
-
- -

-getPrefix

-
-java.lang.String getPrefix()
-
-
Gets the namespace prefix of the event. -

-

- -
Returns:
the prefix as a String.
-
-
-
- -

-getCharacters

-
-Characters getCharacters()
-
-
Gets the value of an EVENT_CH, - Attribute (EVENT_AT, EVENT_NL, EVENT_TP), EVENT_CM, - EVENT_DTD or EVENT_PI event. -

-

- -
Returns:
a Characters of the corresponding value
-
-
-
- -

-getBinaryDataSource

-
-BinaryDataSource getBinaryDataSource()
-
-
Gets the value of an EVENT_BLOB. -

-

- -
Returns:
a BinaryData of the corresponding value
-
-
-
- -

-getEventType

-
-EventType getEventType()
-
-
Returns the EventType from which this event is derived. -

-

-
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventType.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventType.html deleted file mode 100644 index aaef0c43ed..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/EventType.html +++ /dev/null @@ -1,829 +0,0 @@ - - - - - - - -EventType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Class EventType

-
-java.lang.Object
-  extended by org.openexi.proc.common.EventCode
-      extended by org.openexi.proc.common.EventType
-
-
-
All Implemented Interfaces:
EventDescription
-
-
-
-
public class EventType
extends org.openexi.proc.common.EventCode
implements EventDescription
- - -

-EventType denotes terminal symbols of grammar productions - defined in the EXI 1.0 specification. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Field Summary
-static byteITEM_AT - -
-          Event type for an Attribute learned by built-in element grammars - from prior attribute occurrences.
-static byteITEM_AT_WC_ANY_UNTYPED - -
-          Wildcard event type for an Attribute where the attribute's defined - datatype (if any) is disregarded.
-static byteITEM_CH - -
-          Event type for a Character event (character events store values as strings).
-static byteITEM_CM - -
-          Event type for a Comment.
-static byteITEM_DTD - -
-          Event type for a Document Type Definition.
-static byteITEM_ED - -
-          Event type for End of Document.
-static byteITEM_EE - -
-          Event type for End of Element.
-static byteITEM_ER - -
-          Event type for an Entity Reference.
-static byteITEM_NS - -
-          Event type for a Namespace declaration.
-static byteITEM_PI - -
-          Event type for a Processing Instruction.
-static byteITEM_SC - -
-          Self-contained items are not supported in this release of OpenEXI.
-static byteITEM_SCHEMA_AT - -
-          Event type for AttributeUse that matches an attribute event with - a valid value.
-static byteITEM_SCHEMA_AT_INVALID_VALUE - -
-          Event type for AttributeUse that matches an attribute event with an - invalid value.
-static byteITEM_SCHEMA_AT_WC_ANY - -
-          Attribute wildcard event type stemming from a schema, where the attribute's - defined datatype (if any) is applied.
-static byteITEM_SCHEMA_AT_WC_NS - -
-          Attribute wildcard event type, qualified with a specific namespace, stemming - from a schema where the attribute's defined datatype (if any) is applied.
-static byteITEM_SCHEMA_CH - -
-          Event type for a defined Character event in an EXI stream processed - using a schema.
-static byteITEM_SCHEMA_CH_MIXED - -
-          Event type for a Character event that occurs in the context of an element - defined so as to permit mixed content (mark up and data) in an EXI - stream processed using a schema.
-static byteITEM_SCHEMA_NIL - -
-          Special Attribute that indicates the value of the associated element is - explicitly nil rather than an empty string.
-static byteITEM_SCHEMA_TYPE - -
-          Special Attribute that describes a data type for the associated - element.
-static byteITEM_SCHEMA_WC_ANY - -
-          Attribute wildcard event type stemming from a schema where the - attribute's defined datatype (if any) is applied.
-static byteITEM_SCHEMA_WC_NS - -
-          Event type for an element defined in a namespace in an EXI stream - processed using a schema.
-static byteITEM_SD - -
-          Event type for Start Document.
-static byteITEM_SE - -
-          Event type for Start Element.
-static byteITEM_SE_WC - -
-          Wildcard event type for an element.
- java.lang.Stringname - -
-          Local name of event type definition.
- java.lang.Stringuri - -
-          URI of event type definition.
- - - - - - - -
Fields inherited from class org.openexi.proc.common.EventCode
EVENT_CODE_DEPTH_ONE, EVENT_CODE_DEPTH_THREE, EVENT_CODE_DEPTH_TWO, ITEM_TUPLE, itemType, parent, position
- - - - - - - -
Fields inherited from interface org.openexi.proc.common.EventDescription
EVENT_AT, EVENT_BLOB, EVENT_CH, EVENT_CM, EVENT_DTD, EVENT_ED, EVENT_EE, EVENT_ER, EVENT_NL, EVENT_NS, EVENT_PI, EVENT_SD, EVENT_SE, EVENT_TP
-  - - - - - - - -
-Method Summary
- - - - - - - -
Methods inherited from class org.openexi.proc.common.EventCode
setParentalContext
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- - - - - - - -
Methods inherited from interface org.openexi.proc.common.EventDescription
getBinaryDataSource, getCharacters, getEventKind, getEventType, getName, getPrefix, getURI
-  -

- - - - - - - - -
-Field Detail
- -

-ITEM_PI

-
-public static final byte ITEM_PI
-
-
Event type for a Processing Instruction. Value is 0. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_CM

-
-public static final byte ITEM_CM
-
-
Event type for a Comment. -
Value is 1. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_ER

-
-public static final byte ITEM_ER
-
-
Event type for an Entity Reference. -
Value is 2. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_CH

-
-public static final byte ITEM_CH
-
-
Event type for a Character event (character events store values as strings). -
Value is 3. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_ED

-
-public static final byte ITEM_ED
-
-
Event type for End of Document. -
Value is 4. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SE_WC

-
-public static final byte ITEM_SE_WC
-
-
Wildcard event type for an element. OpenEXI will first attempt - to find a corresponding element name in the schema, if present. If - no definition is available, it is given this tag. -
Value is 5. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SC

-
-public static final byte ITEM_SC
-
-
Self-contained items are not supported in this release of OpenEXI. - Event type for self-contained item. -
Value is 6. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_NS

-
-public static final byte ITEM_NS
-
-
Event type for a Namespace declaration.
-
Value is 7. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_AT_WC_ANY_UNTYPED

-
-public static final byte ITEM_AT_WC_ANY_UNTYPED
-
-
Wildcard event type for an Attribute where the attribute's defined - datatype (if any) is disregarded. - This is the "catch-all" for Attributes that do not match any of the - other Event Types in an EXI stream processed using Default options. -
Value is 8. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_EE

-
-public static final byte ITEM_EE
-
-
Event type for End of Element. -
Value is 9. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_DTD

-
-public static final byte ITEM_DTD
-
-
Event type for a Document Type Definition. -
Value is 10. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SE

-
-public static final byte ITEM_SE
-
-
Event type for Start Element. -
Value is 11. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_AT

-
-public static final byte ITEM_AT
-
-
Event type for an Attribute learned by built-in element grammars - from prior attribute occurrences. -
Value is 12. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SD

-
-public static final byte ITEM_SD
-
-
Event type for Start Document. -
Value is 13. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_WC_ANY

-
-public static final byte ITEM_SCHEMA_WC_ANY
-
-
Attribute wildcard event type stemming from a schema where the - attribute's defined datatype (if any) is applied. -
Value is 14. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_WC_NS

-
-public static final byte ITEM_SCHEMA_WC_NS
-
-
Event type for an element defined in a namespace in an EXI stream - processed using a schema. -
Value is 15. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_AT

-
-public static final byte ITEM_SCHEMA_AT
-
-
Event type for AttributeUse that matches an attribute event with - a valid value. -
Value is 16. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_AT_WC_ANY

-
-public static final byte ITEM_SCHEMA_AT_WC_ANY
-
-
Attribute wildcard event type stemming from a schema, where the attribute's - defined datatype (if any) is applied. -
Value is 17. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_AT_WC_NS

-
-public static final byte ITEM_SCHEMA_AT_WC_NS
-
-
Attribute wildcard event type, qualified with a specific namespace, stemming - from a schema where the attribute's defined datatype (if any) is applied. -
Value is 18. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_CH

-
-public static final byte ITEM_SCHEMA_CH
-
-
Event type for a defined Character event in an EXI stream processed - using a schema. -
Value is 19. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_CH_MIXED

-
-public static final byte ITEM_SCHEMA_CH_MIXED
-
-
Event type for a Character event that occurs in the context of an element - defined so as to permit mixed content (mark up and data) in an EXI - stream processed using a schema. -
Value is 20. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_NIL

-
-public static final byte ITEM_SCHEMA_NIL
-
-
Special Attribute that indicates the value of the associated element is - explicitly nil rather than an empty string. -
Value is 21. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_TYPE

-
-public static final byte ITEM_SCHEMA_TYPE
-
-
Special Attribute that describes a data type for the associated - element. For example, the schema might define a String value, but - the XML document being processed can declare that the element contains a - date-time field. -
Value is 22. -

-

-
See Also:
Constant Field Values
-
-
- -

-ITEM_SCHEMA_AT_INVALID_VALUE

-
-public static final byte ITEM_SCHEMA_AT_INVALID_VALUE
-
-
Event type for AttributeUse that matches an attribute event with an - invalid value. -
Value is 23. -

-

-
See Also:
Constant Field Values
-
-
- -

-uri

-
-public final java.lang.String uri
-
-
URI of event type definition. -

-

-
-
-
- -

-name

-
-public final java.lang.String name
-
-
Local name of event type definition. -

-

-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/GrammarOptions.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/GrammarOptions.html deleted file mode 100644 index 7ea6e13a8c..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/GrammarOptions.html +++ /dev/null @@ -1,528 +0,0 @@ - - - - - - - -GrammarOptions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Class GrammarOptions

-
-java.lang.Object
-  extended by org.openexi.proc.common.GrammarOptions
-
-
-
-
public final class GrammarOptions
extends java.lang.Object
- - -

-GrammarOptions computes a short integer that represents settings in the EXI Grammar settings - that determine how an EXI file will be encoded or decoded. -

- Values are set using binary switch values (represented as short integers). -

- If no options have been set, the value is 0 (this is an temporary internal - value, rather than a valid setting). -

- If an XSD is available, and the file to be processed is 100% compatible with the XSD, choosing - STRICT_OPTIONS (1) provides the best performance. No other options can be set - when files are encoded or decoded in strict mode. -

- The DEFAULT_OPTIONS setting is 2. The following table lists all of the options and their values. -

- - - - - - - - -
ConstantValue
STRICT_OPTIONS1
DEFAULT_OPTIONS2
- ADD_NS4 -
- ADD_SCN/A* -
- ADD_DTD16 -
- ADD_CM32 -
- ADD_PI64 -
*The self-contained option is not supported in this release. -
-

- The value of DEFAULT_OPTIONS is 2. When you pass the options variable to an add[??] method, - the binary switch value is added to the current value of the options variable. - The sum of all additional switches becomes a concise list of the selected options. -

- For example, if you preserve comments and processing instructions, the total is - 98 (2 + 32 + 64). The bitwise options are set correctly, because there is one and only one - combination of options that sums up to 98. -

- If your application uses the same options every time, you can hard code the numeric value - as a short integer and use it to create your GrammarCache. For example: -

- GrammarCache gc = new GrammarCache((EXISchema)null,98);
- 
- Be careful to use the correct numeric value, to avoid unexpected results. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - -
-Field Summary
-static shortDEFAULT_OPTIONS - -
-          Indicates that undeclared elements and attributes will be - processed when the XML stream is encoded and decoded.
-static shortOPTIONS_UNUSED - -
-          OPTIONS_UNUSED is an internal value.
-static shortSTRICT_OPTIONS - -
-          Indicates that undeclared elements and attributes will throw an - exception when the XML stream is encoded and decoded.
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
-static shortaddCM(short options) - -
-          Sets Preserve Comments to true.
-static shortaddDTD(short options) - -
-          Sets Preserve Document Type Definition to true.
-static shortaddNS(short options) - -
-          Sets Preserve Namespaces to true.
-static shortaddPI(short options) - -
-          Sets Preserve Processing Instructions to true.
-static booleanhasCM(short options) - -
-          Returns true if Preserve Comments is true.
-static booleanhasDTD(short options) - -
-          Returns true if Preserve Document Type Definition is true.
-static booleanhasNS(short options) - -
-          Returns true if Preserve Namespaces is true.
-static booleanhasPI(short options) - -
-          Returns true if Preserve Processing Instructions is true.
-static booleanisPermitDeviation(short options) - -
-          Returns true if DEFAULT_OPTIONS is set to true.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-OPTIONS_UNUSED

-
-public static final short OPTIONS_UNUSED
-
-
OPTIONS_UNUSED is an internal value. - It indicates that the grammar options value has not yet been set. -

-

-
See Also:
Constant Field Values
-
-
- -

-DEFAULT_OPTIONS

-
-public static final short DEFAULT_OPTIONS
-
-
Indicates that undeclared elements and attributes will be - processed when the XML stream is encoded and decoded. -

-

-
See Also:
Constant Field Values
-
-
- -

-STRICT_OPTIONS

-
-public static final short STRICT_OPTIONS
-
-
Indicates that undeclared elements and attributes will throw an - exception when the XML stream is encoded and decoded. When - STRICT_OPTIONS is set, all other Grammar Options are ignored. -

-

-
See Also:
Constant Field Values
-
- - - - - - - - -
-Method Detail
- -

-isPermitDeviation

-
-public static boolean isPermitDeviation(short options)
-
-
Returns true if DEFAULT_OPTIONS is set to true. -

-

-
-
-
-
- -

-hasNS

-
-public static boolean hasNS(short options)
-
-
Returns true if Preserve Namespaces is true. -

-

-
-
-
-
- -

-hasDTD

-
-public static boolean hasDTD(short options)
-
-
Returns true if Preserve Document Type Definition is true. -

-

-
-
-
-
- -

-hasCM

-
-public static boolean hasCM(short options)
-
-
Returns true if Preserve Comments is true. -

-

-
-
-
-
- -

-hasPI

-
-public static boolean hasPI(short options)
-
-
Returns true if Preserve Processing Instructions is true. -

-

-
-
-
-
- -

-addNS

-
-public static short addNS(short options)
-
-
Sets Preserve Namespaces to true. (Adds 4 to the options value.) -

-

- -
Returns:
the new options short integer value
-
-
-
- -

-addDTD

-
-public static short addDTD(short options)
-
-
Sets Preserve Document Type Definition to true. (Adds 16 to the options value.) -

-

- -
Returns:
the new options short integer value
-
-
-
- -

-addCM

-
-public static short addCM(short options)
-
-
Sets Preserve Comments to true. (Adds 32 to the options value.) -

-

- -
Returns:
the new options short integer value
-
-
-
- -

-addPI

-
-public static short addPI(short options)
-
-
Sets Preserve Processing Instructions to true. (Adds 64 to the options value.) -

-

- -
Returns:
the new options short integer value
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/QName.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/QName.html deleted file mode 100644 index 61485ec734..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/QName.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - -QName - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.common -
-Class QName

-
-java.lang.Object
-  extended by org.openexi.proc.common.QName
-
-
-
-
public final class QName
extends java.lang.Object
- - -

-QName is a pair comprised of a namespace name and a local name - to be used in a Datatype Representation Map (DTRM) definition - to denote an XSD datatype or an EXI datatype representation. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - - -
-Field Summary
- java.lang.StringlocalName - -
-          Local name of the datatype.
- java.lang.StringnamespaceName - -
-          If namespaceName is null, this indicates a failure of - namespace-prefix binding.
-  - - - - - - - - - - - - - -
-Constructor Summary
QName() - -
-           
QName(java.lang.String qname, - java.lang.String uri) - -
-          Creates a QName based on its literal qualified name - (see http://www.w3.org/TR/xml-names/#ns-qualnames - for definition) and namespace name.
-  - - - - - - - - - - - -
-Method Summary
- booleanequals(java.lang.Object obj) - -
-           
- - - - - - - -
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-namespaceName

-
-public java.lang.String namespaceName
-
-
If namespaceName is null, this indicates a failure of - namespace-prefix binding. No namespace binding for the - unprefixed QName is indicated by an empty namespace - name "". -

-

-
-
-
- -

-localName

-
-public java.lang.String localName
-
-
Local name of the datatype. -

-

-
-
- - - - - - - - -
-Constructor Detail
- -

-QName

-
-public QName()
-
-
-
- -

-QName

-
-public QName(java.lang.String qname,
-             java.lang.String uri)
-
-
Creates a QName based on its literal qualified name - (see http://www.w3.org/TR/xml-names/#ns-qualnames - for definition) and namespace name. -

-

-
Parameters:
qname - literal qualified name in its entirety
uri - namespace name (nullable) of the QName
See Also:
http://www.w3.org/TR/xml-names/#ns-qualnames
-
- - - - - - - - -
-Method Detail
- -

-equals

-
-public boolean equals(java.lang.Object obj)
-
-
-
Overrides:
equals in class java.lang.Object
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-frame.html deleted file mode 100644 index fcab6106d9..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-frame.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - -org.openexi.proc.common - - - - - - - - - - - -org.openexi.proc.common - - - - -
-Interfaces  - -
-EventDescription
- - - - - - -
-Classes  - -
-BinaryDataSource -
-EventType -
-EXIOptions -
-GrammarOptions -
-QName
- - - - - - -
-Enums  - -
-AlignmentType
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-summary.html deleted file mode 100644 index c4f3e1c6fe..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-summary.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -org.openexi.proc.common - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.proc.common -

- - - -The common package contains classes, interfaces, and enumerators that define the vocabulary used to describe EXI streams (events, options, alignment, and character string values). -

-See: -
-          Description -

- - - - - - - - - -
-Interface Summary
EventDescriptionEventDescription provides accessors to the current EXI event data - during the decode process.
-  - -

- - - - - - - - - - - - - - - - - - - - - - - - - -
-Class Summary
BinaryDataSource 
EventTypeEventType denotes terminal symbols of grammar productions - defined in the EXI 1.0 specification.
EXIOptionsEXIOptions provides accessors for values associated with - EXI options in the EXI header of an EXI stream.
GrammarOptionsGrammarOptions computes a short integer that represents settings in the EXI Grammar settings - that determine how an EXI file will be encoded or decoded.
QNameQName is a pair comprised of a namespace name and a local name - to be used in a Datatype Representation Map (DTRM) definition - to denote an XSD datatype or an EXI datatype representation.
-  - -

- - - - - - - - - -
-Enum Summary
AlignmentTypeAlignmentType represents one of the following bit alignment - styles so as to provide an extra degree of control over the - way information is stored in EXI format.
-  - -

-

-Package org.openexi.proc.common Description -

- -

- - - - - -
-

The common package contains classes, interfaces, and enumerators that define the vocabulary used to describe EXI streams (events, options, alignment, and character string values). -

-
- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-tree.html deleted file mode 100644 index 778ae7c56b..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/common/package-tree.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - -org.openexi.proc.common Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.proc.common -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -

-Interface Hierarchy -

- -

-Enum Hierarchy -

-
    -
  • java.lang.Object
      -
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) - -
    -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/GrammarCache.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/GrammarCache.html deleted file mode 100644 index 55b03fa67b..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/GrammarCache.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - -GrammarCache - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.grammars -
-Class GrammarCache

-
-java.lang.Object
-  extended by org.openexi.proc.grammars.GrammarCache
-
-
-
All Implemented Interfaces:
org.openexi.proc.common.IGrammarCache
-
-
-
-
public final class GrammarCache
extends java.lang.Object
implements org.openexi.proc.common.IGrammarCache
- - -

-A GrammarCache object represents a set of EXI grammars used - for processing EXI streams using specific grammar options. - The GrammarCache is passed as an argument to - the EXIReader and Transmogrifier prior to processing an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - -
-Field Summary
- shortgrammarOptions - -
-          Short integer that encapsulates GrammarOptions - for the EXI stream.
-  - - - - - - - - - - - - - - - - -
-Constructor Summary
GrammarCache(EXISchema schema) - -
-          Creates an instance of GrammarCache informed by a schema with default - grammar options.
GrammarCache(EXISchema schema, - short grammarOptions) - -
-          Creates an instance of GrammarCache informed by a schema with the - specified grammar options.
GrammarCache(short grammarOptions) - -
-          Creates an instance of GrammarCache with the specified grammar options.
-  - - - - - - - - - - - -
-Method Summary
- EXISchemagetEXISchema() - -
-          Gets the compiled EXI Schema.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- - - - - - - -
Methods inherited from interface org.openexi.proc.common.IGrammarCache
getElementGrammarUse
-  -

- - - - - - - - -
-Field Detail
- -

-grammarOptions

-
-public final short grammarOptions
-
-
Short integer that encapsulates GrammarOptions - for the EXI stream. -

-

-
-
- - - - - - - - -
-Constructor Detail
- -

-GrammarCache

-
-public GrammarCache(EXISchema schema)
-
-
Creates an instance of GrammarCache informed by a schema with default - grammar options. -

-

-
Parameters:
EXISchema - compiled schema
-
-
- -

-GrammarCache

-
-public GrammarCache(short grammarOptions)
-
-
Creates an instance of GrammarCache with the specified grammar options. -

-

-
Parameters:
grammarOptions - integer value that represents a grammar option configuration
-
-
- -

-GrammarCache

-
-public GrammarCache(EXISchema schema,
-                    short grammarOptions)
-
-
Creates an instance of GrammarCache informed by a schema with the - specified grammar options. -

-

-
Parameters:
EXISchema - compiled schema
grammarOptions - integer value that represents a grammar option configuration
-
- - - - - - - - -
-Method Detail
- -

-getEXISchema

-
-public EXISchema getEXISchema()
-
-
Gets the compiled EXI Schema. -

-

-
Specified by:
getEXISchema in interface org.openexi.proc.common.IGrammarCache
-
-
- -
Returns:
an EXI schema.
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-frame.html deleted file mode 100644 index 5eb44a3df0..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-frame.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - -org.openexi.proc.grammars - - - - - - - - - - - -org.openexi.proc.grammars - - - - -
-Classes  - -
-GrammarCache
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-summary.html deleted file mode 100644 index 3ae5291fc4..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-summary.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -org.openexi.proc.grammars - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.proc.grammars -

- - - -The grammars package contains the GrammarCache, which combines an XML Schema Definition with EXI grammar options to create an EXI Schema. -

-See: -
-          Description -

- - - - - - - - - -
-Class Summary
GrammarCacheA GrammarCache object represents a set of EXI grammars used - for processing EXI streams using specific grammar options.
-  - -

-

-Package org.openexi.proc.grammars Description -

- -

- - - - - -
-

The grammars package contains the GrammarCache, which combines an XML Schema Definition with EXI grammar options to create an EXI Schema. -

-
- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-tree.html deleted file mode 100644 index 542514937f..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/grammars/package-tree.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - -org.openexi.proc.grammars Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.proc.grammars -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

-
    -
  • java.lang.Object
      -
    • org.openexi.proc.grammars.GrammarCache (implements org.openexi.proc.common.IGrammarCache) -
    -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/BinaryDataSink.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/BinaryDataSink.html deleted file mode 100644 index 0f9e531c25..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/BinaryDataSink.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - -BinaryDataSink - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.io -
-Interface BinaryDataSink

-
-
-
public interface BinaryDataSink
- - -

-BinaryDataSink represents a sink that accepts successive chunks of binary data. -

- -

-

- -
-
- -

- -

- -


- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/CharacterBuffer.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/CharacterBuffer.html deleted file mode 100644 index 7b7e75e920..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/CharacterBuffer.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - -CharacterBuffer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.io -
-Class CharacterBuffer

-
-java.lang.Object
-  extended by org.openexi.proc.io.CharacterBuffer
-
-
-
-
public final class CharacterBuffer
extends java.lang.Object
- - -

-

- -
-
- -

- - - - - - - - - - - -
-Field Summary
-static intBUFSIZE_DEFAULT - -
-           
-  - - - - - - - - - - -
-Constructor Summary
CharacterBuffer(int bufSize) - -
-           
-  - - - - - - - -
-Method Summary
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-BUFSIZE_DEFAULT

-
-public static final int BUFSIZE_DEFAULT
-
-
-
See Also:
Constant Field Values
-
- - - - - - - - -
-Constructor Detail
- -

-CharacterBuffer

-
-public CharacterBuffer(int bufSize)
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/Scanner.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/Scanner.html deleted file mode 100644 index 82b51284e6..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/Scanner.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - -Scanner - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.proc.io -
-Class Scanner

-
-java.lang.Object
-  extended by org.openexi.proc.grammars.Apparatus
-      extended by org.openexi.proc.io.Scanner
-
-
-
-
public abstract class Scanner
extends org.openexi.proc.grammars.Apparatus
- - -

-The Scanner class provides methods for scanning events - in the body of an EXI stream. -

- -

-

- -
-
- -

- - - - - - - -
-Field Summary
- - - - - - - -
Fields inherited from class org.openexi.proc.grammars.Apparatus
CODEC_BASE64BINARY, CODEC_BOOLEAN, CODEC_DATE, CODEC_DATETIME, CODEC_DECIMAL, CODEC_DOUBLE, CODEC_ENUMERATION, CODEC_GDAY, CODEC_GMONTH, CODEC_GMONTHDAY, CODEC_GYEAR, CODEC_GYEARMONTH, CODEC_HEXBINARY, CODEC_INTEGER, CODEC_LEXICAL, CODEC_LIST, CODEC_STRING, CODEC_TIME, currentState, eventTypesWorkSpace, schema, stringTable
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- voidcloseInputStream() - -
-          Close the input stream.
- EXIOptionsgetHeaderOptions() - -
-          Returns the EXI Header options from the header of the - EXI stream, if present.
-abstract  EventDescriptionnextEvent() - -
-          Gets the next event from the EXI stream.
-abstract  voidsetBinaryChunkSize(int chunkSize) - -
-          Binary values are read in chunks of the specified size when the - use of binary data is enabled.
- voidsetSchema(EXISchema schema, - QName[] dtrm, - int n_bindings) - -
-           
- - - - - - - -
Methods inherited from class org.openexi.proc.grammars.Apparatus
attribute, characters, endDocument, endElement, getAlignmentType, getNextEventCodes, getNextEventTypes, getPreserveLexicalValues, miscContent, nillify, reset, setPreserveLexicalValues, setStringTable, startDocument, startElement, startWildcardElement, undeclaredCharacters, wildcardAttribute, xsitp
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Method Detail
- -

-setSchema

-
-public void setSchema(EXISchema schema,
-                      QName[] dtrm,
-                      int n_bindings)
-
-
-
Overrides:
setSchema in class org.openexi.proc.grammars.Apparatus
-
-
-
-
-
-
- -

-nextEvent

-
-public abstract EventDescription nextEvent()
-                                    throws java.io.IOException
-
-
Gets the next event from the EXI stream. -

-

- -
Returns:
EXIEvent -
Throws: -
java.io.IOException
-
-
-
- -

-closeInputStream

-
-public void closeInputStream()
-                      throws java.io.IOException
-
-
Close the input stream. -

-

- -
Throws: -
java.io.IOException
-
-
-
- -

-getHeaderOptions

-
-public final EXIOptions getHeaderOptions()
-
-
Returns the EXI Header options from the header of the - EXI stream, if present. Otherwise, returns null. -

-

- -
Returns:
EXIOptions or null if no header options are set.
-
-
-
- -

-setBinaryChunkSize

-
-public abstract void setBinaryChunkSize(int chunkSize)
-
-
Binary values are read in chunks of the specified size when the - use of binary data is enabled. -

-

-
Parameters:
chunkSize -
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-frame.html deleted file mode 100644 index fe7bf70760..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-frame.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - -org.openexi.proc.io - - - - - - - - - - - -org.openexi.proc.io - - - - -
-Interfaces  - -
-BinaryDataSink
- - - - - - -
-Classes  - -
-CharacterBuffer -
-Scanner
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-summary.html deleted file mode 100644 index 42831b8609..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-summary.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -org.openexi.proc.io - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.proc.io -

- - - -The IO package contains the Scanner, which is used by EXIDecoder to read and interpret EXI streams. -

-See: -
-          Description -

- - - - - - - - - -
-Interface Summary
BinaryDataSinkBinaryDataSink represents a sink that accepts successive chunks of binary data.
-  - -

- - - - - - - - - - - - - -
-Class Summary
CharacterBuffer 
ScannerThe Scanner class provides methods for scanning events - in the body of an EXI stream.
-  - -

-

-Package org.openexi.proc.io Description -

- -

- - - - - -
-

The IO package contains the Scanner, which is used by EXIDecoder to read and interpret EXI streams. -

-

-The IO package also contains the non-public Scriber class, which is used by the Transmogrifier to encode EXI streams (which is why this is called the IO package). Scriber settings are fully implemented in the Transmogrifier. -

-
- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-tree.html deleted file mode 100644 index b0cbe124ae..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/io/package-tree.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - -org.openexi.proc.io Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.proc.io -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

-
    -
  • java.lang.Object -
-

-Interface Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-frame.html deleted file mode 100644 index 31406d379f..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-frame.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - -org.openexi.proc - - - - - - - - - - - -org.openexi.proc - - - - -
-Interfaces  - -
-EXISchemaResolver
- - - - - - -
-Classes  - -
-EXIDecoder
- - - - - - -
-Enums  - -
-HeaderOptionsOutputType
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-summary.html deleted file mode 100644 index 957e54a056..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-summary.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - -org.openexi.proc - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.proc -

- - - -The Proc (Processor) package contains the EXIDecoder, which is used to convert EXI streams to XML format. -

-See: -
-          Description -

- - - - - - - - - -
-Interface Summary
EXISchemaResolverDevelopers have the option of implementing the EXISchemaResolver interface - to help EXIReader and EXIDecoder locate the correct grammar cache for parsing - an EXI stream.
-  - -

- - - - - - - - - -
-Class Summary
EXIDecoderEXIDecoder provides methods to configure and - instantiate a Scanner object - you can use to parse the contents of an EXI stream.
-  - -

- - - - - - - - - -
-Enum Summary
HeaderOptionsOutputTypeThis enumeration provides three possible settings for header options output.
-  - -

-

-Package org.openexi.proc Description -

- -

- - - - - -
-

The Proc (Processor) package contains the EXIDecoder, which is used to convert EXI streams to XML format. -EXIDecoder uses the org.openexi.proc.io.Scanner to parse EXI streams into a sequence of XML events. org.openexi.sax.EXIReader wraps EXIDecoder to provide a SAX interface for accessing the XML content. -

-

-The EXISchemaResolver interface can be implemented and used to add a hint in the EXI header to help EXIDecoder locate the EXISchema. -

-

The HeaderOptionsOutputType enumerator is used to set the header output options in the Transmogrifier.

- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-tree.html deleted file mode 100644 index 3bf180e361..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/proc/package-tree.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - -org.openexi.proc Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.proc -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -

-Interface Hierarchy -

- -

-Enum Hierarchy -

-
    -
  • java.lang.Object
      -
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) - -
    -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/BinaryDataHandler.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/BinaryDataHandler.html deleted file mode 100644 index b73a833559..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/BinaryDataHandler.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - - -BinaryDataHandler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Interface BinaryDataHandler

-
-
All Known Subinterfaces:
SAXTransmogrifier
-
-
-
-
public interface BinaryDataHandler
- - -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - -
-Method Summary
- voidbinaryData(byte[] byteArray, - int offset, - int length, - BinaryDataSink binaryDataSink) - -
-          Writes a binary value where the schema expects a binary value.
- voidendBinaryData(BinaryDataSink binaryDataSink) - -
-          Mark the end of a binary value.
- BinaryDataSinkstartBinaryData(long totalSize) - -
-          Mark the start of a binary value.
-  -

- - - - - - - - -
-Method Detail
- -

-startBinaryData

-
-BinaryDataSink startBinaryData(long totalSize)
-                               throws org.xml.sax.SAXException
-
-
Mark the start of a binary value. -

-

- -
Throws: -
org.xml.sax.SAXException
-
-
-
- -

-binaryData

-
-void binaryData(byte[] byteArray,
-                int offset,
-                int length,
-                BinaryDataSink binaryDataSink)
-                throws org.xml.sax.SAXException
-
-
Writes a binary value where the schema expects a binary value. -

-

- -
Throws: -
org.xml.sax.SAXException
-
-
-
- -

-endBinaryData

-
-void endBinaryData(BinaryDataSink binaryDataSink)
-                   throws org.xml.sax.SAXException
-
-
Mark the end of a binary value. -

-

- -
Throws: -
org.xml.sax.SAXException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/EXIReader.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/EXIReader.html deleted file mode 100644 index 228aa7506e..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/EXIReader.html +++ /dev/null @@ -1,645 +0,0 @@ - - - - - - - -EXIReader - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Class EXIReader

-
-java.lang.Object
-  extended by org.openexi.sax.ReaderSupport
-      extended by org.openexi.sax.EXIReader
-
-
-
All Implemented Interfaces:
org.xml.sax.Attributes, org.xml.sax.XMLReader
-
-
-
-
public final class EXIReader
extends ReaderSupport
implements org.xml.sax.XMLReader
- - -

-EXIReader implements the SAX XMLReader to provide a convenient and - familiar interface for decoding an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - -
-Constructor Summary
EXIReader() - -
-           
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- booleangetFeature(java.lang.String name) - -
-          Get features for the SAX parser.
- java.lang.ObjectgetProperty(java.lang.String name) - -
-          Use to retrieve the name of the lexical handler, currently the only - property recognized by this class.
- voidsetAlignmentType(AlignmentType alignmentType) - -
-          Set the bit alignment style used to compile the EXI input stream.
- voidsetBlockSize(int blockSize) - -
-          Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream.
- voidsetDatatypeRepresentationMap(QName[] dtrm, - int n_bindings) - -
-          Set a datatype representation map.
- voidsetEXISchemaResolver(EXISchemaResolver schemaResolver) - -
-          Set the EXISchemaResolver to retrieve the schema needed to decode the - current EXI stream.
- voidsetFeature(java.lang.String name, - boolean value) - -
-          Set features for the SAX parser.
- voidsetFragment(boolean isFragment) - -
-          Set to true if the EXI input stream is an XML fragment (a non-compliant - XML document with multiple root elements).
- voidsetLexicalHandler(org.xml.sax.ext.LexicalHandler lexicalHandler) - -
-          Set a SAX lexical handler to receive SAX lexical events.
- voidsetPreserveLexicalValues(boolean preserveLexicalValues) - -
-          Set to true if the EXI input stream was compiled with the Preserve Lexical - Values set to true.
- voidsetProperty(java.lang.String name, - java.lang.Object value) - -
-          This method wraps the friendlier setLexicalHandler method to provide - syntax familiar to experienced SAX programmers.
- voidsetValueMaxLength(int valueMaxLength) - -
-          Set the maximum length of a string that will be stored for reuse in the - String Table.
- voidsetValuePartitionCapacity(int valuePartitionCapacity) - -
-          Set the maximum number of values in the String Table.
- - - - - - - -
Methods inherited from class org.openexi.sax.ReaderSupport
getContentHandler, setContentHandler, setGrammarCache
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- - - - - - - -
Methods inherited from interface org.xml.sax.XMLReader
getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, parse, parse, setContentHandler, setDTDHandler, setEntityResolver, setErrorHandler
- - - - - - - -
Methods inherited from interface org.xml.sax.Attributes
getIndex, getIndex, getLength, getLocalName, getQName, getType, getType, getType, getURI, getValue, getValue, getValue
-  -

- - - - - - - - -
-Constructor Detail
- -

-EXIReader

-
-public EXIReader()
-
-
- - - - - - - - -
-Method Detail
- -

-setProperty

-
-public final void setProperty(java.lang.String name,
-                              java.lang.Object value)
-                       throws org.xml.sax.SAXNotRecognizedException
-
-
This method wraps the friendlier setLexicalHandler method to provide - syntax familiar to experienced SAX programmers. The only property - supported is:
http://xml.org/sax/properties/lexical-handler
-

-

-
Specified by:
setProperty in interface org.xml.sax.XMLReader
-
-
-
Parameters:
name - must equal "http://xml.org/sax/properties/lexical-handler"
value - an org.xml.sax.ext.LexicalHandler object -
Throws: -
org.xml.sax.SAXNotRecognizedException
-
-
-
- -

-getProperty

-
-public final java.lang.Object getProperty(java.lang.String name)
-                                   throws org.xml.sax.SAXNotRecognizedException
-
-
Use to retrieve the name of the lexical handler, currently the only - property recognized by this class. Pass the String - "http://xml.org/sax/properties/lexical-handler" as the name. -

-

-
Specified by:
getProperty in interface org.xml.sax.XMLReader
-
-
- -
Returns:
String name of the lexical handler -
Throws: -
org.xml.sax.SAXNotRecognizedException
-
-
-
- -

-setFeature

-
-public final void setFeature(java.lang.String name,
-                             boolean value)
-                      throws org.xml.sax.SAXNotRecognizedException,
-                             org.xml.sax.SAXNotSupportedException
-
-
Set features for the SAX parser. The only supported arguments are
- EXIReader.setFeature("http://xml.org/sax/features/namespaces", true);
and
- EXIReader.setFeature("http://xml.org/sax/features/namespace-prefixes", false);
-

-

-
Specified by:
setFeature in interface org.xml.sax.XMLReader
-
-
- -
Throws: -
org.xml.sax.SAXNotRecognizedException -
org.xml.sax.SAXNotSupportedException
-
-
-
- -

-getFeature

-
-public final boolean getFeature(java.lang.String name)
-                         throws org.xml.sax.SAXNotRecognizedException
-
-
Get features for the SAX parser. -

-

-
Specified by:
getFeature in interface org.xml.sax.XMLReader
-
-
- -
Returns:
true if the feature is "http://xml.org/sax/features/namespaces" - and false if the feature is "http://xml.org/sax/features/namespace-prefixes" -
Throws: -
org.xml.sax.SAXNotRecognizedException
-
-
-
- -

-setAlignmentType

-
-public final void setAlignmentType(AlignmentType alignmentType)
-                            throws org.openexi.proc.common.EXIOptionsException
-
-
Set the bit alignment style used to compile the EXI input stream. -

-

-
-
-
-
Parameters:
alignmentType - AlignmentType -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setFragment

-
-public final void setFragment(boolean isFragment)
-
-
Set to true if the EXI input stream is an XML fragment (a non-compliant - XML document with multiple root elements). -

-

-
-
-
-
Parameters:
isFragment - true if the EXI input stream is an XML fragment.
-
-
-
- -

-setPreserveLexicalValues

-
-public final void setPreserveLexicalValues(boolean preserveLexicalValues)
-                                    throws org.openexi.proc.common.EXIOptionsException
-
-
Set to true if the EXI input stream was compiled with the Preserve Lexical - Values set to true. The original strings, rather than logical XML - equivalents, are restored in the XML output stream. -

-

-
-
-
-
Parameters:
preserveLexicalValues - set to true if the EXI input stream was compiled with - Preserve Lexical Values set to true. -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setEXISchemaResolver

-
-public final void setEXISchemaResolver(EXISchemaResolver schemaResolver)
-
-
Set the EXISchemaResolver to retrieve the schema needed to decode the - current EXI stream. -

-

-
-
-
-
Parameters:
schemaResolver - EXISchemaResolver
-
-
-
- -

-setDatatypeRepresentationMap

-
-public final void setDatatypeRepresentationMap(QName[] dtrm,
-                                               int n_bindings)
-                                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set a datatype representation map. -

-

-
-
-
-
Parameters:
dtrm - a sequence of pairs of datatype qname and datatype representation qname
n_bindings - the number of qname pairs -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setBlockSize

-
-public final void setBlockSize(int blockSize)
-                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set the size, in number of values, of the information that will be - processed as a chunk of the entire EXI stream. Reducing the block size - can improve performance for devices with limited dynamic memory. - Default is 1,000,000 items (not 1MB, but 1,000,000 complete Attribute - and Element values). Block size is only used when the EXI stream is - encoded with EXI-compression. -

-

-
-
-
-
Parameters:
blockSize - number of values in each processing block. Default is 1,000,000. -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setValueMaxLength

-
-public final void setValueMaxLength(int valueMaxLength)
-
-
Set the maximum length of a string that will be stored for reuse in the - String Table. By default, there is no maximum length. However, in data - sets that have long, unique strings of information, you can improve - performance by limiting the size to the length of strings that are more - likely to appear more than once. -

-

-
-
-
-
Parameters:
valueMaxLength - maximum length of entries in the String Table.
-
-
-
- -

-setValuePartitionCapacity

-
-public final void setValuePartitionCapacity(int valuePartitionCapacity)
-
-
Set the maximum number of values in the String Table. By default, there - is no limit. If the target device has limited dynamic memory, limiting - the number of entries in the String Table can improve performance and - reduce the likelihood that you will exceed memory capacity. -

-

-
-
-
-
Parameters:
valuePartitionCapacity - maximum number of entries in the String Table
-
-
-
- -

-setLexicalHandler

-
-public void setLexicalHandler(org.xml.sax.ext.LexicalHandler lexicalHandler)
-
-
Set a SAX lexical handler to receive SAX lexical events. -

-

-
-
-
-
Parameters:
lexicalHandler - SAX lexical handler
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/ReaderSupport.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/ReaderSupport.html deleted file mode 100644 index 7d392bb5b6..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/ReaderSupport.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - - -ReaderSupport - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Class ReaderSupport

-
-java.lang.Object
-  extended by org.openexi.sax.ReaderSupport
-
-
-
All Implemented Interfaces:
org.xml.sax.Attributes
-
-
-
Direct Known Subclasses:
EXIReader
-
-
-
-
public abstract class ReaderSupport
extends java.lang.Object
implements org.xml.sax.Attributes
- - -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - -
-Method Summary
- org.xml.sax.ContentHandlergetContentHandler() - -
-          Get the SAX content handler currently in use.
- voidsetContentHandler(org.xml.sax.ContentHandler contentHandler) - -
-          Set a SAX content handler to receive SAX events.
- voidsetGrammarCache(GrammarCache grammarCache) - -
-          Set the GrammarCache used in parsing EXI streams.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- - - - - - - -
Methods inherited from interface org.xml.sax.Attributes
getIndex, getIndex, getLength, getLocalName, getQName, getType, getType, getType, getURI, getValue, getValue, getValue
-  -

- - - - - - - - -
-Method Detail
- -

-setContentHandler

-
-public final void setContentHandler(org.xml.sax.ContentHandler contentHandler)
-
-
Set a SAX content handler to receive SAX events. -

-

-
-
-
-
Parameters:
contentHandler - SAX content handler
-
-
-
- -

-getContentHandler

-
-public final org.xml.sax.ContentHandler getContentHandler()
-
-
Get the SAX content handler currently in use. -

-

-
-
-
- -
Returns:
ContentHandler SAX content handler.
-
-
-
- -

-setGrammarCache

-
-public void setGrammarCache(GrammarCache grammarCache)
-                     throws org.openexi.proc.common.EXIOptionsException
-
-
Set the GrammarCache used in parsing EXI streams. -

-

-
-
-
-
Parameters:
grammarCache - GrammarCache -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/SAXTransmogrifier.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/SAXTransmogrifier.html deleted file mode 100644 index 15e2e7d77f..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/SAXTransmogrifier.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - -SAXTransmogrifier - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Interface SAXTransmogrifier

-
-
All Superinterfaces:
BinaryDataHandler, org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler
-
-
-
-
public interface SAXTransmogrifier
extends org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, BinaryDataHandler
- - -

-Applications can directly feed SAX events into a transmogrifier through SAXTransmogrifier. -

- -

-

- -
-
- -

- - - - - - - - - - - - -
-Method Summary
- GrammarCachegetGrammarCache() - -
-          Returns the GrammarCache that is in use by this SAXTransmogrifier.
- - - - - - - -
Methods inherited from interface org.xml.sax.ContentHandler
characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping
- - - - - - - -
Methods inherited from interface org.xml.sax.ext.LexicalHandler
comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity
- - - - - - - -
Methods inherited from interface org.openexi.sax.BinaryDataHandler
binaryData, endBinaryData, startBinaryData
-  -

- - - - - - - - -
-Method Detail
- -

-getGrammarCache

-
-GrammarCache getGrammarCache()
-
-
Returns the GrammarCache that is in use by this SAXTransmogrifier. -

-

-
-
-
- -
Returns:
a GrammarCache
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/Transmogrifier.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/Transmogrifier.html deleted file mode 100644 index b857aab51c..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/Transmogrifier.html +++ /dev/null @@ -1,735 +0,0 @@ - - - - - - - -Transmogrifier - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Class Transmogrifier

-
-java.lang.Object
-  extended by org.openexi.sax.Transmogrifier
-
-
-
-
public final class Transmogrifier
extends java.lang.Object
- - -

-The Transmogrifier converts an XML stream to an EXI stream. -

- -

-

- -
-
- -

- - - - - - - - - - - - - - -
-Constructor Summary
Transmogrifier() - -
-          Create an instance of the Transmogrifier with a default SAX parser.
Transmogrifier(javax.xml.parsers.SAXParserFactory saxParserFactory) - -
-          Create an instance of the Transmogrifier, specifying the SAXParserFactory - from which to create the SAX parser.
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- voidencode(org.xml.sax.InputSource is) - -
-          Parses XML input source and converts it to an EXI stream.
- GrammarCachegetGrammarCache() - -
-          Returns the GrammarCache that was previously set.
- SAXTransmogrifiergetSAXTransmogrifier() - -
-          Returns the SAXTransmogrifier, which implements both the ContentHandler - and LexicalHandler.
- voidsetAlignmentType(AlignmentType alignmentType) - -
-          Set the bit alignment style for the encoded EXI stream.
- voidsetBlockSize(int blockSize) - -
-          Set the size, in number of values, of the information that will be - processed as a chunk of the entire XML stream.
- voidsetDatatypeRepresentationMap(QName[] dtrm, - int n_bindings) - -
-          Set a datatype representation map (DTRM).
- voidsetEntityResolver(org.xml.sax.EntityResolver entityResolver) - -
-          Set an external SAX entity resolver.
- voidsetFragment(boolean isFragment) - -
-          Set to true if the XML input stream is an XML fragment (a non-compliant - XML document with multiple root elements).
- voidsetGrammarCache(GrammarCache grammarCache) - -
-          Set the GrammarCache used in transmogrifying XML data to EXI.
- voidsetGrammarCache(GrammarCache grammarCache, - org.openexi.proc.common.SchemaId schemaId) - -
-          Set the GrammarCache to be used in encoding XML streams into EXI streams - by the transmogrifier.
- voidsetOutputCookie(boolean outputCookie) - -
-          Tells the encoder whether to or not to start the stream by - adding an EXI cookie.
- voidsetOutputOptions(HeaderOptionsOutputType outputOptions) - -
-          Set the header output options.
- voidsetOutputStream(java.io.OutputStream ostream) - -
-          Set an output stream to which encoded streams are written.
- voidsetPreserveLexicalValues(boolean preserveLexicalValues) - -
-          Set to true to preserve the original string values from the XML - stream.
- voidsetPreserveWhitespaces(boolean preserveWhitespaces) - -
-          Set to true to preserve whitespace (for example, spaces, tabs, and - line breaks) in the encoded EXI stream.
- voidsetResolveExternalGeneralEntities(boolean resolveExternalGeneralEntities) - -
-          Change the way a Transmogrifier handles external general entities.
- voidsetValueMaxLength(int valueMaxLength) - -
-          Set the maximum length of a string that will be stored for reuse in the - String Table.
- voidsetValuePartitionCapacity(int valuePartitionCapacity) - -
-          Set the maximum number of values in the String Table.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Constructor Detail
- -

-Transmogrifier

-
-public Transmogrifier()
-               throws org.openexi.sax.TransmogrifierRuntimeException
-
-
Create an instance of the Transmogrifier with a default SAX parser. -

-

- -
Throws: -
TransmogrifierException -
org.openexi.sax.TransmogrifierRuntimeException
-
-
- -

-Transmogrifier

-
-public Transmogrifier(javax.xml.parsers.SAXParserFactory saxParserFactory)
-               throws org.openexi.sax.TransmogrifierRuntimeException
-
-
Create an instance of the Transmogrifier, specifying the SAXParserFactory - from which to create the SAX parser. -

-

-
Parameters:
saxParserFactory - -
Throws: -
TransmogrifierException -
org.openexi.sax.TransmogrifierRuntimeException
-
- - - - - - - - -
-Method Detail
- -

-setResolveExternalGeneralEntities

-
-public void setResolveExternalGeneralEntities(boolean resolveExternalGeneralEntities)
-                                       throws TransmogrifierException
-
-
Change the way a Transmogrifier handles external general entities. When the value - of resolveExternalGeneralEntities is set to true, a Transmogrifier will try to - resolve external general entities. Otherwise, external general entities will not - be resolved. -

-

-
Parameters:
resolveExternalGeneralEntities - -
Throws: -
TransmogrifierException - Thrown when the underlying XMLReader does not - support the specified behavior.
-
-
-
- -

-setOutputStream

-
-public final void setOutputStream(java.io.OutputStream ostream)
-
-
Set an output stream to which encoded streams are written. -

-

-
Parameters:
ostream - output stream
-
-
-
- -

-setAlignmentType

-
-public final void setAlignmentType(AlignmentType alignmentType)
-                            throws org.openexi.proc.common.EXIOptionsException
-
-
Set the bit alignment style for the encoded EXI stream. -

-

-
Parameters:
alignmentType - AlignmentType. - Default is bit-packed. -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setFragment

-
-public final void setFragment(boolean isFragment)
-
-
Set to true if the XML input stream is an XML fragment (a non-compliant - XML document with multiple root elements). -

-

-
Parameters:
isFragment - true if the XML input stream is an XML fragment.
-
-
-
- -

-setBlockSize

-
-public final void setBlockSize(int blockSize)
-                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set the size, in number of values, of the information that will be - processed as a chunk of the entire XML stream. Reducing the block size - can improve performance for devices with limited dynamic memory. - Default is 1,000,000 items (not 1MB, but 1,000,000 complete Attribute - and Element values). Block size is only used when the EXI stream is - encoded with EXI-compression. -

-

-
Parameters:
blockSize - number of values in each processing block. Default is 1,000,000. -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setValueMaxLength

-
-public final void setValueMaxLength(int valueMaxLength)
-
-
Set the maximum length of a string that will be stored for reuse in the - String Table. By default, there is no maximum length. However, in data - sets that have long, unique strings of information, you can improve - performance by limiting the size to the length of strings that are more - likely to appear more than once. -

-

-
Parameters:
valueMaxLength - maximum length of entries in the String Table.
-
-
-
- -

-setValuePartitionCapacity

-
-public final void setValuePartitionCapacity(int valuePartitionCapacity)
-
-
Set the maximum number of values in the String Table. By default, there - is no limit. If the target device has limited dynamic memory, limiting - the number of entries in the String Table can improve performance and - reduce the likelihood that you will exceed memory capacity. -

-

-
Parameters:
valuePartitionCapacity - maximum number of entries in the String Table
-
-
-
- -

-setPreserveLexicalValues

-
-public final void setPreserveLexicalValues(boolean preserveLexicalValues)
-                                    throws org.openexi.proc.common.EXIOptionsException
-
-
Set to true to preserve the original string values from the XML - stream. For example, a date string might be converted to a different - format when interpreted by the Transmogrifier. Preserving the lexical values - ensures that the identical strings are restored, and not just their - logical values. -

-

-
Parameters:
preserveLexicalValues - true to keep original strings intact -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setGrammarCache

-
-public final void setGrammarCache(GrammarCache grammarCache)
-                           throws org.openexi.proc.common.EXIOptionsException
-
-
Set the GrammarCache used in transmogrifying XML data to EXI. -

-

-
Parameters:
grammarCache - GrammarCache -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setGrammarCache

-
-public final void setGrammarCache(GrammarCache grammarCache,
-                                  org.openexi.proc.common.SchemaId schemaId)
-                           throws org.openexi.proc.common.EXIOptionsException
-
-
Set the GrammarCache to be used in encoding XML streams into EXI streams - by the transmogrifier. - The SchemaId contains the string that is written in the header when - HeaderOptionsOutputType.all is set. -

-

-
Parameters:
grammarCache - GrammarCache
schemaId - -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-getGrammarCache

-
-public final GrammarCache getGrammarCache()
-
-
Returns the GrammarCache that was previously set. -

-

- -
Returns:
a GrammarCache
-
-
-
- -

-setDatatypeRepresentationMap

-
-public final void setDatatypeRepresentationMap(QName[] dtrm,
-                                               int n_bindings)
-                                        throws org.openexi.proc.common.EXIOptionsException
-
-
Set a datatype representation map (DTRM). The DTRM allows you to remap - XMLSchema datatypes to EXI datatypes other than their default equivalents. - The map is created using a sequence of Qualified Name pairs that identify - a datatype definition in the XMLSchema namespace followed by the new - corresponding datatype mapping in the EXI namespace. -

- For example, the following lines map the boolean datatype from XMLSchema - to the integer datatype in EXI. -
-   QName q1 = new QName("xsd:boolean","http://www.w3.org/2001/XMLSchema");
-   QName q2 = new QName("exi:integer","http://www.w3.org/2009/exi");
-   QName[] dtrm = new QName[2];
-   dtrm = {q1, q2}; // Each mapping requires 2 qualified names.
-   transmogrifierInstance.setDatatypeRepresentationMap(dtrm, 1); // The array, and the number of pairs (1).
- 
-

-

-
Parameters:
dtrm - a sequence of pairs of datatype QName and datatype representation QName
n_bindings - the number of QName pairs -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setEntityResolver

-
-public final void setEntityResolver(org.xml.sax.EntityResolver entityResolver)
-
-
Set an external SAX entity resolver. -

-

-
Parameters:
entityResolver - EntityResolver
-
-
-
- -

-setOutputCookie

-
-public final void setOutputCookie(boolean outputCookie)
-
-
Tells the encoder whether to or not to start the stream by - adding an EXI cookie. -

-

-
Parameters:
outputCookie - true to include the EXI cookie
-
-
-
- -

-setOutputOptions

-
-public final void setOutputOptions(HeaderOptionsOutputType outputOptions)
-                            throws org.openexi.proc.common.EXIOptionsException
-
-
Set the header output options. Choices are set using the - HeaderOptionsOutputType enumeration. - Options are all, lessSchemaID (that is, all values - except for the SchemaId), or none. -

-

-
Parameters:
outputOptions - HeaderOptionsOutputType -
Throws: -
org.openexi.proc.common.EXIOptionsException
-
-
-
- -

-setPreserveWhitespaces

-
-public final void setPreserveWhitespaces(boolean preserveWhitespaces)
-
-
Set to true to preserve whitespace (for example, spaces, tabs, and - line breaks) in the encoded EXI stream. By default, non-essential whitespace - is removed from the encoded stream. -

-

-
Parameters:
preserveWhitespaces - true to retain whitespace in the encoded EXI stream
-
-
-
- -

-encode

-
-public void encode(org.xml.sax.InputSource is)
-            throws TransmogrifierException,
-                   java.io.IOException
-
-
Parses XML input source and converts it to an EXI stream. -

-

-
Parameters:
is - XML input source -
Throws: -
TransmogrifierException -
java.io.IOException
-
-
-
- -

-getSAXTransmogrifier

-
-public SAXTransmogrifier getSAXTransmogrifier()
-
-
Returns the SAXTransmogrifier, which implements both the ContentHandler - and LexicalHandler. SAX programmers can connect the SAXTransmogrifier to - their favorite XML Parser to convert SAX events into an EXI stream. -

-

-
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/TransmogrifierException.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/TransmogrifierException.html deleted file mode 100644 index 55e1e1feaa..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/TransmogrifierException.html +++ /dev/null @@ -1,566 +0,0 @@ - - - - - - - -TransmogrifierException - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.sax -
-Class TransmogrifierException

-
-java.lang.Object
-  extended by java.lang.Throwable
-      extended by java.lang.Exception
-          extended by org.openexi.sax.TransmogrifierException
-
-
-
All Implemented Interfaces:
java.io.Serializable
-
-
-
-
public final class TransmogrifierException
extends java.lang.Exception
- - -

-Exception handler for the Transmogrifier. -

- -

-

-
See Also:
Serialized Form -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Field Summary
-static intPREFIX_BOUND_TO_ANOTHER_NAMESPACE - -
-          Prefix is bound to another namespace.
-static intPREFIX_NOT_BOUND - -
-          Prefix is not bound.
-static intSAX_ERROR - -
-          SAX error reported by XML parser.
-static intSCRIBER_ERROR - -
-          Errors reported by Scriber.
-static intUNEXPECTED_ATTR - -
-          Unexpected Attribute.
-static intUNEXPECTED_BINARY_VALUE - -
-          Unexpected Binary value.
-static intUNEXPECTED_CHARS - -
-          Unexpected Character Sequence.
-static intUNEXPECTED_ED - -
-          Unexpected End of Document event.
-static intUNEXPECTED_ELEM - -
-          Unexpected Element.
-static intUNEXPECTED_END_ELEM - -
-          Unexpected End of Element event.
-static intUNEXPECTED_SD - -
-          Unexpected Start of Document event.
-static intUNHANDLED_SAXPARSER_FEATURE - -
-          Unhandled SAX parser feature.
-  - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- intgetCode() - -
-          Returns a code that represents the type of the exception.
- java.lang.ExceptiongetException() - -
-          Returns an Exception object.
- org.xml.sax.LocatorgetLocator() - -
-          Returns the locator that is associated with this compilation error.
- java.lang.StringgetMessage() - -
-          Returns a message that describes the exception.
- - - - - - - -
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-UNEXPECTED_ELEM

-
-public static final int UNEXPECTED_ELEM
-
-
Unexpected Element. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_ATTR

-
-public static final int UNEXPECTED_ATTR
-
-
Unexpected Attribute. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_CHARS

-
-public static final int UNEXPECTED_CHARS
-
-
Unexpected Character Sequence. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_BINARY_VALUE

-
-public static final int UNEXPECTED_BINARY_VALUE
-
-
Unexpected Binary value. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNHANDLED_SAXPARSER_FEATURE

-
-public static final int UNHANDLED_SAXPARSER_FEATURE
-
-
Unhandled SAX parser feature. -

-

-
See Also:
Constant Field Values
-
-
- -

-SAX_ERROR

-
-public static final int SAX_ERROR
-
-
SAX error reported by XML parser. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_END_ELEM

-
-public static final int UNEXPECTED_END_ELEM
-
-
Unexpected End of Element event. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_ED

-
-public static final int UNEXPECTED_ED
-
-
Unexpected End of Document event. -

-

-
See Also:
Constant Field Values
-
-
- -

-UNEXPECTED_SD

-
-public static final int UNEXPECTED_SD
-
-
Unexpected Start of Document event. -

-

-
See Also:
Constant Field Values
-
-
- -

-PREFIX_NOT_BOUND

-
-public static final int PREFIX_NOT_BOUND
-
-
Prefix is not bound. -

-

-
See Also:
Constant Field Values
-
-
- -

-PREFIX_BOUND_TO_ANOTHER_NAMESPACE

-
-public static final int PREFIX_BOUND_TO_ANOTHER_NAMESPACE
-
-
Prefix is bound to another namespace. -

-

-
See Also:
Constant Field Values
-
-
- -

-SCRIBER_ERROR

-
-public static final int SCRIBER_ERROR
-
-
Errors reported by Scriber. -

-

-
See Also:
Constant Field Values
-
- - - - - - - - -
-Method Detail
- -

-getCode

-
-public int getCode()
-
-
Returns a code that represents the type of the exception. -

-

- -
Returns:
error code
-
-
-
- -

-getMessage

-
-public java.lang.String getMessage()
-
-
Returns a message that describes the exception. -

-

-
Overrides:
getMessage in class java.lang.Throwable
-
-
- -
Returns:
error message
-
-
-
- -

-getException

-
-public java.lang.Exception getException()
-
-
Returns an Exception object. -

-

- -
Returns:
the error as an Exception instance
-
-
-
- -

-getLocator

-
-public org.xml.sax.Locator getLocator()
-
-
Returns the locator that is associated with this compilation error. -

-

- -
Returns:
a Locator if available, otherwise null
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-frame.html deleted file mode 100644 index 22e45d692b..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-frame.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - -org.openexi.sax - - - - - - - - - - - -org.openexi.sax - - - - -
-Interfaces  - -
-BinaryDataHandler -
-SAXTransmogrifier
- - - - - - -
-Classes  - -
-EXIReader -
-ReaderSupport -
-Transmogrifier
- - - - - - -
-Exceptions  - -
-TransmogrifierException
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-summary.html deleted file mode 100644 index b0e720814c..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-summary.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - -org.openexi.sax - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.sax -

- - - -The SAX package contains the Transmogrifier, which encodes an XML file to an EXI stream, and the EXIReader, which restores an EXI stream to its logical XML equivalent. -

-See: -
-          Description -

- - - - - - - - - - - - - -
-Interface Summary
BinaryDataHandler 
SAXTransmogrifierApplications can directly feed SAX events into a transmogrifier through SAXTransmogrifier.
-  - -

- - - - - - - - - - - - - - - - - -
-Class Summary
EXIReaderEXIReader implements the SAX XMLReader to provide a convenient and - familiar interface for decoding an EXI stream.
ReaderSupport 
TransmogrifierThe Transmogrifier converts an XML stream to an EXI stream.
-  - -

- - - - - - - - - -
-Exception Summary
TransmogrifierExceptionException handler for the Transmogrifier.
-  - -

-

-Package org.openexi.sax Description -

- -

- - - - - -
-

The SAX package contains the Transmogrifier, which encodes an XML file to an EXI stream, and the EXIReader, which restores an EXI stream to its logical XML equivalent. These classes are wrappers for the Scriber and EXIDecoder, respectively, and are primarily meant to provide access to EXI using familiar SAX syntax. -

-
- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-tree.html deleted file mode 100644 index f4184bf934..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/sax/package-tree.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - -org.openexi.sax Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.sax -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

-
    -
  • java.lang.Object -
-

-Interface Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/Characters.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/Characters.html deleted file mode 100644 index 022f5be35a..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/Characters.html +++ /dev/null @@ -1,486 +0,0 @@ - - - - - - - -Characters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.schema -
-Class Characters

-
-java.lang.Object
-  extended by org.openexi.schema.Characters
-
-
-
-
public final class Characters
extends java.lang.Object
- - -

-

- -
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Field Summary
- char[]characters - -
-           
-static CharactersCHARACTERS_EMPTY - -
-           
- booleanisVolatile - -
-           
- intlength - -
-           
- intstartIndex - -
-           
- intucsCount - -
-           
-  - - - - - - - - - - -
-Constructor Summary
Characters(char[] characters, - int startIndex, - int length, - boolean isVolatile) - -
-           
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- booleanequals(java.lang.Object object) - -
-           
- inthashCode() - -
-           
- intindexOf(char c) - -
-           
- java.lang.StringmakeString() - -
-           
- java.lang.Stringsubstring(int beginIndex, - int endIndex) - -
-           
- voidturnPermanent() - -
-           
- - - - - - - -
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-isVolatile

-
-public boolean isVolatile
-
-
-
-
-
- -

-characters

-
-public char[] characters
-
-
-
-
-
- -

-startIndex

-
-public int startIndex
-
-
-
-
-
- -

-length

-
-public final int length
-
-
-
-
-
- -

-ucsCount

-
-public final int ucsCount
-
-
-
-
-
- -

-CHARACTERS_EMPTY

-
-public static final Characters CHARACTERS_EMPTY
-
-
-
-
- - - - - - - - -
-Constructor Detail
- -

-Characters

-
-public Characters(char[] characters,
-                  int startIndex,
-                  int length,
-                  boolean isVolatile)
-
-
- - - - - - - - -
-Method Detail
- -

-turnPermanent

-
-public void turnPermanent()
-
-
-
-
-
-
- -

-indexOf

-
-public int indexOf(char c)
-
-
-
-
-
-
- -

-substring

-
-public java.lang.String substring(int beginIndex,
-                                  int endIndex)
-
-
-
-
-
-
- -

-hashCode

-
-public int hashCode()
-
-
-
Overrides:
hashCode in class java.lang.Object
-
-
-
-
-
-
- -

-equals

-
-public boolean equals(java.lang.Object object)
-
-
-
Overrides:
equals in class java.lang.Object
-
-
-
-
-
-
- -

-makeString

-
-public java.lang.String makeString()
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EXISchema.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EXISchema.html deleted file mode 100644 index f3c472ec5e..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EXISchema.html +++ /dev/null @@ -1,355 +0,0 @@ - - - - - - - -EXISchema - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.schema -
-Class EXISchema

-
-java.lang.Object
-  extended by org.openexi.schema.EXISchema
-
-
-
-
public final class EXISchema
extends java.lang.Object
- - -

-EXISchema provides methods to read and write compiled EXI schemas. -

- -

-

- -
-
- -

- - - - - - - - - - - -
-Field Summary
- byte[]ancestryIds - -
-           
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
-static boolean_isSimpleType(int tp, - int[] types) - -
-           
- booleanisSimpleType(int tp) - -
-           
-static EXISchemareadIn(java.io.DataInputStream in) - -
-          Reads an EXI Schema from a DataInputStream.
- voidwriteOut(java.io.DataOutputStream out) - -
-          Writes out a serialized EXISchema.
- voidwriteXml(java.io.OutputStream out, - boolean whole) - -
-           
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-ancestryIds

-
-public transient byte[] ancestryIds
-
-
-
-
- - - - - - - - -
-Method Detail
- -

-isSimpleType

-
-public boolean isSimpleType(int tp)
-
-
-
-
-
-
- -

-_isSimpleType

-
-public static boolean _isSimpleType(int tp,
-                                    int[] types)
-
-
-
-
-
-
- -

-readIn

-
-public static EXISchema readIn(java.io.DataInputStream in)
-                        throws java.io.IOException,
-                               java.lang.ClassNotFoundException
-
-
Reads an EXI Schema from a DataInputStream. -

-

-
Parameters:
in - DataInputStream containing a serialized EXISchema -
Returns:
EXISchema -
Throws: -
IOException, - ClassNotFoundException -
java.io.IOException -
java.lang.ClassNotFoundException
-
-
-
- -

-writeOut

-
-public void writeOut(java.io.DataOutputStream out)
-              throws java.io.IOException
-
-
Writes out a serialized EXISchema. -

-

-
Parameters:
out - DataOutputStream to receive the serialized EXISchema -
Throws: -
java.io.IOException
-
-
-
- -

-writeXml

-
-public void writeXml(java.io.OutputStream out,
-                     boolean whole)
-              throws java.io.IOException
-
-
- -
Throws: -
java.io.IOException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EmptySchema.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EmptySchema.html deleted file mode 100644 index 2a932cc5fb..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/EmptySchema.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - -EmptySchema - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.schema -
-Class EmptySchema

-
-java.lang.Object
-  extended by org.openexi.schema.EmptySchema
-
-
-
-
public final class EmptySchema
extends java.lang.Object
- - -

-EmptySchema provides an EXISchema that supports all datatypes inherent - in XML Schema such as xsd:int and xsd:dateTime, but with no - user-specific definitions. This is to support the use of dynamic - datatype associations discovered within elements during processing. -

- -

-

- -
-
- -

- - - - - - - - - - - - -
-Method Summary
-static EXISchemagetEXISchema() - -
-          Returns an EXISchema that supports all datatypes inherent in XML Schema.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Method Detail
- -

-getEXISchema

-
-public static EXISchema getEXISchema()
-
-
Returns an EXISchema that supports all datatypes inherent in XML Schema. - Calls to this method always return the same object. -

-

- -
Returns:
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-frame.html deleted file mode 100644 index 4fdd831792..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - -org.openexi.schema - - - - - - - - - - - -org.openexi.schema - - - - -
-Classes  - -
-Characters -
-EmptySchema -
-EXISchema
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-summary.html deleted file mode 100644 index 53242f2e32..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-summary.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - -org.openexi.schema - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.schema -

- - - -The schema package contains classes that are used to represent XML Schema Documents (XSDs). -

-See: -
-          Description -

- - - - - - - - - - - - - - - - - -
-Class Summary
Characters 
EmptySchemaEmptySchema provides an EXISchema that supports all datatypes inherent - in XML Schema such as xsd:int and xsd:dateTime, but with no - user-specific definitions.
EXISchemaEXISchema provides methods to read and write compiled EXI schemas.
-  - -

-

-Package org.openexi.schema Description -

- -

- - - - - -
-

The schema package contains classes that are used to represent XML Schema Documents (XSDs). EXISchema.writeOut writes an EXISchema to a DataOutputStream (which is typically saved to disk). EXISchema.readIn returns an EXISchema from a DataInputStream (typically from a file on disk), saving the step of processing the schema at runtime. -

-

-EmptySchema is used to create an explicit schema object with default settings. This is to enable the EXIDecoder and Transmogrifier to process element tags that have embedded datatype overrides. -

- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-tree.html deleted file mode 100644 index dda7f6246f..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/schema/package-tree.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - -org.openexi.schema Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.schema -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactory.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactory.html deleted file mode 100644 index 7a95df8e6d..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactory.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - -EXISchemaFactory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.scomp -
-Class EXISchemaFactory

-
-java.lang.Object
-  extended by EXISchemaStruct
-      extended by org.openexi.scomp.EXISchemaFactory
-
-
-
-
public class EXISchemaFactory
extends EXISchemaStruct
- - -

-EXISchemaFactory compiles XML Schema into an EXISchema instance. -

- -

-

- -
-
- -

- - - - - - - - - - - -
-Constructor Summary
EXISchemaFactory() - -
-           
-  - - - - - - - - - - - - - - - - - - - -
-Method Summary
- EXISchemacompile(org.xml.sax.InputSource inputSource) - -
-          Compile an XML Schema Document into an EXISchema.
- voidsetCompilerErrorHandler(EXISchemaFactoryErrorHandler errorHandler) - -
-          Set an error handler to report any errors encountered during - schema compilation.
- voidsetEntityResolver(EntityResolverEx entityResolver) - -
-          Set an entity resolver for use to resolve entities and schema documents.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Constructor Detail
- -

-EXISchemaFactory

-
-public EXISchemaFactory()
-
-
- - - - - - - - -
-Method Detail
- -

-setCompilerErrorHandler

-
-public void setCompilerErrorHandler(EXISchemaFactoryErrorHandler errorHandler)
-
-
Set an error handler to report any errors encountered during - schema compilation. -

-

-
Parameters:
errorHandler - Error handler
-
-
-
- -

-setEntityResolver

-
-public void setEntityResolver(EntityResolverEx entityResolver)
-
-
Set an entity resolver for use to resolve entities and schema documents. -

-

-
Parameters:
entityResolverEx - extended SAX entity resolver
-
-
-
- -

-compile

-
-public final EXISchema compile(org.xml.sax.InputSource inputSource)
-                        throws java.io.IOException,
-                               EXISchemaFactoryException
-
-
Compile an XML Schema Document into an EXISchema. -

-

-
Parameters:
is - XML Schema Document stream from an InputSource -
Returns:
an EXISchema instance -
Throws: -
java.io.IOException -
EXISchemaFactoryException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryErrorHandler.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryErrorHandler.html deleted file mode 100644 index 48648e4635..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryErrorHandler.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - -EXISchemaFactoryErrorHandler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.scomp -
-Interface EXISchemaFactoryErrorHandler

-
-
-
public interface EXISchemaFactoryErrorHandler
- - -

-This interface reports exceptions from EXISchemaFactory during schema - processing. Users of EXISchemaFactory need to provide an - implementation of this interface to receive errors from EXISchemaFactory. -

- -

-

-
Author:
-
Dennis Dawson
- -
-
- -

- - - - - - - - - - - - - - - - - - - - -
-Method Summary
- voiderror(EXISchemaFactoryException exc) - -
-          Report an error found during schema processing.
- voidfatalError(EXISchemaFactoryException exc) - -
-          Report a fatal error found during schema processing.
- voidwarning(EXISchemaFactoryException exc) - -
-          Report a warning found during schema processing.
-  -

- - - - - - - - -
-Method Detail
- -

-warning

-
-void warning(EXISchemaFactoryException exc)
-             throws EXISchemaFactoryException
-
-
Report a warning found during schema processing. -

-

-
Parameters:
exc - warning found -
Throws: -
EXISchemaFactoryException - at the discretion of the application
-
-
-
- -

-error

-
-void error(EXISchemaFactoryException exc)
-           throws EXISchemaFactoryException
-
-
Report an error found during schema processing. Note that errors are - recoverable only as far as the schema processor is concerned. They might - be fatal at the application level. -

-

-
Parameters:
exc - error found -
Throws: -
EXISchemaFactoryException - at the discretion of the application
-
-
-
- -

-fatalError

-
-void fatalError(EXISchemaFactoryException exc)
-                throws EXISchemaFactoryException
-
-
Report a fatal error found during schema processing. -

-

-
Parameters:
exc - fatal error found -
Throws: -
EXISchemaFactoryException - at the discretion of the application
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryException.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryException.html deleted file mode 100644 index 598f7db597..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaFactoryException.html +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - - -EXISchemaFactoryException - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.scomp -
-Class EXISchemaFactoryException

-
-java.lang.Object
-  extended by java.lang.Throwable
-      extended by java.lang.Exception
-          extended by org.openexi.scomp.EXISchemaFactoryException
-
-
-
All Implemented Interfaces:
java.io.Serializable
-
-
-
-
public class EXISchemaFactoryException
extends java.lang.Exception
- - -

-Any errors encountered during schema compilation are communicated to - an application as EXISchemaFactoryException objects. -

- -

-

-
See Also:
EXISchemaFactoryErrorHandler, -Serialized Form
Author:
-
Dennis Dawson
- -
-
- -

- - - - - - - - - - - -
-Field Summary
-static intXMLSCHEMA_ERROR - -
-          The underlying XMLSchema parser found an error in the schema.
-  - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- intgetCode() - -
-          Returns a code that represents the type of the exception.
- java.lang.ExceptiongetException() - -
-          Returns an Exception object.
- org.xml.sax.LocatorgetLocator() - -
-          Returns the locator that is associated with this compilation error.
- java.lang.StringgetMessage() - -
-          Returns a message that describes the exception.
- - - - - - - -
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-XMLSCHEMA_ERROR

-
-public static final int XMLSCHEMA_ERROR
-
-
The underlying XMLSchema parser found an error in the schema. -

-

-
See Also:
Constant Field Values
-
- - - - - - - - -
-Method Detail
- -

-getCode

-
-public int getCode()
-
-
Returns a code that represents the type of the exception. -

-

- -
Returns:
error code
-
-
-
- -

-getMessage

-
-public java.lang.String getMessage()
-
-
Returns a message that describes the exception. -

-

-
Overrides:
getMessage in class java.lang.Throwable
-
-
- -
Returns:
error message
-
-
-
- -

-getException

-
-public java.lang.Exception getException()
-
-
Returns an Exception object. -

-

- -
Returns:
an Exception instance for the current exception.
-
-
-
- -

-getLocator

-
-public org.xml.sax.Locator getLocator()
-
-
Returns the locator that is associated with this compilation error. -

-

- -
Returns:
a Locator if available, otherwise null
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaReader.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaReader.html deleted file mode 100644 index 6249b50feb..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EXISchemaReader.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - -EXISchemaReader - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.scomp -
-Class EXISchemaReader

-
-java.lang.Object
-  extended by EXISchemaStruct
-      extended by org.openexi.scomp.EXISchemaReader
-
-
-
-
public final class EXISchemaReader
extends EXISchemaStruct
- - -

-EXISchemaReader parses EXI-encoded EXI Grammar into an EXISchema. -

- -

-

- -
-
- -

- - - - - - - - - - - -
-Constructor Summary
EXISchemaReader() - -
-           
-  - - - - - - - - - - - -
-Method Summary
- EXISchemaparse(java.io.InputStream inputStream) - -
-          Parses EXI-encoded EXI Grammar into an EXISchema.
- - - - - - - -
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Constructor Detail
- -

-EXISchemaReader

-
-public EXISchemaReader()
-
-
- - - - - - - - -
-Method Detail
- -

-parse

-
-public EXISchema parse(java.io.InputStream inputStream)
-                throws java.io.IOException,
-                       org.openexi.proc.common.EXIOptionsException
-
-
Parses EXI-encoded EXI Grammar into an EXISchema. -

-

-
Parameters:
inputStream - EXI-encoded EXI Grammar -
Returns:
EXISchema -
Throws: -
java.io.IOException -
org.openexi.proc.common.EXIOptionsException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EntityResolverEx.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EntityResolverEx.html deleted file mode 100644 index cd12bdddb1..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/EntityResolverEx.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - -EntityResolverEx - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -org.openexi.scomp -
-Interface EntityResolverEx

-
-
All Superinterfaces:
org.xml.sax.EntityResolver
-
-
-
-
public interface EntityResolverEx
extends org.xml.sax.EntityResolver
- - -

-Extended SAX EntityResolver interface for resolving entities and - schema documents. -

- -

-

- -
-
- -

- - - - - - - - - - - - -
-Method Summary
- org.xml.sax.InputSourceresolveEntity(java.lang.String publicId, - java.lang.String systemId, - java.lang.String namespaceURI) - -
-          This method will be called for resolving schema documents upon - occurrences of XML Schema directives such as "include", "import" and - "redefine" within schemas.
- - - - - - - -
Methods inherited from interface org.xml.sax.EntityResolver
resolveEntity
-  -

- - - - - - - - -
-Method Detail
- -

-resolveEntity

-
-org.xml.sax.InputSource resolveEntity(java.lang.String publicId,
-                                      java.lang.String systemId,
-                                      java.lang.String namespaceURI)
-                                      throws org.xml.sax.SAXException,
-                                             java.io.IOException
-
-
This method will be called for resolving schema documents upon - occurrences of XML Schema directives such as "include", "import" and - "redefine" within schemas. -

-

-
-
-
-
Parameters:
publicId - Public identifier of the schema document that is being resolved
systemId - System identifier of the schema document that is being resolved
namespaceURI - Target namespace name of the schema document that is being resolved -
Returns:
InputSource that represents the schema document if resolved otherwise null -
Throws: -
org.xml.sax.SAXException -
java.io.IOException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-frame.html deleted file mode 100644 index 65600a98d7..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-frame.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - -org.openexi.scomp - - - - - - - - - - - -org.openexi.scomp - - - - -
-Interfaces  - -
-EntityResolverEx -
-EXISchemaFactoryErrorHandler
- - - - - - -
-Classes  - -
-EXISchemaFactory -
-EXISchemaReader
- - - - - - -
-Exceptions  - -
-EXISchemaFactoryException
- - - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-summary.html deleted file mode 100644 index a35b92a223..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-summary.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - -org.openexi.scomp - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package org.openexi.scomp -

- - - -The scomp (schema compiler) package contains the EXISchemaFactory, which is used to compile XML Schema Documents (XSDs) to EXISchemas. -

-See: -
-          Description -

- - - - - - - - - - - - - -
-Interface Summary
EntityResolverExExtended SAX EntityResolver interface for resolving entities and - schema documents.
EXISchemaFactoryErrorHandlerThis interface reports exceptions from EXISchemaFactory during schema - processing.
-  - -

- - - - - - - - - - - - - -
-Class Summary
EXISchemaFactoryEXISchemaFactory compiles XML Schema into an EXISchema instance.
EXISchemaReaderEXISchemaReader parses EXI-encoded EXI Grammar into an EXISchema.
-  - -

- - - - - - - - - -
-Exception Summary
EXISchemaFactoryExceptionAny errors encountered during schema compilation are communicated to - an application as EXISchemaFactoryException objects.
-  - -

-

-Package org.openexi.scomp Description -

- -

- - - - - -
-

The scomp (schema compiler) package contains the EXISchemaFactory, which is used to compile XML Schema Documents (XSDs) to EXISchemas. Developers can implement the interface EXISchemaFactoryErrorHandler to capture and report runtime exceptions from EXISchemaFactory. -

-
- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-tree.html deleted file mode 100644 index 93d1752d5a..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/org/openexi/scomp/package-tree.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - -org.openexi.scomp Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package org.openexi.scomp -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -

-Interface Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-frame.html b/third-party/org.openexi/nagasena/src/main/resources/doc/overview-frame.html deleted file mode 100644 index 045191d7df..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-frame.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - -Overview - - - - - - - - - - - - - - - -
-
- - - - - -
All Classes -

- -Packages -
-org.openexi.proc -
-org.openexi.proc.common -
-org.openexi.proc.grammars -
-org.openexi.proc.io -
-org.openexi.sax -
-org.openexi.schema -
-org.openexi.scomp -
-

- -

-  - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-summary.html b/third-party/org.openexi/nagasena/src/main/resources/doc/overview-summary.html deleted file mode 100644 index 1a299fd622..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-summary.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - -Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -


-
-

-OpenEXI Nagasena -

-
- - - -OpenEXI is a W3C open source API for converting XML files to the Efficient XML Interchange format (EXI). -

-See: -
-          Description -

- - - - - - - - - -The Proc (Processor) package contains the EXIDecoder, which is used to convert EXI streams to XML format. - - - - - -The common package contains classes, interfaces, and enumerators that define the vocabulary used to describe EXI streams (events, options, alignment, and character string values). - - - - - -The grammars package contains the GrammarCache, which combines an XML Schema Definition with EXI grammar options to create an EXI Schema. - - - - - -The IO package contains the Scanner, which is used by EXIDecoder to read and interpret EXI streams. - - - - - -The SAX package contains the Transmogrifier, which encodes an XML file to an EXI stream, and the EXIReader, which restores an EXI stream to its logical XML equivalent. - - - - - -The schema package contains classes that are used to represent XML Schema Documents (XSDs). - - - - - -The scomp (schema compiler) package contains the EXISchemaFactory, which is used to compile XML Schema Documents (XSDs) to EXISchemas. - -
-Packages
org.openexi.proc -
org.openexi.proc.common -
org.openexi.proc.grammars -
org.openexi.proc.io -
org.openexi.sax -
org.openexi.schema -
org.openexi.scomp -
- -

-

- - - - - -
-

OpenEXI is a W3C open source API for converting XML files to the Efficient XML Interchange format (EXI). -

-

You can learn more about OpenEXI by visiting the OpenEXI homepage at openexi.sourceforge.net. -

- -
-

-

- -

-

- -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-tree.html b/third-party/org.openexi/nagasena/src/main/resources/doc/overview-tree.html deleted file mode 100644 index 8409fdb317..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/overview-tree.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - -Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For All Packages

-
-
-
Package Hierarchies:
org.openexi.proc, org.openexi.proc.common, org.openexi.proc.grammars, org.openexi.proc.io, org.openexi.sax, org.openexi.schema, org.openexi.scomp
-
-

-Class Hierarchy -

- -

-Interface Hierarchy -

- -

-Enum Hierarchy -

-
    -
  • java.lang.Object -
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/package-list b/third-party/org.openexi/nagasena/src/main/resources/doc/package-list deleted file mode 100644 index 746aadc8bd..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/package-list +++ /dev/null @@ -1,7 +0,0 @@ -org.openexi.proc -org.openexi.proc.common -org.openexi.proc.grammars -org.openexi.proc.io -org.openexi.sax -org.openexi.schema -org.openexi.scomp diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/resources/inherit.gif b/third-party/org.openexi/nagasena/src/main/resources/doc/resources/inherit.gif deleted file mode 100644 index c814867a13deb0ca7ea2156c6ca1d5a03372af7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmZ?wbhEHbIIT!9-C*e{wE9>Kx3D)-;0v)C; KYxQGgum%9JOA&7X diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/serialized-form.html b/third-party/org.openexi/nagasena/src/main/resources/doc/serialized-form.html deleted file mode 100644 index c3688f526d..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/serialized-form.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - -Serialized Form - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Serialized Form

-
-
- - - - - -
-Package org.openexi.sax
- -

- - - - - -
-Class org.openexi.sax.TransmogrifierException extends java.lang.Exception implements Serializable
- -

-serialVersionUID: -4536662596727577640L - -

- - - - - -
-Serialized Fields
- -

-m_code

-
-int m_code
-
-
-
-
-
-

-m_message

-
-java.lang.String m_message
-
-
-
-
-
-

-m_exception

-
-java.lang.Exception m_exception
-
-
-
-
-
-

-m_locator

-
-org.xml.sax.Locator m_locator
-
-
-
-
-
- - - - - -
-Package org.openexi.scomp
- -

- - - - - -
-Class org.openexi.scomp.EXISchemaFactoryException extends java.lang.Exception implements Serializable
- -

-serialVersionUID: 3816521974819647026L - -

- - - - - -
-Serialized Fields
- -

-m_code

-
-int m_code
-
-
-
-
-
-

-m_message

-
-java.lang.String m_message
-
-
-
-
-
-

-m_exception

-
-java.lang.Exception m_exception
-
-
-
-
-
-

-m_locator

-
-org.xml.sax.Locator m_locator
-
-
-
-
- -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/third-party/org.openexi/nagasena/src/main/resources/doc/stylesheet.css b/third-party/org.openexi/nagasena/src/main/resources/doc/stylesheet.css deleted file mode 100644 index 14c3737e8a..0000000000 --- a/third-party/org.openexi/nagasena/src/main/resources/doc/stylesheet.css +++ /dev/null @@ -1,29 +0,0 @@ -/* Javadoc style sheet */ - -/* Define colors, fonts and other style attributes here to override the defaults */ - -/* Page background color */ -body { background-color: #FFFFFF } - -/* Headings */ -h1 { font-size: 145% } - -/* Table colors */ -.TableHeadingColor { background: #CCCCFF } /* Dark mauve */ -.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ -.TableRowColor { background: #FFFFFF } /* White */ - -/* Font used in left-hand frame lists */ -.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif } -.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } -.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } - -/* Navigation bar fonts and colors */ -.NavBarCell1 { background-color:#EEEEFF;} /* Light mauve */ -.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */ -.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;} -.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;} - -.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} -.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} - diff --git a/third-party/org.openexi/pom.xml b/third-party/org.openexi/pom.xml deleted file mode 100644 index 6369b294ba..0000000000 --- a/third-party/org.openexi/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - 4.0.0 - - - org.opendaylight.controller - commons.thirdparty - 1.1.2-SNAPSHOT - ../commons/thirdparty - - - org.opendaylight.controller.thirdparty - org.openexi - 0000.0002.0038.0-SNAPSHOT - pom - - 3.0.4 - - - - nagasena - nagasena-rta - - - - - - - org.codehaus.mojo - truezip-maven-plugin - 1.1 - - - org.apache.felix - maven-bundle-plugin - 2.4.0 - - - - - - -- 2.36.6