aQute.bnd.osgi
Class Verifier

java.lang.Object
  extended by aQute.bnd.osgi.Domain
      extended by aQute.bnd.osgi.Processor
          extended by aQute.bnd.osgi.Verifier
All Implemented Interfaces:
aQute.bnd.osgi.Constants, aQute.bnd.service.Registry, aQute.service.reporter.Report, aQute.service.reporter.Reporter, java.io.Closeable, java.lang.Iterable<java.lang.String>

public class Verifier
extends aQute.bnd.osgi.Processor


Nested Class Summary
 
Nested classes/interfaces inherited from class aQute.bnd.osgi.Processor
aQute.bnd.osgi.Processor.CL, aQute.bnd.osgi.Processor.FileLine
 
Nested classes/interfaces inherited from interface aQute.service.reporter.Reporter
aQute.service.reporter.Reporter.SetLocation
 
Nested classes/interfaces inherited from interface aQute.service.reporter.Report
aQute.service.reporter.Report.Location
 
Field Summary
static java.util.regex.Pattern ANYPATTERN
           
static java.util.regex.Pattern ARGUMENT_P
           
static java.lang.String ARGUMENT_S
           
static java.util.regex.Pattern BUNDLE_ACTIVATIONPOLICYPATTERN
           
static java.lang.String[] EES
           
static java.util.regex.Pattern EXTENDED_P
           
static java.lang.String EXTENDED_S
           
static java.util.regex.Pattern FILTERPATTERN
           
static java.util.regex.Pattern FQNPATTERN
           
static java.util.regex.Pattern HEADER_PATTERN
           
static java.util.regex.Pattern ISO639
           
static java.util.regex.Pattern MULTIPACKAGEPATTERN
           
static java.util.regex.Pattern NUMBERPATTERN
           
static java.lang.String[] OSNAMES
           
static java.util.regex.Pattern PACKAGEPATTERN
           
static java.util.regex.Pattern PATHPATTERN
           
static java.lang.String[] PROCESSORNAMES
           
static java.lang.String QUOTEDSTRING
           
static java.util.regex.Pattern QUOTEDSTRING_P
           
static java.util.regex.Pattern ReservedFileNames
           
static java.util.regex.Pattern SYMBOLICNAME
           
static java.lang.String SYMBOLICNAME_STRING
           
static java.util.regex.Pattern TOKEN
           
static java.util.regex.Pattern TRUEORFALSEPATTERN
           
static java.util.regex.Pattern URLPATTERN
           
static java.util.regex.Pattern VERSION
           
static java.util.regex.Pattern VERSION_P
           
static java.lang.String VERSION_RANGE_S
           
static java.lang.String VERSION_S
           
static java.lang.String VERSION_STRING
           
static java.util.regex.Pattern VERSIONRANGE
           
static java.util.regex.Pattern VERSIONRANGE_P
           
static java.util.regex.Pattern WILDCARDNAMEPATTERN
           
 
Fields inherited from class aQute.bnd.osgi.Processor
LIST_SPLITTER
 
