Class BndEditModel

java.lang.Object
aQute.bnd.build.model.BndEditModel

public class BndEditModel extends Object
A model for a Bnd file. In the first iteration, use a simple Properties object; this will need to be enhanced to additionally record formatting, e.g. line breaks and empty lines, and comments.
  • Field Details

  • Constructor Details

  • Method Details

    • loadFrom

      public void loadFrom(IDocument document) throws IOException
      Throws:
      IOException
    • toEscaped

      public InputStream toEscaped(String text) throws IOException
      Throws:
      IOException
    • toAsciiStream

      public InputStream toAsciiStream(IDocument doc) throws IOException
      Throws:
      IOException
    • loadFrom

      public void loadFrom(File file) throws IOException
      Throws:
      IOException
    • loadFrom

      public void loadFrom(InputStream inputStream) throws IOException
      Throws:
      IOException
    • saveChangesTo

      public void saveChangesTo(IDocument document)
    • findEntry

      private static IRegion findEntry(IDocument document, String name) throws Exception
      Throws:
      Exception
    • updateDocument

      private static void updateDocument(IDocument document, String name, String value)
    • getAllPropertyNames

      public List<String> getAllPropertyNames()
    • lookupConverter

      public Converter<Object,String> lookupConverter(String propertyName)
    • lookupFormatter

      public Converter<String,Object> lookupFormatter(String propertyName)
    • genericGet

      public Object genericGet(String propertyName)
    • genericSet

      public void genericSet(String propertyName, Object value)
    • getBundleLicense

      public String getBundleLicense()
    • setBundleLicense

      public void setBundleLicense(String bundleLicense)
    • getBundleCategory

      public String getBundleCategory()
    • setBundleCategory

      public void setBundleCategory(String bundleCategory)
    • getBundleName

      public String getBundleName()
    • setBundleName

      public void setBundleName(String bundleName)
    • getBundleDescription

      public String getBundleDescription()
    • setBundleDescription

      public void setBundleDescription(String bundleDescription)
    • getBundleCopyright

      public String getBundleCopyright()
    • setBundleCopyright

      public void setBundleCopyright(String bundleCopyright)
    • getBundleUpdateLocation

      public String getBundleUpdateLocation()
    • setBundleUpdateLocation

      public void setBundleUpdateLocation(String bundleUpdateLocation)
    • getBundleVendor

      public String getBundleVendor()
    • setBundleVendor

      public void setBundleVendor(String bundleVendor)
    • getBundleContactAddress

      public String getBundleContactAddress()
    • setBundleContactAddress

      public void setBundleContactAddress(String bundleContactAddress)
    • getBundleDocUrl

      public String getBundleDocUrl()
    • setBundleDocUrl

      public void setBundleDocUrl(String bundleDocUrl)
    • getBundleSymbolicName

      public String getBundleSymbolicName()
    • setBundleSymbolicName

      public void setBundleSymbolicName(String bundleSymbolicName)
    • getBundleVersionString

      public String getBundleVersionString()
    • setBundleVersion

      public void setBundleVersion(String bundleVersion)
    • getBundleActivator

      public String getBundleActivator()
    • setBundleActivator

      public void setBundleActivator(String bundleActivator)
    • getOutputFile

      public String getOutputFile()
    • setOutputFile

      public void setOutputFile(String name)
    • isIncludeSources

      public boolean isIncludeSources()
    • setIncludeSources

      public void setIncludeSources(boolean includeSources)
    • getPrivatePackages

      public List<String> getPrivatePackages()
    • setPrivatePackages

      public void setPrivatePackages(List<String> newPackages)
    • setEntries

      private void setEntries(List<? extends String> packages, String key)
    • removeEntries

      private void removeEntries(String key)
    • addPrivatePackage

      public void addPrivatePackage(String packageName)
    • hasPrivatePackageInstruction

      private boolean hasPrivatePackageInstruction()
    • getEntries

      private <E> List<String> getEntries(String instruction, Converter<? extends E,? super String> converter)
    • getSystemPackages

      public List<ExportedPackage> getSystemPackages()
    • setSystemPackages

      public void setSystemPackages(List<? extends ExportedPackage> packages)
    • getClassPath

      public List<String> getClassPath()
    • setClassPath

      public void setClassPath(List<? extends String> classPath)
    • getExportedPackages

      public List<ExportedPackage> getExportedPackages()
    • setExportedPackages

      public void setExportedPackages(List<? extends ExportedPackage> exports)
    • addExportedPackage

      public void addExportedPackage(ExportedPackage export)
    • getDSAnnotationPatterns

      public List<String> getDSAnnotationPatterns()
    • setDSAnnotationPatterns

      public void setDSAnnotationPatterns(List<? extends String> patterns)
    • getServiceComponents

      public List<ServiceComponent> getServiceComponents()
    • setServiceComponents

      public void setServiceComponents(List<? extends ServiceComponent> components)
    • getImportPatterns

      public List<ImportPattern> getImportPatterns()
    • setImportPatterns

      public void setImportPatterns(List<? extends ImportPattern> patterns)
    • getBuildPath

      public List<VersionedClause> getBuildPath()
    • getTestPath

      public List<VersionedClause> getTestPath()
    • setBuildPath

      public void setBuildPath(List<? extends VersionedClause> paths)
    • addPath

      public void addPath(VersionedClause versionedClause, String header)
    • addPath

      public void addPath(BundleId bundleId, String header)
    • setTestPath

      public void setTestPath(List<? extends VersionedClause> paths)
    • getBuildPackages

      @Deprecated public List<VersionedClause> getBuildPackages()
      Deprecated.
    • setBuildPackages

      @Deprecated public void setBuildPackages(List<? extends VersionedClause> paths)
      Deprecated.
    • getRunBundles

      public List<VersionedClause> getRunBundles()
    • setRunBundles

      public void setRunBundles(List<? extends VersionedClause> paths)
    • isIncludedPackage

      public boolean isIncludedPackage(String packageName)
    • getSubBndFiles

      public List<String> getSubBndFiles()
    • setSubBndFiles

      public void setSubBndFiles(List<String> subBndFiles)
    • getRunProperties

      public Map<String,String> getRunProperties()
    • setRunProperties

      public void setRunProperties(Map<String,String> props)
    • getRunVMArgs

      public String getRunVMArgs()
    • setRunVMArgs

      public void setRunVMArgs(String args)
    • getRunProgramArgs

      public String getRunProgramArgs()
    • setRunProgramArgs

      public void setRunProgramArgs(String args)
    • getTestSuites

      public List<String> getTestSuites()
    • setTestSuites

      public void setTestSuites(List<String> suites)
    • getPlugins

      public List<HeaderClause> getPlugins()
    • setPlugins

      public void setPlugins(List<HeaderClause> plugins)
    • getPluginPath

      public List<String> getPluginPath()
    • setPluginPath

      public void setPluginPath(List<String> pluginPath)
    • getDistro

      public List<String> getDistro()
    • setDistro

      public void setDistro(List<String> distros)
    • getRunRepos

      public List<String> getRunRepos()
    • setRunRepos

      public void setRunRepos(List<String> repos)
    • getRunFramework

      public String getRunFramework()
    • getRunFw

      public String getRunFw()
    • getEE

      public EE getEE()
    • setEE

      public void setEE(EE ee)
    • setRunFramework

      public void setRunFramework(String clause)
    • setRunFw

      public void setRunFw(String clause)
    • getRunRequires

      public List<org.osgi.resource.Requirement> getRunRequires()
    • setRunRequires

      public void setRunRequires(List<org.osgi.resource.Requirement> requires)
    • getRunBlacklist

      public List<org.osgi.resource.Requirement> getRunBlacklist()
    • setRunBlacklist

      public void setRunBlacklist(List<org.osgi.resource.Requirement> requires)
    • getStandaloneLinks

      public List<HeaderClause> getStandaloneLinks()
    • setStandaloneLinks

      public void setStandaloneLinks(List<HeaderClause> headers)
    • getIgnoreStandalone

      public List<HeaderClause> getIgnoreStandalone()
    • setIgnoreStandalone

      public void setIgnoreStandalone(List<HeaderClause> headers)
    • doGetObject

      private <R> R doGetObject(String name, Converter<? extends R,? super String> converter)
    • doRemoveObject

      private <T> void doRemoveObject(String name, T oldValue, T newValue, Converter<String,? super T> formatter)
    • doSetObject

      private <T> void doSetObject(String name, T oldValue, T newValue, Converter<String,? super T> formatter)
    • isProjectFile

      public boolean isProjectFile()
    • isBndrun

      public boolean isBndrun()
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
    • addPropertyChangeListener

      public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
    • removePropertyChangeListener

      public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
    • setBndResource

      public void setBndResource(File bndResource)
    • getBndResource

      public File getBndResource()
    • getBndResourceName

      public String getBndResourceName()
    • setBndResourceName

      public void setBndResourceName(String bndResourceName)
    • getBundleBlueprint

      public List<HeaderClause> getBundleBlueprint()
    • setBundleBlueprint

      public void setBundleBlueprint(List<HeaderClause> bundleBlueprint)
    • addBundleBlueprint

      public void addBundleBlueprint(String location)
    • getIncludeResource

      public List<String> getIncludeResource()
    • setIncludeResource

      public void setIncludeResource(List<String> newEntries)
    • addIncludeResource

      public void addIncludeResource(String resource)
    • hasIncludeResourceInstruction

      private boolean hasIncludeResourceInstruction()
    • setProject

      public void setProject(Project project)
    • getProject

      public Project getProject()
    • getWorkspace

      public Workspace getWorkspace()
    • setWorkspace

      public void setWorkspace(Workspace workspace)
    • getGenericString

      public String getGenericString(String name)
    • setGenericString

      public void setGenericString(String name, String value)
    • getProperties

      public Processor getProperties() throws Exception
      Return a processor for this model. This processor is based on the parent project or the bndrun file. It will contain the properties of the project file and the changes from the model.
      Returns:
      a processor that reflects the actual project or bndrun file setup
      Throws:
      Exception
    • cleanup

      private String cleanup(String value)
    • disjunction

      private static <E> List<E> disjunction(Collection<E> collection, Collection<?> remove)
    • getDocumentChanges

      public Map<String,String> getDocumentChanges()
      Return the saved changes in document format.
    • saveChanges

      public void saveChanges() throws IOException
      If this BndEditModel was created with a project then this method will save the changes in the document and will store them in the associated file.
      Throws:
      IOException
    • store

      public static void store(IDocument document, File file) throws IOException
      Throws:
      IOException
    • getResolveMode

      public ResolutionInstructions.ResolveMode getResolveMode()
    • setResolveMode

      public void setResolveMode(ResolutionInstructions.ResolveMode resolveMode)
    • isDirty

      public boolean isDirty()
      Returns:
      true if there is a discrepancy between the project's file and the document
    • setDirty

      public void setDirty(boolean isDirty)
    • load

      public void load() throws IOException
      Throws:
      IOException
    • isCnf

      public boolean isCnf()
      If this is on the cnf project
      Returns:
      true if it is the cnf project
    • format

      public static <T> String format(String header, String input)
      Use the built in formatters to take an unformatted header and turn it into a formatted header useful in the editor, for example escaped newlines.
      Type Parameters:
      T - the intermediate type, doesn't matter
      Parameters:
      header - the name of the instruction
      input - the source string
      Returns:
      the input or a formatted input if there is converter
    • add

      public <T extends Collection<Object>> String add(String header, String toAdd)