001//
002// NAME
003//    GroupKind.java
004//
005// COPYRIGHT
006//    Copyright 2007-2014 Cloud Software Group, Inc. ALL RIGHTS RESERVED.
007//    Cloud Software Group, Inc. Confidential Information
008//
009// HISTORY
010//    $Revision: 1.1.2.84 $ $Date: 2014/02/06 20:35:16 $
011//
012// WARNINGS
013//    THIS FILE IS GENERATED, DO NOT EDIT
014//
015
016package com.kabira.platform.switchconfig;
017
018import java.util.*;
019import com.kabira.platform.annotation.*;
020
021
022/**
023<p>
024       Navigable representation of a configuration type.
025<p>
026       Each configuration type can have one or more named 
027                configurations associated with it.
028<p>
029                Configuration listeners register with a type to 
030                receive notifications of configuration lifecycle 
031                events.
032<p>
033                This class is named GroupKind for historical reasons. 
034                The documentation refers to this concept as a         
035                configuration type.
036
037
038*/
039
040@Managed
041@KeyList(keys = {
042        @Key(name = "ByGroupKind", ordered = false, unique = true, fields = {"groupKind"})
043})
044public class GroupKind
045{
046        private static final String _RuntimeType = "switchconfig::GroupKind";
047
048/**
049Create a new GroupKind
050@param  groupKind       groupkind.  Should be set only at creation time.
051
052
053
054*/
055        public GroupKind(final String groupKind)
056        {
057                super();
058                this.groupKind = groupKind;
059        }
060
061        /**
062        <p>
063groupkind.  Should be set only at creation time.
064
065
066        */
067
068        public final String groupKind;
069
070
071        /**
072        <p>
073       Register a group kind notifier
074@param notifier        Notifier to register
075<p>
076       Register a group kind notifier.  Multiple
077                notifiers may be registered for a single
078                group kind.  A particular  notifier instance
079                can be registered at most once. Attempts to 
080                register a notifier instance more than once
081                will be ignored.
082<p>
083                This notifier will be invoked for all
084                groups associated with this group kind.
085
086@deprecated        Notifier has been replaced by 
087                ConfigurationListener.
088
089
090        */
091
092        @Deprecated
093        public final native void registerNotifier(
094                        com.kabira.platform.InOutParameter<com.kabira.platform.switchconfig.Notifier> notifier);
095
096
097        /**
098        <p>
099       Unregister a group kind notifier
100@param notifier        Notifier to unregister
101<p>
102       Unregister a group kind notifier.  No
103                action if notifier was not already registered.
104
105@deprecated        Notifier has been replaced by 
106                ConfigurationListener.
107
108
109        */
110
111        @Deprecated
112        public final native void unregisterNotifier(
113                        com.kabira.platform.InOutParameter<com.kabira.platform.switchconfig.Notifier> notifier);
114
115
116        /**
117        <p>
118       Returns the configuration type identifier.
119@return                The configuration type identifier.
120
121        */
122
123        public final native String toString();
124
125
126        /**
127        <p>
128       Returns the named configurations that are 
129                associated with this type.
130
131@return                The named configurations that are 
132                associated with this type.
133
134
135        */
136
137        public final native com.kabira.platform.switchconfig.Group[] getNames();
138
139}