LibreOffice5(104)Packageのサービスとインターフェイスの一覧

2017-12-08

旧ブログ

t f B! P L
ドキュメントをPackageとして取得したときのサービスとインターフェイスの一覧です。LibreOffice5(102)ストレージのサービスとインターフェイスの一覧のストレージと違ってpackage[key1][key2]でも正しく動作します。

前の関連記事:LibreOffice5(103)ファイルシステムストレージのサービスとインターフェイスの一覧


Packageのサービスとインターフェイスの一覧

def macro():
 ctx = XSCRIPTCONTEXT.getComponentContext()  # コンポーネントコンテクストの取得。
 smgr = ctx.getServiceManager()  # サービスマネージャーの取得。 
 tcu = smgr.createInstanceWithContext("pq.Tcu", ctx)  # サービス名か実装名でインスタンス化。
 package = smgr.createInstanceWithContext("com.sun.star.packages.Package", ctx)  # Package
 tcu.wtree(package)
ドキュメントのfileurlを引数にしてpackage.initialize((doc_fileurl,))としても同じ結果になりました。


├─.packages.Package
│   ├─.container.XHierarchicalNameAccess
│   │         any  getByHierarchicalName( [in] string aName
│   │                          ) raises ( .container.NoSuchElementException)
│   │     boolean  hasByHierarchicalName( [in] string aName)
│   ├─.lang.XInitialization
│   │     void  initialize( [in] [any] aArguments
│   │            ) raises ( .uno.Exception)
│   ├─.lang.XSingleServiceFactory
│   │     .uno.XInterface  createInstance()
│   │     .uno.XInterface  createInstanceWithArguments( [in] [any] aArguments
│   │                                        ) raises ( .uno.Exception)
│   └─.util.XChangesBatch
│                    void  commitChanges()
│        .util.ChangesSet  getPendingChanges()
│                 boolean  hasPendingChanges()
└─.beans.XPropertySet
                        void  addPropertyChangeListener( [in]                         string aPropertyName,
                                                         [in] .beans.XPropertyChangeListener xListener
                                              ) raises ( .lang.WrappedTargetException,
                                                         .beans.UnknownPropertyException)
                        void  addVetoableChangeListener( [in]                         string PropertyName,
                                                         [in] .beans.XVetoableChangeListener aListener
                                              ) raises ( .lang.WrappedTargetException,
                                                         .beans.UnknownPropertyException)
     .beans.XPropertySetInfo  getPropertySetInfo()
                         any  getPropertyValue( [in] string PropertyName
                                     ) raises ( .lang.WrappedTargetException,
                                                .beans.UnknownPropertyException)
                        void  removePropertyChangeListener( [in]                         string aPropertyName,
                                                            [in] .beans.XPropertyChangeListener aListener
                                                 ) raises ( .lang.WrappedTargetException,
                                                            .beans.UnknownPropertyException)
                        void  removeVetoableChangeListener( [in]                         string PropertyName,
                                                            [in] .beans.XVetoableChangeListener aListener
                                                 ) raises ( .lang.WrappedTargetException,
                                                            .beans.UnknownPropertyException)
                        void  setPropertyValue( [in] string aPropertyName,
                                                [in]    any aValue
                                     ) raises ( .lang.WrappedTargetException,
                                                .lang.IllegalArgumentException,
                                                .beans.PropertyVetoException,
                                                .beans.UnknownPropertyException)

PackageFolderのサービスとインターフェイスの一覧

def macro():
 ctx = XSCRIPTCONTEXT.getComponentContext()  # コンポーネントコンテクストの取得。
 smgr = ctx.getServiceManager()  # サービスマネージャーの取得。 
 tcu = smgr.createInstanceWithContext("pq.Tcu", ctx)  # サービス名か実装名でインスタンス化。
 package = smgr.createInstanceWithContext("com.sun.star.packages.Package", ctx)  # Package
 doc = XSCRIPTCONTEXT.getDocument()  # ドキュメント。
 package.initialize((doc.getURL(),))  # ドキュメントのfileurlを渡す
 docroot = package.getByHierarchicalName("/")  # フォルダのときは/で終わらす。ex. /Scripts/pythonは不可。/Scripts/pythonは可。   
 tcu.wtree(docroot)
ドキュメントのfileurlでそれを引数にしてPackageをinitialize()しています。

保存していないドキュメントにはfileurlはないので、このマクロはディスク上に保存したドキュメントに対してしか実行できません。