Fields inherited from interface aQute.bnd.osgi.Constants
BASELINE, BASELINEREPO, BLUEPRINT_TIMEOUT_ATTRIBUTE, BLUEPRINT_WAIT_FOR_DEPENDENCIES_ATTRIBUTE, BND_ADDXMLTOTEST, BND_LASTMODIFIED, BUILDFILES, BUILDPACKAGES, BUILDPATH, BUMPPOLICY, BUNDLE_ACTIVATIONPOLICY, BUNDLE_ACTIVATOR, BUNDLE_BLUEPRINT, BUNDLE_CATEGORY, BUNDLE_CLASSPATH, BUNDLE_CONTACTADDRESS, BUNDLE_CONTRIBUTORS, BUNDLE_COPYRIGHT, BUNDLE_DESCRIPTION, BUNDLE_DEVELOPERS, BUNDLE_DOCURL, BUNDLE_ICON, BUNDLE_LICENSE, BUNDLE_LOCALIZATION, BUNDLE_MANIFESTVERSION, BUNDLE_NAME, BUNDLE_NATIVECODE, BUNDLE_REQUIREDEXECUTIONENVIRONMENT, BUNDLE_SPECIFIC_HEADERS, BUNDLE_SYMBOLIC_NAME_ATTRIBUTE, BUNDLE_SYMBOLICNAME, BUNDLE_UPDATELOCATION, BUNDLE_VENDOR, BUNDLE_VERSION, BUNDLE_VERSION_ATTRIBUTE, CACHEDIR, CLASSPATH, COMMAND_DIRECTIVE, COMPILER_SOURCE, COMPILER_TARGET, COMPONENT_ACTIVATE, COMPONENT_CONFIGURATION_POLICY, COMPONENT_DEACTIVATE, COMPONENT_DESCRIPTORS, COMPONENT_DESIGNATE, COMPONENT_DESIGNATEFACTORY, COMPONENT_DYNAMIC, COMPONENT_ENABLED, COMPONENT_FACTORY, COMPONENT_GREEDY, COMPONENT_IMMEDIATE, COMPONENT_IMPLEMENTATION, COMPONENT_MODIFIED, COMPONENT_MULTIPLE, COMPONENT_NAME, COMPONENT_NAMESPACE, COMPONENT_OPTIONAL, COMPONENT_PROPERTIES, COMPONENT_PROVIDE, COMPONENT_SERVICEFACTORY, COMPONENT_VERSION, componentDirectives, CONDITIONAL_PACKAGE, CONDITIONALPACKAGE, CONDUIT, CONSUMER_POLICY, CONTRACT, CREATED_BY, CURRENT_PACKAGE, CURRENT_USES, CURRENT_VERSION, DEBUG, DEFAULT_BAR_EXTENSION, DEFAULT_BND_EXTENSION, DEFAULT_BNDRUN_EXTENSION, DEFAULT_CHARSET, DEFAULT_DO_NOT_COPY, DEFAULT_JAR_EXTENSION, DEFAULT_LAUNCHER_BSN, DEFAULT_PREPROCESSS_MATCHERS, DEFAULT_PROP_BIN_DIR, DEFAULT_PROP_SRC_DIR, DEFAULT_PROP_TARGET_DIR, DEFAULT_PROP_TESTBIN_DIR, DEFAULT_PROP_TESTSRC_DIR, DEFAULT_TESTER_BSN, DEPENDSON, DEPLOY, DEPLOYREPO, DESCRIPTION_ATTRIBUTE, DIFFIGNORE, DIGESTS, directives, DONOTCOPY, DSANNOTATIONS, DUPLICATE_MARKER, DYNAMICIMPORT_PACKAGE, EEPROFILE, EEPROFILE_AUTO_ATTRIBUTE, EFFECTIVE_DIRECTIVE, EMBEDDED_REPO, EMPTY, EMPTY_HEADER, EXCLUDE_DIRECTIVE, EXPERIMENTS, EXPORT_CONTENTS, EXPORT_PACKAGE, EXPORT_SERVICE, EXTENSION, EXTENSION_DIRECTIVE, FAIL_OK, FILTER_DIRECTIVE, FIXUPMESSAGES, FIXUPMESSAGES_IS_DIRECTIVE, FIXUPMESSAGES_IS_ERROR, FIXUPMESSAGES_IS_IGNORE, FIXUPMESSAGES_IS_WARNING, FIXUPMESSAGES_REPLACE_DIRECTIVE, FIXUPMESSAGES_RESTRICT_DIRECTIVE, FRAGMENT_ATTACHMENT_DIRECTIVE, FRAGMENT_HOST, FROM_DIRECTIVE, headers, IGNORE_PACKAGE, IMPORT_DIRECTIVE, IMPORT_PACKAGE, IMPORT_PRIVATE, IMPORT_REFERENCE, IMPORT_SERVICE, importDirectives, INCLUDE, INCLUDE_DIRECTIVE, INCLUDE_RESOURCE, INCLUDERESOURCE, INVALIDFILENAMES, JAVAAGENT, JIDENTIFIER, KEYSTORE_LOCATION_DIRECTIVE, KEYSTORE_PASSWORD_DIRECTIVE, KEYSTORE_PROVIDER_DIRECTIVE, LANGUAGE_ATTRIBUTE, LAUNCHER_PLUGIN, LIB_DIRECTIVE, LINK_ATTRIBUTE, LITERAL_ATTRIBUTE, MAKE, MANDATORY_DIRECTIVE, MANIFEST, MANIFEST_NAME, META_PERSISTENCE, METAPACKAGES, METATYPE, NAME_ATTRIBUTE, NAMESECTION, NAMESPACE_STEM, NO_IMPORT_DIRECTIVE, NOANNOTATIONS, NOBUILDINCACHE, NOBUNDLES, NODEFAULTVERSION, NOEE, NOEXTRAHEADERS, NOJUNIT, NOJUNITOSGI, NOMANIFEST, NONE, NOUSES, options, OSNAME_ATTRIBUTE, OSVERSION_ATTRIBUTE, OUTPUT, OUTPUTMASK, PACKAGE, PACKAGE_JPM, PATH_DIRECTIVE, PEDANTIC, PLUGIN, PLUGINPATH, PLUGINPATH_SHA1_ATTR, PLUGINPATH_URL_ATTR, POM, PREPROCESSMATCHERS, PRESENCE_DIRECTIVE, PRIVATE_DIRECTIVE, PRIVATE_PACKAGE, PRIVATEPACKAGE, PROCESSOR_ATTRIBUTE, PROFILE, PROVIDE_CAPABILITY, PROVIDE_DIRECTIVE, PROVIDER_POLICY, PROVIDER_TYPE_DIRECTIVE, RELEASEREPO, REMOVE_ATTRIBUTE_DIRECTIVE, REMOVEHEADERS, REPORTNEWER, REPOSITORIES, REQUIRE_BND, REQUIRE_BUNDLE, REQUIRE_CAPABILITY, RESOLUTION_DIRECTIVE, RESOURCEONLY, RUNBUILDS, RUNBUNDLES, RUNEE, RUNENV, RUNFRAMEWORK, RUNFRAMEWORK_NONE, RUNFRAMEWORK_SERVICES, RUNFW, RUNJDB, RUNNOREFERENCES, RUNPATH, RUNPATH_LAUNCHER_DIRECTIVE, RUNPATH_MAIN_DIRECTIVE, RUNPROGRAMARGS, RUNPROPERTIES, RUNREPOS, RUNREQUIRE, RUNREQUIRES, RUNSTORAGE, RUNSYSTEMCAPABILITIES, RUNSYSTEMPACKAGES, RUNTIMEOUT, RUNTRACE, RUNVM, SAVEMANIFEST, SELECTION_FILTER_ATTRIBUTE, SERVICE_COMPONENT, SET_COMPONENT_DIRECTIVES, SET_COMPONENT_DIRECTIVES_1_1, SET_COMPONENT_DIRECTIVES_1_2, SIGN, SIGN_PASSWORD_DIRECTIVE, SIGNATURE_TEST, SINGLETON_DIRECTIVE, SIZE_ATTRIBUTE, SNAPSHOT, SOURCEPATH, SOURCES, SPECIFICATION_VERSION, SPLIT_PACKAGE_DIRECTIVE, STRICT, SUB, TESTCASES, TESTCONTINUOUS, TESTER_PLUGIN, TESTPACKAGES, TESTPATH, TESTREPORT, TESTSOURCES, TESTSUITES, TESTUNRESOLVED, TOOL, UNDERTEST, UPTO, USES_DIRECTIVE, USES_USES, VALID_PROPERTY_TYPES, VERBOSE, VERSION_ATTR_LATEST, VERSION_ATTR_PROJECT, VERSION_ATTR_SNAPSHOT, VERSION_ATTRIBUTE, VERSION_FILTER, VISIBILITY_DIRECTIVE, WAB, WABLIB
 
Constructor Summary
Verifier(aQute.bnd.osgi.Analyzer analyzer)
           
Verifier(aQute.bnd.osgi.Jar jar)
           
 
Method Summary
 void doNative(java.lang.String nc)
           
static boolean isArgument(java.lang.String arg)
          Verify the ARGUMENT_S syntax
static boolean isBsn(java.lang.String name)
           
static boolean isExtended(java.lang.String key)
          Verify the EXTENDED_S syntax
static boolean isFQN(java.lang.String name)
           
 boolean isFrombuilder()
           
static boolean isIdentifier(java.lang.String value)
           
static boolean isMember(java.lang.String value, java.lang.String[] matches)
           
static boolean isQuotedString(java.lang.String s)
          Verify the QUOTEDSTRING syntax
static boolean isVersion(java.lang.String version)
           
static boolean isVersionRange(java.lang.String range)
           
 void setFrombuilder(boolean frombuilder)
           
static java.lang.String validateFilter(java.lang.String value)
           
 void verify()
           
 boolean verifyActivationPolicy()
           
 boolean verifyActivationPolicy(java.lang.String policy)
           
 void verifyBundleClasspath()
           
 void verifyChecksums(boolean all)
          Verify the checksums from the manifest against the real thing.
 boolean verifyFilter(java.lang.String value)
           
