summaryrefslogtreecommitdiffstats
path: root/qadevOOo/testdocs/qadevlibs/source/com
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:54:39 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:54:39 +0000
commit267c6f2ac71f92999e969232431ba04678e7437e (patch)
tree358c9467650e1d0a1d7227a21dac2e3d08b622b2 /qadevOOo/testdocs/qadevlibs/source/com
parentInitial commit. (diff)
downloadlibreoffice-267c6f2ac71f92999e969232431ba04678e7437e.tar.xz
libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.zip
Adding upstream version 4:24.2.0.upstream/4%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qadevOOo/testdocs/qadevlibs/source/com')
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java345
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk55
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest1
3 files changed, 401 insertions, 0 deletions
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java
new file mode 100644
index 0000000000..1eb08d140d
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java
@@ -0,0 +1,345 @@
+/*
+ * 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 com.sun.star.cmp;
+
+import com.sun.star.io.XPersistObject;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XPropertyChangeListener;
+import com.sun.star.beans.XVetoableChangeListener;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.uno.Type;
+
+/**
+ * Class MyPersistObject implements an XPersistObject, XServiceInfo,
+ * XTypeProvider and XPropertySet.
+ *
+ * Warning: In XPropertySet only the following methods that are
+ * used for testing are really implemented:
+ *
+ * - public XPropertySetInfo getPropertySetInfo()
+ * - public void setPropertyValue(String property, Object value)
+ * - public Object getPropertyValue(String property)
+ */
+public class MyPersistObject implements XPersistObject, XTypeProvider,
+ XServiceInfo, XPropertySet {
+
+ private class MyPropertySetInfo implements XPropertySetInfo {
+ Property[] _props;
+ public MyPropertySetInfo(Property[] props) {
+ _props = props;
+ }
+ public Property[] getProperties() {
+ return _props;
+ }
+ public Property getPropertyByName(String name) {
+ int i = getPropertyIndexByName(name);
+ return i>0?_props[i]:null;
+ }
+ public int getPropertyIndexByName(String name) {
+ for ( int i=0; i<_props.length; i++ )
+ if (name.equals(_props[i].Name))
+ return i;
+ return -1;
+ }
+ public boolean hasPropertyByName(String name) {
+ int i = getPropertyIndexByName(name);
+ return i>0;
+ }
+ }
+
+ private static final boolean verbose = false;
+
+ public static final String __serviceName =
+ "com.sun.star.cmp.PersistObject";
+ public static final String __implName =
+ "com.sun.star.cmp.MyPersistObject";
+
+ // lots of props to write
+ Property[] props;
+ private byte by;
+ private int i;
+ private char c;
+ private double d;
+ private float f;
+ private short s;
+ private String st;
+ // property set info
+ XPropertySetInfo xInfo;
+
+ /**
+ * Constructor: sets all properties
+ **/
+ public MyPersistObject() {
+ int prop_count = 7;
+ props = new Property[prop_count];
+ for (int i=0; i<prop_count; i++ ) {
+ props[i] = new Property();
+ }
+ by = 1;
+ props[0].Name = "byte";
+ i = 3;
+ props[1].Name = "int";
+ c = 'c';
+ props[2].Name = "char";
+ d = 3.142;
+ props[3].Name = "double";
+ f = 2.718f;
+ props[4].Name = "float";
+ s = 1;
+ props[5].Name = "short";
+ st = "Though this be madness, yet there is method in 't.";
+ props[6].Name = "String";
+ xInfo = new MyPropertySetInfo(props);
+ }
+ /**
+ * This function provides the service name
+ * @return the service name
+ * @see com.sun.star.io.XPersistObject
+ */
+ public String getServiceName() {
+ if ( verbose ) {
+ System.out.println("get service name");
+ }
+ return __serviceName;
+ }
+
+ /**
+ * Function reads properties from this input stream
+ * @param inStream the input stream
+ * @see com.sun.star.io.XPersistObject
+ */
+ public void read(XObjectInputStream inStream)
+ throws com.sun.star.io.IOException {
+ s = inStream.readShort();
+ i = inStream.readLong();
+ by = inStream.readByte();
+ c = inStream.readChar();
+ d = inStream.readDouble();
+ f = inStream.readFloat();
+ st = inStream.readUTF();
+ if ( verbose )
+ System.out.println("read called" + s + " " + i + " " + st);
+ }
+
+ /**
+ * Function writes properties on this output stream
+ * @param outStream the output stream
+ * @see com.sun.star.io.XPersistObject
+ */
+ public void write(XObjectOutputStream outStream)
+ throws com.sun.star.io.IOException {
+ if ( verbose )
+ System.out.println("write called");
+ outStream.writeShort(s);
+ outStream.writeLong(i);
+ outStream.writeByte(by);
+ outStream.writeChar(c);
+ outStream.writeDouble(d);
+ outStream.writeFloat(f);
+ outStream.writeUTF(st);
+
+ }
+
+
+ /**
+ * Function to get information about the property set.
+ * @return The information
+ * @see com.sun.star.io.XPropertySet
+ */
+ public XPropertySetInfo getPropertySetInfo() {
+ return xInfo;
+ }
+
+ /**
+ * Set a property value
+ * @param property The name of the property.
+ * @param value The new value of the property.
+ * @see com.sun.star.io.XPropertySet
+ */
+ public void setPropertyValue(String property, Object value) {
+ if ( property.equals(props[0].Name))
+ by = ((Byte)value).byteValue();
+ if ( property.equals(props[1].Name))
+ i = ((Integer)value).intValue();
+ if ( property.equals(props[2].Name))
+ c = ((Character)value).charValue();
+ if ( property.equals(props[3].Name))
+ d = ((Double)value).doubleValue();
+ if ( property.equals(props[4].Name))
+ f = ((Float)value).floatValue();
+ if ( property.equals(props[5].Name))
+ s = ((Short)value).shortValue();
+ if ( property.equals(props[6].Name))
+ st = (String)value;
+ }
+
+ /**
+ * Get a property value
+ * @param property The property name.
+ * @return The value of the property.
+ * @see com.sun.star.io.XPropertySet
+ */
+ public Object getPropertyValue(String property) {
+ if ( property.equals(props[0].Name))
+ return Byte.valueOf(by);
+ if ( property.equals(props[1].Name))
+ return Integer.valueOf(i);
+ if ( property.equals(props[2].Name))
+ return Character.valueOf(c);
+ if ( property.equals(props[3].Name))
+ return Double.valueOf(d);
+ if ( property.equals(props[4].Name))
+ return Float.valueOf(f);
+ if ( property.equals(props[5].Name))
+ return Short.valueOf(s);
+ if ( property.equals(props[6].Name))
+ return st;
+ return new Object();
+ }
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void addPropertyChangeListener(String aPropertyName,
+ XPropertyChangeListener xListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void removePropertyChangeListener(String aPropertyName,
+ XPropertyChangeListener aListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void addVetoableChangeListener(String PropertyName,
+ XVetoableChangeListener aListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void removeVetoableChangeListener(String PropertyName,
+ XVetoableChangeListener aListener ) {}
+
+ /**
+ * Get all implemented types of this class.
+ * @return An array of implemented interface types.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public Type[] getTypes() {
+ Type[] type = new Type[5];
+ type[0] = new Type(XInterface.class);
+ type[1] = new Type(XTypeProvider.class);
+ type[2] = new Type(XPersistObject.class);
+ type[3] = new Type(XServiceInfo.class);
+ type[4] = new Type(XPropertySet.class);
+ return type;
+ }
+
+ /**
+ * Get the implementation id.
+ * @return An empty implementation id.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public byte[] getImplementationId() {
+ return new byte[0];
+ }
+ /**
+ * Function for reading the implementation name.
+ *
+ * @return the implementation name
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String getImplementationName() {
+ return __implName;
+ }
+
+ /**
+ * Does the implementation support this service?
+ *
+ * @param serviceName The name of the service in question
+ * @return true, if service is supported, false otherwise
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public boolean supportsService(String serviceName) {
+ return serviceName.equals(__serviceName);
+ }
+
+ /**
+ * Function for reading all supported services
+ *
+ * @return An aaray with all supported service names
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String[] getSupportedServiceNames() {
+ String[] supServiceNames = {__serviceName};
+ return supServiceNames;
+ }
+
+ /**
+ *
+ * Gives a factory for creating the service.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns a <code>XSingleServiceFactory</code> for creating the component
+ * @param implName the name of the implementation for which a service is desired
+ * @param multiFactory the service manager to be used if needed
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static XSingleServiceFactory __getServiceFactory(String implName,
+ XMultiServiceFactory multiFactory, XRegistryKey regKey)
+ {
+ XSingleServiceFactory xSingleServiceFactory = null;
+
+ if (implName.equals(MyPersistObject.class.getName()))
+ xSingleServiceFactory = FactoryHelper.getServiceFactory(
+ MyPersistObject.class, __serviceName, multiFactory, regKey);
+
+ return xSingleServiceFactory;
+ }
+
+ /**
+ * Writes the service information into the given registry key.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns true if the operation succeeded
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
+ return FactoryHelper.writeRegistryServiceInfo(MyPersistObject.class.getName(),
+ __serviceName, regKey);
+ }
+
+
+
+
+} // finish class MyPersistObject
+
+
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk
new file mode 100644
index 0000000000..761a9bbcab
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk
@@ -0,0 +1,55 @@
+#
+# 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 .
+#
+
+PRJ = ..$/..$/..$/..$/..$/..$/..
+PRJNAME = MyPersistObjectImpl
+TARGET = MyPersistObjectImpl
+PACKAGE = com$/sun$/star$/cmp
+
+# --- Settings -----------------------------------------------------
+.INCLUDE: settings.mk
+
+#----- compile .java files -----------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar
+JAVAFILES = MyPersistObject.java
+JAVACLASSFILES = $(CLASSDIR)$/$(PACKAGE)$/MyPersistObject.class
+
+#----- make a jar from compiled files ------------------------------
+
+MAXLINELENGTH = 100000
+
+JARCLASSDIRS = com/sun/star/cmp
+JARTARGET = $(TARGET).jar
+JARCOMPRESS = TRUE
+CUSTOMMANIFESTFILE = manifest
+
+
+# --- Files --------------------------------------------------------
+
+# --- Targets ------------------------------------------------------
+
+.IF "$(depend)" == ""
+ALL : \
+ ALLTAR
+.ELSE
+ALL: ALLDEP
+.ENDIF
+
+.INCLUDE : target.mk
+
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest
new file mode 100644
index 0000000000..e52cdc9f71
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest
@@ -0,0 +1 @@
+RegistrationClassName: com.sun.star.cmp.MyPersistObject