1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 package ifc.container; 29 30 import lib.MultiMethodTest; 31 32 import com.sun.star.container.NoSuchElementException; 33 import com.sun.star.container.XHierarchicalNameAccess; 34 35 /** 36 * Testing <code>com.sun.star.container.XHierarchicalNameAccess</code> 37 * interface methods : 38 * <ul> 39 * <li><code> getByHierarchicalName()</code></li> 40 * <li><code> hasByHierarchicalName()</code></li> 41 * </ul> <p> 42 * This test needs the following object relations : 43 * <ul> 44 * <li> <code>'ElementName'</code> (of type <code>String</code>): 45 * name of the element which exists in the container. </li> 46 * <ul> <p> 47 * Test is <b> NOT </b> multithread compilant. <p> 48 * @see com.sun.star.container.XHierarchicalNameAccess 49 */ 50 public class _XHierarchicalNameAccess extends MultiMethodTest{ 51 public XHierarchicalNameAccess oObj = null; 52 53 /** 54 * Calls the method with existing and nonexisting 55 * element names. <p> 56 * Has <b>OK</b> status if for existing name <code>true</code> 57 * is returned and for nonexisting - <code>false</code>. 58 */ 59 public void _hasByHierarchicalName(){ 60 String name = (String) tEnv.getObjRelation("ElementName") ; 61 boolean res = oObj.hasByHierarchicalName(name) ; 62 name +="ItMakesThisNameNonExistantForSure"; 63 boolean res2 = oObj.hasByHierarchicalName(name); 64 res &= !res2; 65 tRes.tested("hasByHierarchicalName()", res) ; 66 } // end _hasByHierarchicalName() 67 68 /** 69 * Tries to retrieve an element with existing name. <p> 70 * Has <b>OK</b> status if non null object is returned. 71 */ 72 public void _getByHierarchicalName(){ 73 String name = (String) tEnv.getObjRelation("ElementName") ; 74 Object res ; 75 76 try { 77 res = oObj.getByHierarchicalName(name) ; 78 79 } catch (NoSuchElementException e) { 80 log.println("Element with name '" + name + 81 "' doesn't exist in this container") ; 82 res = null ; 83 } 84 85 tRes.tested("getByHierarchicalName()", res != null) ; 86 87 } // end _getByHierarchicalName() 88 89 } // finish class _XHierarchicalNameAccess 90 91 92 93