static int verifyFilter(java.lang.String expr, int index)
           filter ::= ’(’ filter-comp ’)’ filter-comp ::= and | or | not | operation and ::= ’&’ filter-list or ::= ’|’ filter-list not ::= ’!’ filter filter-list ::= filter | filter filter-list operation ::= simple | present | substring simple ::= attr filter-type value filter-type ::= equal | approx | greater | less equal ::= ’=’ approx ::= ’˜=’ greater ::= ’>=’ less ::= ’<=’ present ::= attr ’=*’ substring ::= attr ’=’ initial any final inital ::= () | value any ::= ’*’ star-value star-value ::= () | value ’*’ star-value final ::= () | value value ::= <see text>
 void verifyMetaPersistence()
          Verify the Meta-Persistence header
 void verifyNative()
           
 
Methods inherited from class aQute.bnd.osgi.Processor
_basedir, _native_capability, _random, addBasicPlugin, addClose, addExtensions, addIncluded, addProperties, addProperties, append, appendPath, begin, beginHandleErrors, check, clear, close, customize, doAttrbutes, doIncludeFile, doIncludeFile, endHandleErrors, error, error, exception, exists, findHeader, findHeader, forceRefresh, formatArrays, get, get, getBase, getClass, getDuration, getErrors, getExecutor, getFile, getFile, getFlattenedProperties, getFlattenedProperties, getHeader, getHeader, getIncluded, getInfo, getInfo, getLine, getLoader, getLocation, getMacroDomains, getManifestAsProperties, getParent, getPlugin, getPlugins, getPlugins, getProperties, getPropertiesFile, getProperty, getProperty, getPropertyKeys, getReplacer, getTop, getUnprocessedProperty, getWarnings, is, isDuplicate, isExceptions, isFailOk, isMissingPlugin, isOk, isPedantic, isPerfect, isTrace, isTrue, iterator, join, join, join, join, join, keySet, lastModified, loadPlugins, loadProperties, makePrintable, merge, mergeProperties, mergeProperties, newHashMap, newList, newList, newMap, newMap, newSet, newSet, normalize, normalize, parseHeader, parseHeader, printClause, printClauses, printClauses, printExceptionSummary, printStackTrace, progress, progress, propertiesChanged, quote, read, refresh, removeBasicPlugin, removeClose, removeDuplicateMarker, replaceAll, replaceExtension, report, report, set, setBase, setExceptions, setFileMustExist, setForceLocal, setParent, setPedantic, setProperties, setProperties, setProperties, setProperty, setTrace, setTypeSpecificPlugins, signal, since, split, split, split, toString, trace, unsetProperty, updateModified, use, warning
 
Methods inherited from class aQute.bnd.osgi.Domain
domain, domain, domain, domain, getBundleActivator, getBundleClasspath, getBundleClassPath, getBundleRequiredExecutionEnvironment, getBundleSymbolicName, getBundleVersion, getDynamicImportPackage, getExportContents, getExportPackage, getFragmentHost, getIcon, getImportPackage, getIncludeResource, getParameters, getParameters, getParameters, getParameters, getPrivatePackage, getProvideCapability, getRequireBundle, getRequireCapability, isSources, setBundleActivator, setBundleClasspath, setBundleRequiredExecutionEnvironment, setBundleSymbolicName, setBundleVersion, setBundleVersion, setConditionalPackage, setExportPackage, setFailOk, setImportPackage, setIncludeResource, setPrivatePackage, setSources, setTranslation, translate, translate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ReservedFileNames

public static final java.util.regex.Pattern ReservedFileNames

SYMBOLICNAME_STRING

public static final java.lang.String SYMBOLICNAME_STRING
See Also:
Constant Field Values

SYMBOLICNAME

public static final java.util.regex.Pattern SYMBOLICNAME

VERSION_STRING

public static final java.lang.String VERSION_STRING
See Also:
Constant Field Values

VERSION

public static final java.util.regex.Pattern VERSION

VERSIONRANGE

public static final java.util.regex.Pattern VERSIONRANGE

ISO639

public static final java.util.regex.Pattern ISO639

HEADER_PATTERN

public static final java.util.regex.Pattern HEADER_PATTERN

TOKEN

public static final java.util.regex.Pattern TOKEN

NUMBERPATTERN

public static final java.util.regex.Pattern NUMBERPATTERN

PACKAGEPATTERN

public static final java.util.regex.Pattern PACKAGEPATTERN

MULTIPACKAGEPATTERN

public static final java.util.regex.Pattern MULTIPACKAGEPATTERN

PATHPATTERN

public static final java.util.regex.Pattern PATHPATTERN

FQNPATTERN

public static final java.util.regex.Pattern FQNPATTERN

URLPATTERN

public static final java.util.regex.Pattern URLPATTERN

ANYPATTERN

public static final java.util.regex.Pattern ANYPATTERN

FILTERPATTERN

public static final java.util.regex.Pattern FILTERPATTERN

TRUEORFALSEPATTERN

