/*
 * Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package javax.management.loading;


// java import

import java.net.URL;
import java.net.MalformedURLException;
import java.util.Collections;
import java.util.List;
import java.util.Map;

This class represents the contents of the MLET tag. It can be consulted by a subclass of MLet that overrides the MLet.check method.
Since:1.6
/** * This class represents the contents of the <CODE>MLET</CODE> tag. * It can be consulted by a subclass of {@link MLet} that overrides * the {@link MLet#check MLet.check} method. * * @since 1.6 */
public class MLetContent {
A map of the attributes of the MLET tag and their values.
/** * A map of the attributes of the <CODE>MLET</CODE> tag * and their values. */
private Map<String,String> attributes;
An ordered list of the TYPE attributes that appeared in nested <PARAM> tags.
/** * An ordered list of the TYPE attributes that appeared in nested * &lt;PARAM&gt; tags. */
private List<String> types;
An ordered list of the VALUE attributes that appeared in nested <PARAM> tags.
/** * An ordered list of the VALUE attributes that appeared in nested * &lt;PARAM&gt; tags. */
private List<String> values;
The MLet text file's base URL.
/** * The MLet text file's base URL. */
private URL documentURL;
The base URL.
/** * The base URL. */
private URL baseURL;
Creates an MLet instance initialized with attributes read from an MLET tag in an MLet text file.
Params:
  • url – The URL of the MLet text file containing the MLET tag.
  • attributes – A map of the attributes of the MLET tag. The keys in this map are the attribute names in lowercase, for example codebase. The values are the associated attribute values.
  • types – A list of the TYPE attributes that appeared in nested <PARAM> tags.
  • values – A list of the VALUE attributes that appeared in nested <PARAM> tags.
/** * Creates an <CODE>MLet</CODE> instance initialized with attributes read * from an <CODE>MLET</CODE> tag in an MLet text file. * * @param url The URL of the MLet text file containing the * <CODE>MLET</CODE> tag. * @param attributes A map of the attributes of the <CODE>MLET</CODE> tag. * The keys in this map are the attribute names in lowercase, for * example <code>codebase</code>. The values are the associated attribute * values. * @param types A list of the TYPE attributes that appeared in nested * &lt;PARAM&gt; tags. * @param values A list of the VALUE attributes that appeared in nested * &lt;PARAM&gt; tags. */
public MLetContent(URL url, Map<String,String> attributes, List<String> types, List<String> values) { this.documentURL = url; this.attributes = Collections.unmodifiableMap(attributes); this.types = Collections.unmodifiableList(types); this.values = Collections.unmodifiableList(values); // Initialize baseURL // String att = getParameter("codebase"); if (att != null) { if (!att.endsWith("/")) { att += "/"; } try { baseURL = new URL(documentURL, att); } catch (MalformedURLException e) { // OK : Move to next block as baseURL could not be initialized. } } if (baseURL == null) { String file = documentURL.getFile(); int i = file.lastIndexOf('/'); if (i >= 0 && i < file.length() - 1) { try { baseURL = new URL(documentURL, file.substring(0, i + 1)); } catch (MalformedURLException e) { // OK : Move to next block as baseURL could not be initialized. } } } if (baseURL == null) baseURL = documentURL; } // GETTERS AND SETTERS //--------------------
Gets the attributes of the MLET tag. The keys in the returned map are the attribute names in lowercase, for example codebase. The values are the associated attribute values.
Returns:A map of the attributes of the MLET tag and their values.
/** * Gets the attributes of the <CODE>MLET</CODE> tag. The keys in * the returned map are the attribute names in lowercase, for * example <code>codebase</code>. The values are the associated * attribute values. * @return A map of the attributes of the <CODE>MLET</CODE> tag * and their values. */
public Map<String,String> getAttributes() { return attributes; }
Gets the MLet text file's base URL.
Returns:The MLet text file's base URL.
/** * Gets the MLet text file's base URL. * @return The MLet text file's base URL. */
public URL getDocumentBase() { return documentURL; }
Gets the code base URL.
Returns:The code base URL.
/** * Gets the code base URL. * @return The code base URL. */
public URL getCodeBase() { return baseURL; }
Gets the list of .jar files specified by the ARCHIVE attribute of the MLET tag.
Returns:A comma-separated list of .jar file names.
/** * Gets the list of <CODE>.jar</CODE> files specified by the <CODE>ARCHIVE</CODE> * attribute of the <CODE>MLET</CODE> tag. * @return A comma-separated list of <CODE>.jar</CODE> file names. */
public String getJarFiles() { return getParameter("archive"); }
Gets the value of the CODE attribute of the MLET tag.
Returns:The value of the CODE attribute of the MLET tag.
/** * Gets the value of the <CODE>CODE</CODE> * attribute of the <CODE>MLET</CODE> tag. * @return The value of the <CODE>CODE</CODE> * attribute of the <CODE>MLET</CODE> tag. */
public String getCode() { return getParameter("code"); }
Gets the value of the OBJECT attribute of the MLET tag.
Returns:The value of the OBJECT attribute of the MLET tag.
/** * Gets the value of the <CODE>OBJECT</CODE> * attribute of the <CODE>MLET</CODE> tag. * @return The value of the <CODE>OBJECT</CODE> * attribute of the <CODE>MLET</CODE> tag. */
public String getSerializedObject() { return getParameter("object"); }
Gets the value of the NAME attribute of the MLET tag.
Returns:The value of the NAME attribute of the MLET tag.
/** * Gets the value of the <CODE>NAME</CODE> * attribute of the <CODE>MLET</CODE> tag. * @return The value of the <CODE>NAME</CODE> * attribute of the <CODE>MLET</CODE> tag. */
public String getName() { return getParameter("name"); }
Gets the value of the VERSION attribute of the MLET tag.
Returns:The value of the VERSION attribute of the MLET tag.
/** * Gets the value of the <CODE>VERSION</CODE> * attribute of the <CODE>MLET</CODE> tag. * @return The value of the <CODE>VERSION</CODE> * attribute of the <CODE>MLET</CODE> tag. */
public String getVersion() { return getParameter("version"); }
Gets the list of values of the TYPE attribute in each nested <PARAM> tag within the MLET tag.
Returns:the list of types.
/** * Gets the list of values of the <code>TYPE</code> attribute in * each nested &lt;PARAM&gt; tag within the <code>MLET</code> * tag. * @return the list of types. */
public List<String> getParameterTypes() { return types; }
Gets the list of values of the VALUE attribute in each nested <PARAM> tag within the MLET tag.
Returns:the list of values.
/** * Gets the list of values of the <code>VALUE</code> attribute in * each nested &lt;PARAM&gt; tag within the <code>MLET</code> * tag. * @return the list of values. */
public List<String> getParameterValues() { return values; }
Gets the value of the specified attribute of the MLET tag.
Params:
  • name – A string representing the name of the attribute.
Returns:The value of the specified attribute of the MLET tag.
/** * Gets the value of the specified * attribute of the <CODE>MLET</CODE> tag. * * @param name A string representing the name of the attribute. * @return The value of the specified * attribute of the <CODE>MLET</CODE> tag. */
private String getParameter(String name) { return attributes.get(name.toLowerCase()); } }