/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* 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 .
*/
package test.cppuhelper.propertysetmixin.comp;
import com.sun.star.beans.Ambiguous;
import com.sun.star.beans.Defaulted;
import com.sun.star.beans.Optional;
import com.sun.star.beans.UnknownPropertyException;
import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.PropertyVetoException;
import com.sun.star.beans.XFastPropertySet;
import com.sun.star.beans.XPropertyAccess;
import com.sun.star.beans.XPropertyChangeListener;
import com.sun.star.beans.XPropertySet;
import com.sun.star.beans.XPropertySetInfo;
import com.sun.star.beans.XVetoableChangeListener;
import com.sun.star.comp.loader.FactoryHelper;
import com.sun.star.lang.WrappedTargetException;
import com.sun.star.lang.XComponent;
import com.sun.star.lang.XEventListener;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.lang.XSingleServiceFactory;
import com.sun.star.lib.uno.helper.WeakBase;
import com.sun.star.lib.uno.helper.PropertySetMixin;
import com.sun.star.registry.XRegistryKey;
import com.sun.star.uno.Any;
import com.sun.star.uno.IQueryInterface;
import com.sun.star.uno.Type;
import com.sun.star.uno.XComponentContext;
import test.cppuhelper.propertysetmixin.XSupplier;
import test.cppuhelper.propertysetmixin.XTest3;
public final class JavaSupplier extends WeakBase implements XSupplier {
public JavaSupplier(XComponentContext context) {
this .context = context;
}
public XComponent getEmpty1() { return new Empty1(); }
public XComponent getEmpty2() { return new Empty2(); }
public XTest3 getFull() { return new Full(); }
public static XSingleServiceFactory __getServiceFactory(
String implName, XMultiServiceFactory multiFactory, XRegistryKey regKey)
{
return implName.equals(implementationName)
? FactoryHelper.getServiceFactory(
JavaSupplier.class , serviceName, multiFactory, regKey)
: null ;
}
private static final String implementationName
= JavaSupplier.class .getName();
private static final String serviceName
= "test.cppuhelper.propertysetmixin.JavaSupplier" ;
private final class Empty1 extends WeakBase implements XComponent {
public Empty1() {}
public void dispose() {
prop.dispose();
}
public void addEventListener(XEventListener listener) {}
public void removeEventListener(XEventListener listener) {}
private final PropertySetMixin prop = new PropertySetMixin(
context, this , new Type(XComponent.class ), null );
}
private final class Empty2 extends WeakBase
implements XComponent, XPropertySet, XFastPropertySet, XPropertyAccess
{
public Empty2() {}
public void dispose() {
prop.dispose();
}
public void addEventListener(XEventListener listener) {}
public void removeEventListener(XEventListener listener) {}
public com.sun.star.beans.XPropertySetInfo getPropertySetInfo() {
return prop.getPropertySetInfo();
}
public void setPropertyValue(String propertyName, Object value)
throws UnknownPropertyException, PropertyVetoException,
com.sun.star.lang.IllegalArgumentException, WrappedTargetException
{
prop.setPropertyValue(propertyName, value);
}
public Object getPropertyValue(String propertyName)
throws UnknownPropertyException, WrappedTargetException
{
return prop.getPropertyValue(propertyName);
}
public void addPropertyChangeListener(
String propertyName, XPropertyChangeListener listener)
throws UnknownPropertyException, WrappedTargetException
{
prop.addPropertyChangeListener(propertyName, listener);
}
public void removePropertyChangeListener(
String propertyName, XPropertyChangeListener listener)
throws UnknownPropertyException, WrappedTargetException
{
prop.removePropertyChangeListener(propertyName, listener);
}
public void addVetoableChangeListener(
String propertyName, XVetoableChangeListener listener)
throws UnknownPropertyException, WrappedTargetException
{
prop.addVetoableChangeListener(propertyName, listener);
}
public void removeVetoableChangeListener(
String propertyName, XVetoableChangeListener listener)
throws UnknownPropertyException, WrappedTargetException
{
prop.removeVetoableChangeListener(propertyName, listener);
}
public void setFastPropertyValue(int handle, Object value)
throws UnknownPropertyException, PropertyVetoException,
com.sun.star.lang.IllegalArgumentException, WrappedTargetException
{
prop.setFastPropertyValue(handle, value);
}
public Object getFastPropertyValue(int handle)
throws UnknownPropertyException, WrappedTargetException
{
return prop.getFastPropertyValue(handle);
}
public PropertyValue[] getPropertyValues() {
return prop.getPropertyValues();
}
public void setPropertyValues(PropertyValue[] props)
throws UnknownPropertyException, PropertyVetoException,
com.sun.star.lang.IllegalArgumentException, WrappedTargetException
{
prop.setPropertyValues(props);
}
private final PropertySetMixin prop = new PropertySetMixin(
context, this , new Type(XComponent.class ), null );
}
private final class Full extends WeakBase
implements XTest3, XPropertySet, XFastPropertySet, XPropertyAccess
{
public Full() {}
public synchronized int getFirst() {
return a1;
}
public void setFirst(int value) {
prop.prepareSet("First" , null );
synchronized (this ) {
a1 = value;
}
}
public synchronized Ambiguous getSecond()
throws UnknownPropertyException
{
return a2;
}
public void setSecond(Ambiguous value)
throws PropertyVetoException, UnknownPropertyException
{
PropertySetMixin.BoundListeners l
= new PropertySetMixin.BoundListeners();
prop.prepareSet(
"Second" , Any.VOID ,
(((Optional) ((Defaulted) value.Value).Value).IsPresent
? ((Optional) ((Defaulted) value.Value).Value).Value
: Any.VOID ),
l);
synchronized (this ) {
a2 = value;
}
l.notifyListeners();
}
public int getThird() throws UnknownPropertyException {
throw new UnknownPropertyException("Third" , this );
}
public void setThird(int value) throws UnknownPropertyException {
throw new UnknownPropertyException("Third" , this );
}
public int getFourth() throws UnknownPropertyException {
throw new UnknownPropertyException("Fourth" , this );
}
public void setFourth(int value) throws UnknownPropertyException {
throw new UnknownPropertyException("Fourth" , this );
}
public com.sun.star.beans.XPropertySetInfo getPropertySetInfo() {
return prop.getPropertySetInfo();
}
public void setPropertyValue(String propertyName, Object value)
throws UnknownPropertyException, PropertyVetoException,
com.sun.star.lang.IllegalArgumentException, WrappedTargetException
{
prop.setPropertyValue(propertyName, value);
}
public Object getPropertyValue(String propertyName)
throws UnknownPropertyException, WrappedTargetException
{
return prop.getPropertyValue(propertyName);
}
public void addPropertyChangeListener(
String propertyName, XPropertyChangeListener listener)
throws UnknownPropertyException, WrappedTargetException
{
prop.addPropertyChangeListener(propertyName, listener);
}
public void removePropertyChangeListener(
String propertyName, XPropertyChangeListener listener)
throws UnknownPropertyException, WrappedTargetException
{
prop.removePropertyChangeListener(propertyName, listener);
}
public void addVetoableChangeListener(
String propertyName, XVetoableChangeListener listener)
throws UnknownPropertyException, WrappedTargetException
{
prop.addVetoableChangeListener(propertyName, listener);
}
public void removeVetoableChangeListener(
String propertyName, XVetoableChangeListener listener)
throws UnknownPropertyException, WrappedTargetException
{
prop.removeVetoableChangeListener(propertyName, listener);
}
public void setFastPropertyValue(int handle, Object value)
throws UnknownPropertyException, PropertyVetoException,
com.sun.star.lang.IllegalArgumentException, WrappedTargetException
{
prop.setFastPropertyValue(handle, value);
}
public Object getFastPropertyValue(int handle)
throws UnknownPropertyException, WrappedTargetException
{
return prop.getFastPropertyValue(handle);
}
public PropertyValue[] getPropertyValues() {
return prop.getPropertyValues();
}
public void setPropertyValues(PropertyValue[] props)
throws UnknownPropertyException, PropertyVetoException,
com.sun.star.lang.IllegalArgumentException, WrappedTargetException
{
prop.setPropertyValues(props);
}
private final PropertySetMixin prop = new PropertySetMixin(
context, this , new Type(XTest3.class ), new String[] { "Third" });
private int a1 = 0 ;
private Ambiguous a2 = new Ambiguous(
new Defaulted(new Optional(), true ), false );
}
private final XComponentContext context;
}
Messung V0.5 in Prozent C=89 H=95 G=91
¤ Dauer der Verarbeitung: 0.6 Sekunden
¤
*© Formatika GbR, Deutschland