1 /* 2 * The contents of this file are subject to the terms 3 * of the Common Development and Distribution License 4 * (the License). You may not use this file except in 5 * compliance with the License. 6 * 7 * You can obtain a copy of the license at 8 * https://glassfish.dev.java.net/public/CDDLv1.0.html or 9 * glassfish/bootstrap/legal/CDDLv1.0.txt. 10 * See the License for the specific language governing 11 * permissions and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL 14 * Header Notice in each file and include the License file 15 * at glassfish/bootstrap/legal/CDDLv1.0.txt. 16 * If applicable, add the following below the CDDL Header, 17 * with the fields enclosed by brackets [] replaced by 18 * you own identifying information: 19 * "Portions Copyrighted [year] [name of copyright owner]" 20 * 21 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 22 */ 23 package com.sun.enterprise.diagnostics; 24 25 import java.util.Iterator; 26 27 /** 28 * Represents a Diagnostic Data object. A data object may contain collection of 29 * other data objects or collection of string items such as entries in 30 * domain.xml are retrieved using getValues. 31 * @author Manisha Umbarje 32 */ 33 public interface Data { 34 35 /** 36 * A data can be a composite data containing other data elements 37 */ 38 public Iterator<Data> getChildren(); 39 40 /** 41 * A data object may contain values as strings 42 */ 43 public Iterator<String> getValues(); 44 45 /** 46 * 47 */ 48 public Iterator<Iterator<String>> getTable(); 49 50 /** 51 * Source from where the Data Object is created. This could be name of the 52 * file which represents this Data Object. 53 * @return source 54 */ 55 public String getSource(); 56 57 /** 58 * Every data object knows what type of data it contains. 59 */ 60 public String getType(); 61 62 /** 63 * Returns children of a specific type 64 * @return 65 66 public Iterator<Data> getChildren(String type); 67 68 /** 69 * Returns child of specific type. It's assumed that there is only one 70 * child with that type. No gurantee is provided if there are multiple 71 * children of same type. 72 73 public Data getChild(String type); 74 */ 75 76 } 77