001/*****************************************************************************
002 * Copyright (C) NanoContainer Organization. All rights reserved.            *
003 * ------------------------------------------------------------------------- *
004 * The software in this package is published under the terms of the BSD      *
005 * style license a copy of which has been included with this distribution in *
006 * the LICENSE.txt file.                                                     *
007 *                                                                           *
008 * Original code by Joerg Schaible                                           *
009 *****************************************************************************/
010
011package org.picocontainer.gems.jmx;
012
013/**
014 * An abstract ObjectNameFactory that offers functionality to handle the domain part of the object name.
015 * @author Jörg Schaible
016 */
017public abstract class AbstractObjectNameFactory implements ObjectNameFactory {
018
019    private final String domain;
020
021    /**
022     * Construct an AbstractObjectNameFactory.
023     * @param domain The name of the domain, use <code>null</code> for the default domain.
024     */
025    protected AbstractObjectNameFactory(final String domain) {
026        this.domain = domain;
027    }
028
029    /**
030     * @return Return the domain part of the {@link javax.management.ObjectName}.
031     */
032    protected String getDomain() {
033        return domain != null ? domain : "";
034    }
035}