public static final java.util.regex.Pattern TRUEORFALSEPATTERN

WILDCARDNAMEPATTERN

public static final java.util.regex.Pattern WILDCARDNAMEPATTERN

BUNDLE_ACTIVATIONPOLICYPATTERN

public static final java.util.regex.Pattern BUNDLE_ACTIVATIONPOLICYPATTERN

VERSION_S

public static final java.lang.String VERSION_S
See Also:
Constant Field Values

VERSION_P

public static final java.util.regex.Pattern VERSION_P

VERSION_RANGE_S

public static final java.lang.String VERSION_RANGE_S
See Also:
Constant Field Values

VERSIONRANGE_P

public static final java.util.regex.Pattern VERSIONRANGE_P

EXTENDED_S

public static java.lang.String EXTENDED_S

EXTENDED_P

public static java.util.regex.Pattern EXTENDED_P

QUOTEDSTRING

public static java.lang.String QUOTEDSTRING

QUOTEDSTRING_P

public static java.util.regex.Pattern QUOTEDSTRING_P

ARGUMENT_S

public static java.lang.String ARGUMENT_S

ARGUMENT_P

public static java.util.regex.Pattern ARGUMENT_P

EES

public static final java.lang.String[] EES

OSNAMES

public static final java.lang.String[] OSNAMES

PROCESSORNAMES

public static final java.lang.String[] PROCESSORNAMES
Constructor Detail

Verifier

public Verifier(aQute.bnd.osgi.Jar jar)
         throws java.lang.Exception
Throws:
java.lang.Exception

Verifier

public Verifier(aQute.bnd.osgi.Analyzer analyzer)
         throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

verifyNative

public void verifyNative()

doNative

public void doNative(java.lang.String nc)

verifyFilter

public boolean verifyFilter(java.lang.String value)

validateFilter

public static java.lang.String validateFilter(java.lang.String value)

verify

public void verify()
            throws java.lang.Exception
Throws:
java.lang.Exception

verifyActivationPolicy

public boolean verifyActivationPolicy()

verifyActivationPolicy

public boolean verifyActivationPolicy(java.lang.String policy)

verifyBundleClasspath

public void verifyBundleClasspath()

isBsn

public static boolean isBsn(java.lang.String name)
Parameters:
name -
Returns:

verifyFilter

public static int verifyFilter(java.lang.String expr,
                               int index)
         filter ::= ’(’ filter-comp ’)’
         filter-comp ::= and | or | not | operation
         and ::= ’&’ filter-list
         or ::= ’|’ filter-list
         not ::= ’!’ filter
         filter-list ::= filter | filter filter-list
         operation ::= simple | present | substring
         simple ::= attr filter-type value
         filter-type ::= equal | approx | greater | less
         equal ::= ’=’
         approx ::= ’˜=’
         greater ::= ’>=’
         less ::= ’<=’
         present ::= attr ’=*’
         substring ::= attr ’=’ initial any final
         inital ::= () | value
         any ::= ’*’ star-value
         star-value ::= () | value ’*’ star-value
         final ::= () | value
         value ::= <see text>
 

Parameters:
expr -
index -
Returns:

isVersion

public static boolean isVersion(java.lang.String version)

isIdentifier

public static boolean isIdentifier(java.lang.String value)

isMember

public static boolean isMember(java.lang.String value,
                               java.lang.String[] matches)

isFQN

public static boolean isFQN(java.lang.String name)

verifyChecksums

public void verifyChecksums(boolean all)
                     throws java.lang.Exception
Verify the checksums from the manifest against the real thing.

Parameters:
all - if each resources must be digested
Throws:
java.lang.Exception

isExtended

public static boolean isExtended(java.lang.String key)
Verify the EXTENDED_S syntax

Parameters:
key -
Returns:

isArgument

public static boolean isArgument(java.lang.String arg)
Verify the ARGUMENT_S syntax

Parameters:
key -
Returns:

isQuotedString

public static boolean isQuotedString(java.lang.String s)
Verify the QUOTEDSTRING syntax

Parameters:
key -
Returns:

isVersionRange

public static boolean isVersionRange(java.lang.String range)

verifyMetaPersistence

public void verifyMetaPersistence()
                           throws java.lang.Exception
Verify the Meta-Persistence header

Throws:
java.lang.Exception

isFrombuilder

public boolean isFrombuilder()
Returns:
the frombuilder

setFrombuilder

public void setFrombuilder(boolean frombuilder)
Parameters:
frombuilder - the frombuilder to set


Copyright © 2006-2014 The Apache Software Foundation. All Rights Reserved.