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