<commit_before>/*
 * $Header$
 *
 * Copyright (c) OSGi Alliance (2004, 2005). All Rights Reserved.
 * 
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0 which accompanies this 
 * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html.
 */
package org.osgi.service.dmt.spi;

import java.util.Date;
import org.osgi.service.dmt.DmtData;
import org.osgi.service.dmt.DmtException;
import org.osgi.service.dmt.MetaNode;

/**
 * Provides read-only access to the part of the tree handled by the plugin that
 * created this session.
 * <p>
 * The <code>nodePath</code> parameters appearing in this interface always
 * contain an array of path segments identifying a node in the subtree of this
 * plugin.  This parameter contains an absolute path, so the first segment is 
 * always &quot;.&quot;. Special characters appear escaped in the segments.
 * <p>
 * <strong>Error handling</strong>
 * <p>
 * When a tree access command is called on the Dmt Admin service, it must
 * perform an extensive set of checks on the parameters and the authority of the
 * caller before delegating the call to a plugin.  Therefore plugins can take
 * certain circumstances for granted: that the path is valid and is within the<commit_msg>Made changes according to review comments from Balazs (not all comments have been processed yet)<commit_after>/*
 * $Header$
 *
 * Copyright (c) OSGi Alliance (2004, 2005). All Rights Reserved.
 * 
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0 which accompanies this 
 * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html.
 */
package org.osgi.service.dmt.spi;

import java.util.Date;
import org.osgi.service.dmt.DmtData;
import org.osgi.service.dmt.DmtException;
import org.osgi.service.dmt.MetaNode;

/**
 * Provides read-only access to the part of the tree handled by the plugin that
 * created this session.
 * <p>
 * Since the {@link ReadWriteDataSession} and {@link TransactionalDataSession}
 * interfaces inherit from this interface, some of the method descriptions do
 * not apply for an instance that is only a <code>ReadableDataSession</code>.
 * For example, the {@link #close} method description also contains information 
 * about its behaviour when invoked as part of a transactional session.
 * <p>
 * The <code>nodePath</code> parameters appearing in this interface always
 * contain an array of path segments identifying a node in the subtree of this
 * plugin.  This parameter contains an absolute path, so the first segment is 
 * always &quot;.&quot;. Special characters appear escaped in the segments.
 * <p>
 * <strong>Error handling</strong>
 * <p>
 * When a tree access command is called on the Dmt Admin service, it must
 * perform an extensive set of checks on the parameters and the authority of the
 * caller before delegating the call to a plugin.  Therefore plugins can take
 * certain circumstances for granted: that the path is valid and is within the
{'fraction_non_alphanumeric': 0.07744653272845108, 'fraction_numerical': 0.007777057679844459, 'mean_word_length': 4.153589315525877, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 20, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3113385', 'n_tokens_mistral': 844, 'n_tokens_neox': 809, 'n_words': 395}