All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sun.messaging.jmq.admin.apps.objmgr.ObjMgrProperties Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2000, 2017 Oracle and/or its affiliates. All rights reserved.
 * Copyright (c) 2020, 2021 Contributors to Eclipse Foundation. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package com.sun.messaging.jmq.admin.apps.objmgr;

import java.util.Properties;
import java.util.Enumeration;
import com.sun.messaging.jmq.admin.objstore.ObjStoreAttrs;

import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttributes;

/**
 * This class encapsulates the information that the user has provided to perform any JMS Object Administration task. It
 * contains properties that describe:
 * 
    *
  • the type of command *
  • the object lookup name *
  • attributes of the object to create *
  • attributes of the object store to act upon *
* * This class has a number of convenience methods to extract the information above. Currently, each of these methods has * a get() and a get(commandIndex) version. The version that takes a commandIndex is currently not supported. It is for * handling the case where multiple commands are stored in one ObjMgrProperties object. * *

* The String values returned by the get() methods can be checked against the String constants defined in ObjMgrOptions. * * @see ObjMgrOptions */ public class ObjMgrProperties extends Properties implements ObjMgrOptions { /** * Returns the command string. e.g. add. * * @return The command string */ public String getCommand() { return (getCommand(-1)); } /** * Returns the command string. e.g. add. * * @param commandIndex Index for specifyng which command (for the case where multiple commands exist in the same * ObjMgrProperties object). * * @return The command string */ public String getCommand(int commandIndex) { if (commandIndex == -1) { return (getProperty(OBJMGR_CMD_PROP_NAME)); } return (null); } /** * Returns the number of commands. * * @return The number of commands. */ public int getCommandCount() { return (1); } /** * Returns the object lookup name. * * @return The object lookup name. */ public String getLookupName() { return (getLookupName(-1)); } /** * Returns the object lookup name. * * @param commandIndex Index for specifyng which command (for the case where multiple commands exist in the same * ObjMgrProperties object). * * @return The object lookup name. */ public String getLookupName(int commandIndex) { if (commandIndex == -1) { return (getProperty(OBJMGR_NAME_PROP_NAME)); } return (null); } /** * Returns the object destination name. This applies only if the object type was a destination (queue or topic). * * @return The object destination name. */ public String getObjDestName() { return (getObjDestName(-1)); } /** * Returns the object destination name. This applies only if the object type was a destination (queue or topic). * * @param commandIndex Index for specifyng which command (for the case where multiple commands exist in the same * ObjMgrProperties object). * * @return The object destination name. */ public String getObjDestName(int commandIndex) { if (commandIndex == -1) { return (getProperty(OBJMGR_OBJ_ATTRS_PROP_NAME + "." + "name")); } return (null); } /** * Returns the object type. * * @return The object type. */ public String getObjType() { return (getObjType(-1)); } /** * Returns the object type. * * @param commandIndex Index for specifyng which command (for the case where multiple commands exist in the same * ObjMgrProperties object). * * @return The object type. */ public String getObjType(int commandIndex) { if (commandIndex == -1) { return (getProperty(OBJMGR_TYPE_PROP_NAME)); } return (null); } /** * Returns a Properties object containing the properties that are relevant for creating a JMS object. These properties * are also normalized e.g. the preceding obj.attrs. is stripped. * * @return A Properties object containing properties needed for creation of a JMS object. */ public Properties getObjProperties() { return (getObjProperties(-1)); } /** * Returns a Properties object containing the properties that are relevant for creating a JMS object. These properties * are also normalized e.g. the preceding obj.attrs. is stripped. * * @param commandIndex Index for specifyng which command (for the case where multiple commands exist in the same * ObjMgrProperties object). * * @return A Properties object containing properties needed for creation of a JMS object. */ public Properties getObjProperties(int commandIndex) { Properties props = new Properties(); String objAttrsStr = OBJMGR_OBJ_ATTRS_PROP_NAME + "."; int objAttrsStrLen = objAttrsStr.length(); if (commandIndex == -1) { for (Enumeration e = propertyNames(); e.hasMoreElements();) { String propName = (String) e.nextElement(); if (propName.startsWith(objAttrsStr)) { String newPropName, value; newPropName = propName.substring(objAttrsStrLen); value = getProperty(propName); props.put(newPropName, value); } } return (props); } return (null); } /** * Returns a ObjStoreAttrs object containing the attributes that are relevant for creating an object store. These * attributes are also normalized e.g. the preceding objstore.attrs. is stripped. * * @return A ObjStoreAttrs object containing attributes needed for creation of an object store. */ public ObjStoreAttrs getObjStoreAttrs() { return (getObjStoreAttrs(-1)); } /** * Returns a ObjStoreAttrs object containing the attributes that are relevant for creating an object store. These * attributes are also normalized e.g. the preceding objstore.attrs. is stripped. * * @param commandIndex Index for specifyng which command (for the case where multiple commands exist in the same * ObjMgrProperties object). * * @return A ObjStoreAttrs object containing attributes needed for creation of an object store. */ public ObjStoreAttrs getObjStoreAttrs(int commandIndex) { ObjStoreAttrs osa = new ObjStoreAttrs(); String objstoreAttrsStr = OBJMGR_OBJSTORE_ATTRS_PROP_NAME + "."; int objstoreAttrsStrLen = objstoreAttrsStr.length(); if (commandIndex == -1) { for (Enumeration e = propertyNames(); e.hasMoreElements();) { String propName = (String) e.nextElement(); if (propName.startsWith(objstoreAttrsStr)) { String newPropName, value; newPropName = propName.substring(objstoreAttrsStrLen); value = getProperty(propName); osa.put(newPropName, value); } } return (osa); } return (null); } /** * Returns whether force mode was specified by the user. Force mode is when no user interaction will be needed. i.e. if * storing an object, and an object with the same lookup name already exists, no overwrite confirmation will be asked, * the object is overwritten. * * @return true if force mode is set, false if force mode was not set. */ public boolean forceModeSet() { String s = getProperty(OBJMGR_FORCE_PROP_NAME); if (s == null) { return (false); } if (s.equalsIgnoreCase(Boolean.TRUE.toString())) { return (true); } else if (s.equalsIgnoreCase(Boolean.FALSE.toString())) { return (false); } return (false); } /** * Returns whether read-only flag was specified by the user. Read0only mode is the setting that the object should be * created or updated as. * * @return true if read-only is set, false if read-only was not set. */ public String readOnlyValue() { String s = getProperty(OBJMGR_READONLY_PROP_NAME); return s; } /** * Returns whether preview mode was specified by the user. Preview mode is when the action specified is not really * executed, but a 'preview' of what would be done is shown. * * @return true if preview mode is set, false if preview mode was not set. */ public boolean previewModeSet() { String s = getProperty(OBJMGR_PREVIEW_PROP_NAME); if (s == null) { return (false); } if (s.equalsIgnoreCase(Boolean.TRUE.toString())) { return (true); } else if (s.equalsIgnoreCase(Boolean.FALSE.toString())) { return (false); } return (false); } /** * Returns the input filename specified by the user. * * @return Input filename specified by the user */ public String getInputFileName() { return (getProperty(OBJMGR_INPUTFILE_PROP_NAME)); } /** * Returns an Attributes object containing the attributes that are relevant when binding an object. These attributes are * also normalized e.g. the preceding objstore.binding.attrs. is stripped. * * @return An Attributes object containing attributes needed for binding an object. */ public Attributes getBindAttrs() { return (getBindAttrs(-1)); } /** * Returns an Attributes object containing the attributes that are relevant when binding an object. These attributes are * also normalized e.g. the preceding objstore.binding.attrs. is stripped. * * @param commandIndex Index for specifyng which command (for the case where multiple commands exist in the same * ObjMgrProperties object). * * @return An Attributes object containing attributes needed for binding an object. */ public Attributes getBindAttrs(int commandIndex) { Attributes bindAttrs = new BasicAttributes(); String objstoreBindAttrsStr = OBJMGR_OBJSTORE_BIND_ATTRS_PROP_NAME + "."; int objstoreBindAttrsStrLen = objstoreBindAttrsStr.length(); if (commandIndex == -1) { for (Enumeration e = propertyNames(); e.hasMoreElements();) { String propName = (String) e.nextElement(); if (propName.startsWith(objstoreBindAttrsStr)) { String newPropName, value; newPropName = propName.substring(objstoreBindAttrsStrLen); value = getProperty(propName); bindAttrs.put(newPropName, value); } } return (bindAttrs); } return (null); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy