Author: cmarcum Date: Sat Feb 27 04:23:16 2016 New Revision: 1732605 URL: http://svn.apache.org/viewvc?rev=1732605&view=rev Log: #i126770# added UnoExtension
Added: openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/UnoExtension.groovy Added: openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/UnoExtension.groovy URL: http://svn.apache.org/viewvc/openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/UnoExtension.groovy?rev=1732605&view=auto ============================================================================== --- openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/UnoExtension.groovy (added) +++ openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/UnoExtension.groovy Sat Feb 27 04:23:16 2016 @@ -0,0 +1,84 @@ +/* + * ************************************************************* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + *************************************************************/ + +package org.openoffice.guno + +/** + * + * @author Carl Marcum - CodeBuilders.net + */ + +import com.sun.star.beans.XPropertySet +import com.sun.star.frame.XComponentLoader +import com.sun.star.lang.XMultiComponentFactory +import com.sun.star.uno.UnoRuntime +import com.sun.star.uno.XComponentContext + +class UnoExtension { + + /** + * Returns the component loader. + * @return XComponentLoader interface. + */ + static XComponentLoader getComponentLoader(final XComponentContext self) { + + XMultiComponentFactory mxRemoteServiceManager = null + XComponentLoader aLoader = null + + mxRemoteServiceManager = self.getServiceManager() + aLoader = UnoRuntime.queryInterface( + XComponentLoader.class, mxRemoteServiceManager.createInstanceWithContext( + "com.sun.star.frame.Desktop", self)) + + return aLoader + } + + /** + * Returns the queried object. + * @param clazz the object type to return. + * @return Object the requested object. + */ + static Object uno(final Object self, Class clazz) { + UnoRuntime.queryInterface(clazz, self) + } + + /** + * Gets the value of a property. + * @param name the property name to return the value of. + * @return Object the property value. + */ + static Object getAt(final XPropertySet self, String name) { + self.getPropertyValue(name) + } + + /** + * Sets the value of a property. + * @param name the property name. + * @param value the value to set. + */ + static void putAt(final XPropertySet self, String name, Object value) { + self.setPropertyValue(name, value) + } + + + +}