xref: /aoo41x/main/ucb/qa/complex/tdoc/_XContent.java (revision 67e470da)
1*c07c6c98SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*c07c6c98SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*c07c6c98SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*c07c6c98SAndrew Rist  * distributed with this work for additional information
6*c07c6c98SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*c07c6c98SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*c07c6c98SAndrew Rist  * "License"); you may not use this file except in compliance
9*c07c6c98SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*c07c6c98SAndrew Rist  *
11*c07c6c98SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*c07c6c98SAndrew Rist  *
13*c07c6c98SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*c07c6c98SAndrew Rist  * software distributed under the License is distributed on an
15*c07c6c98SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*c07c6c98SAndrew Rist  * KIND, either express or implied.  See the License for the
17*c07c6c98SAndrew Rist  * specific language governing permissions and limitations
18*c07c6c98SAndrew Rist  * under the License.
19*c07c6c98SAndrew Rist  *
20*c07c6c98SAndrew Rist  *************************************************************/
21*c07c6c98SAndrew Rist 
22*c07c6c98SAndrew Rist 
23cdf0e10cSrcweir package complex.tdoc;
24cdf0e10cSrcweir 
25cdf0e10cSrcweir import com.sun.star.ucb.XContent;
26cdf0e10cSrcweir import com.sun.star.ucb.XContentEventListener;
27cdf0e10cSrcweir import com.sun.star.ucb.XContentIdentifier;
28cdf0e10cSrcweir import share.LogWriter;
29cdf0e10cSrcweir 
30cdf0e10cSrcweir /**
31cdf0e10cSrcweir  *
32cdf0e10cSrcweir  * @author  sg128468
33cdf0e10cSrcweir  */
34cdf0e10cSrcweir public class _XContent {
35cdf0e10cSrcweir     public XContent oObj = null;
36cdf0e10cSrcweir     public LogWriter log = null;
37cdf0e10cSrcweir     private ContentListener listener = null;
38cdf0e10cSrcweir 
_addContentEventListener()39cdf0e10cSrcweir     public boolean _addContentEventListener() {
40cdf0e10cSrcweir         listener = new ContentListener();
41cdf0e10cSrcweir         oObj.addContentEventListener(listener);
42cdf0e10cSrcweir         return true;
43cdf0e10cSrcweir     }
_getContentType()44cdf0e10cSrcweir     public boolean _getContentType() {
45cdf0e10cSrcweir         String type = oObj.getContentType();
46cdf0e10cSrcweir         log.println("Type: " + type);
47cdf0e10cSrcweir         return type != null && type.indexOf("vnd.sun.star.tdoc") != -1;
48cdf0e10cSrcweir     }
_getIdentifier()49cdf0e10cSrcweir     public boolean _getIdentifier() {
50cdf0e10cSrcweir         XContentIdentifier xIdent = oObj.getIdentifier();
51cdf0e10cSrcweir         String id = xIdent.getContentIdentifier();
52cdf0e10cSrcweir         String scheme = xIdent.getContentProviderScheme();
53cdf0e10cSrcweir         log.println("Id: " + id);
54cdf0e10cSrcweir         log.println("Scheme: " + scheme);
55cdf0e10cSrcweir         return id != null && scheme != null && id.indexOf("vnd.sun.star.tdoc") != -1 && scheme.indexOf("vnd.sun.star.tdoc") != -1;
56cdf0e10cSrcweir     }
_removeContentEventListener()57cdf0e10cSrcweir     public boolean _removeContentEventListener() {
58cdf0e10cSrcweir         System.out.println("Event: " + (listener.disposed || listener.firedEvent));
59cdf0e10cSrcweir         oObj.removeContentEventListener(listener);
60cdf0e10cSrcweir         return true;
61cdf0e10cSrcweir     }
62cdf0e10cSrcweir 
63cdf0e10cSrcweir 
64cdf0e10cSrcweir     private class ContentListener implements XContentEventListener {
65cdf0e10cSrcweir         private boolean disposed = false;
66cdf0e10cSrcweir         private boolean firedEvent = false;
67cdf0e10cSrcweir 
reset()68cdf0e10cSrcweir         public void reset() {
69cdf0e10cSrcweir             disposed = false;
70cdf0e10cSrcweir             firedEvent = false;
71cdf0e10cSrcweir         }
72cdf0e10cSrcweir 
contentEvent(com.sun.star.ucb.ContentEvent contentEvent)73cdf0e10cSrcweir         public void contentEvent(com.sun.star.ucb.ContentEvent contentEvent) {
74cdf0e10cSrcweir             firedEvent = true;
75cdf0e10cSrcweir         }
76cdf0e10cSrcweir 
disposing(com.sun.star.lang.EventObject eventObject)77cdf0e10cSrcweir         public void disposing(com.sun.star.lang.EventObject eventObject) {
78cdf0e10cSrcweir             disposed = true;
79cdf0e10cSrcweir         }
80cdf0e10cSrcweir 
81cdf0e10cSrcweir     }
82cdf0e10cSrcweir }
83