└─.packages.PackageFolder
     ├─.beans.XPropertySet
     │                         void  addPropertyChangeListener( [in]                         string aPropertyName,
     │                                                          [in] .beans.XPropertyChangeListener xListener
     │                                               ) raises ( .lang.WrappedTargetException,
     │                                                          .beans.UnknownPropertyException)
     │                         void  addVetoableChangeListener( [in]                         string PropertyName,
     │                                                          [in] .beans.XVetoableChangeListener aListener
     │                                               ) raises ( .lang.WrappedTargetException,
     │                                                          .beans.UnknownPropertyException)
     │      .beans.XPropertySetInfo  getPropertySetInfo()
     │                          any  getPropertyValue( [in] string PropertyName
     │                                      ) raises ( .lang.WrappedTargetException,
     │                                                 .beans.UnknownPropertyException)
     │                         void  removePropertyChangeListener( [in]                         string aPropertyName,
     │                                                             [in] .beans.XPropertyChangeListener aListener
     │                                                  ) raises ( .lang.WrappedTargetException,
     │                                                             .beans.UnknownPropertyException)
     │                         void  removeVetoableChangeListener( [in]                         string PropertyName,
     │                                                             [in] .beans.XVetoableChangeListener aListener
     │                                                  ) raises ( .lang.WrappedTargetException,
     │                                                             .beans.UnknownPropertyException)
     │                         void  setPropertyValue( [in] string aPropertyName,
     │                                                 [in]    any aValue
     │                                      ) raises ( .lang.WrappedTargetException,
     │                                                 .lang.IllegalArgumentException,
     │                                                 .beans.PropertyVetoException,
     │                                                 .beans.UnknownPropertyException)
     ├─.container.XChild
     │      .uno.XInterface  getParent()
     │                 void  setParent( [in] .uno.XInterface Parent
     │                       ) raises ( .lang.NoSupportException)
     ├─.container.XEnumerationAccess
     │   │   .container.XEnumeration  createEnumeration()
     │   └─.container.XElementAccess
     │            type  getElementType()
     │         boolean  hasElements()
     ├─.container.XNameContainer
     │   │   void  insertByName( [in] string aName,
     │   │                       [in]    any aElement
     │   │            ) raises ( .lang.WrappedTargetException,
     │   │                       .container.ElementExistException,
     │   │                       .lang.IllegalArgumentException)
     │   │   void  removeByName( [in] string Name
     │   │            ) raises ( .lang.WrappedTargetException,
     │   │                       .container.NoSuchElementException)
     │   └─.container.XNameReplace
     │      │   void  replaceByName( [in] string aName,
     │      │                        [in]    any aElement
     │      │             ) raises ( .lang.WrappedTargetException,
     │      │                        .container.NoSuchElementException,
     │      │                        .lang.IllegalArgumentException)
     │      └─.container.XNameAccess
     │                 any  getByName( [in] string aName
     │                      ) raises ( .lang.WrappedTargetException,
     │                                 .container.NoSuchElementException)
     │            [string]  getElementNames()
     │             boolean  hasByName( [in] string aName)
     └─.container.XNamed
           string  getName()
             void  setName( [in] string aName)

PackageStreamのサービスとインターフェイスの一覧

def macro():
 ctx = XSCRIPTCONTEXT.getComponentContext()  # コンポーネントコンテクストの取得。
 smgr = ctx.getServiceManager()  # サービスマネージャーの取得。 
 tcu = smgr.createInstanceWithContext("pq.Tcu", ctx)  # サービス名か実装名でインスタンス化。
 doc = XSCRIPTCONTEXT.getDocument()  # ドキュメント。
 package = smgr.createInstanceWithArgumentsAndContext("com.sun.star.packages.Package", (doc.getURL(),), ctx)  # Package
 packagestream = package.getByHierarchicalName("content.xml")  # "/content.xml"は引数には不可。  
 tcu.wtree(packagestream)
PackageのgetByHierarchicalName()メソッドにファイルを渡すとPackageStreamが返ってきます。

このマクロもディスク上にあるドキュメントに対してしか実行できません。

Packageのinitialize()メソッドに代わって、サービスマネジャーのcreateInstanceWithArgumentsAndContext()でインスタンス化するときに引数を渡しています。

├─.packages.PackageStream
│   ├─.beans.XPropertySet
│   │                        void  addPropertyChangeListener( [in]                         string aPropertyName,
│   │                                                         [in] .beans.XPropertyChangeListener xListener
│   │                                              ) raises ( .lang.WrappedTargetException,
│   │                                                         .beans.UnknownPropertyException)
│   │                        void  addVetoableChangeListener( [in]                         string PropertyName,
│   │                                                         [in] .beans.XVetoableChangeListener aListener
│   │                                              ) raises ( .lang.WrappedTargetException,
│   │                                                         .beans.UnknownPropertyException)
│   │     .beans.XPropertySetInfo  getPropertySetInfo()
│   │                         any  getPropertyValue( [in] string PropertyName
│   │                                     ) raises ( .lang.WrappedTargetException,
│   │                                                .beans.UnknownPropertyException)
│   │                        void  removePropertyChangeListener( [in]                         string aPropertyName,
│   │                                                            [in] .beans.XPropertyChangeListener aListener
│   │                                                 ) raises ( .lang.WrappedTargetException,
│   │                                                            .beans.UnknownPropertyException)
│   │                        void  removeVetoableChangeListener( [in]                         string PropertyName,
│   │                                                            [in] .beans.XVetoableChangeListener aListener
│   │                                                 ) raises ( .lang.WrappedTargetException,
│   │                                                            .beans.UnknownPropertyException)
│   │                        void  setPropertyValue( [in] string aPropertyName,
│   │                                                [in]    any aValue
│   │                                     ) raises ( .lang.WrappedTargetException,
│   │                                                .lang.IllegalArgumentException,
│   │                                                .beans.PropertyVetoException,
│   │                                                .beans.UnknownPropertyException)
│   ├─.container.XChild
│   │     .uno.XInterface  getParent()
│   │                void  setParent( [in] .uno.XInterface Parent
│   │                      ) raises ( .lang.NoSupportException)
│   ├─.container.XNamed
│   │     string  getName()
│   │       void  setName( [in] string aName)
│   └─.io.XActiveDataSink
│        .io.XInputStream  getInputStream()
│                    void  setInputStream( [in] .io.XInputStream aStream)
└─.packages.XDataSinkEncrSupport
     .io.XInputStream  getDataStream()
     .io.XInputStream  getPlainRawStream()
     .io.XInputStream  getRawStream()
                 void  setDataStream( [in] .io.XInputStream aStream
                           ) raises ( .io.IOException)
                 void  setRawStream( [in] .io.XInputStream aStream
                          ) raises ( .io.IOException,
                                     .packages.NoRawFormatException,
                                     .packages.EncryptionNotAllowedException)

次の関連記事:LibreOffice5(105)埋め込みマクロフォルダを取り出すスクリプト

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