cug.novell
Class NDSMap

java.lang.Object
  |
  +--cug.novell.NDSMap

public class NDSMap
extends java.lang.Object

geindexeerde blik op NDS; hier wordt een selectie van de beschikbare NDSContainers gekoppeld aan een selectie NDSUsers index NDSUsers op objectname, sleutelwaarde indexeer NDSContainers op dn

met build vul je een nds-map met nds-users, er worden verwijzingen naar de bijbehorende containers aangemaakt, en de indexen worden aangemaakt.


Field Summary
(package private)  java.util.Set allUsers
          alle gebruikers die aan addUser() worden aangeboden
(package private) static Category cat
           
(package private)  java.util.Map containers
          lijst van de verschillende containers waar de leden van allUsers zich in bevinden (map Strint DN -> NDSContainer)
(package private)  boolean hasData
          wordt op false gezet in de constructor en removeAll() wordt true
(package private)  java.util.Map keyUsers
          index op key attribuut van nds-users users met key == null verdwijnen hier
(package private)  java.util.Map ndsUsers
          index op name attribuut van nds-users users met dezelfde name overschrijven elkaar
 
Constructor Summary
NDSMap()
           
 
Method Summary
 void add(NDSMap b)
          voeg nds-users uit param in
(package private)  void addContainer(NDSContainer c)
           
 void addUser(NDSUser nu)
          voeg een user toe en werk de indexen bij; voeg altijd toe aan allUsers en ndsUsers (user heeft altijd een name); voeg toe aan keyUsers als key niet null is en niet gelijk aan de lege string :error: nds-user met ongeldige container als container niet bekend is in containerfactory :error: null user aangeboden
 void buildUsers(java.util.Vector nusers)
          voeg NDSUsers toe
 int countUsersInContext(java.lang.String cx)
          geef een deelverzameling; alle gebruikers in een zekere context; bv alle gebruikers met key in EDU.HSBOS
static NDSMap getAllLookALikes(NDSMap a, NDSMap b)
          pak alle nds-users uit 'a' met een cijfer in de naam; kijk in 'b' of er vergelijkbare nds-users zijn; ook in andere containers
static java.util.List getAllLookALikesL(NDSMap a, NDSMap b)
          Deprecated. use NDSMap getAllLookalikes() instead
 java.util.Vector getAllUsers()
          alle NDSUsers die aan buildUsers() zijn aangeboden
 java.util.Iterator getContainerIt()
           
 java.util.Map getContainers()
           
 NDSUser getKeyUser(java.lang.String key)
           
 java.util.Iterator getKeyUserIt()
           
 java.util.Map getKeyUsers()
          NDSUsers te benaderen via sleutel (verlies van users met dezelfde sleutel)
static NDSMap getLookALikes(NDSMap a, NDSMap b)
          pak alle nds-users uit 'a' met een cijfer in de naam; kijk in 'b' of er vergelijkbare nds-users zijn;
protected static java.util.List getLookALikes(NDSMap a, NDSMap b, boolean strict)
          geef lookalikes voor gebruikers met een volgnummer ook uit andere containers
 java.util.Vector getLookALikes(NDSUser u)
          zoek lookalikes in dezelfde context; hetzelfde als getLookAlikes( u, true );
 java.util.Vector getLookALikes(NDSUser u, boolean strict)
          een lookalike is een NDSUser met bijna dezelfde naam (in dezelfde container) geef de users met een name die begint met dezelfde letters als die van param; het is mogelijk het criterium 'in dezelfde container' te laten vallen door aan param 'strict' de waarde 'false' toe te kennen; (methode is duur; per nds-user in allUsers mogelijk 3 string-vergelijkingen) :debug: lookalike gevonden :debug: lookalike gevonden (strict) :info: lookalike in andere container
 java.util.Map getNDSUsers()
          NDSUsers te benaderen via object-name (verlies van gebruikers met gelijke naam)
 int getSize()
           
 NDSUser getUserByName(java.lang.String s)
           
 java.util.Iterator getUserIt()
           
 NDSMap getUsersInContext(java.util.Collection l)
          selecteer de users in deze nds-map die in bepaalde containers voorkomen
 java.util.Vector getUsersWithStatus(int status)
          geef een deelverzameling; alle gebruikers met status param
 boolean hasData()
          Deprecated.  
 boolean hasKeyUser(java.lang.String key)
           
 boolean hasUsers()
           
 void rebuildUsers()
          Deprecated.  
 void removeAll()
           
 void removeUser(NDSUser u)
          :info: verwijderen niet consequent als user niet voorkomt in names of keys index :info: kan user niet verwijderen als hij niet in all zit :error: poging null user te vewijderen
 java.util.List selectUsersInContext(java.lang.String cx)
          zoek in allUsers
static java.util.List selectUsersInContext(java.lang.String context, java.util.Collection c)
          selecteer uit een lijst van users de users in context van param; (nu.getContext().indexOf( param ) > -1)
 java.util.Iterator selectUsersInContextIt(java.lang.String cx)
           
 void subtract(NDSMap b)
          verwijderd nds-user met dezelfde name, of eventueel met dezelfde key :warn: user verwijderd op basis van key
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cat

static Category cat

allUsers

java.util.Set allUsers
alle gebruikers die aan addUser() worden aangeboden


ndsUsers

java.util.Map ndsUsers
index op name attribuut van nds-users users met dezelfde name overschrijven elkaar


keyUsers

java.util.Map keyUsers
index op key attribuut van nds-users users met key == null verdwijnen hier


containers

java.util.Map containers
lijst van de verschillende containers waar de leden van allUsers zich in bevinden (map Strint DN -> NDSContainer)


hasData

boolean hasData
wordt op false gezet in de constructor en removeAll() wordt true

Constructor Detail

NDSMap

public NDSMap()
Method Detail

removeAll

public void removeAll()

hasData

public boolean hasData()
Deprecated.  


hasUsers

public boolean hasUsers()
Returns:
boolean b; aantal users > 0

getAllUsers

public java.util.Vector getAllUsers()
alle NDSUsers die aan buildUsers() zijn aangeboden


getNDSUsers

public java.util.Map getNDSUsers()
NDSUsers te benaderen via object-name (verlies van gebruikers met gelijke naam)


getUserByName

public NDSUser getUserByName(java.lang.String s)

getUserIt

public java.util.Iterator getUserIt()

getKeyUsers

public java.util.Map getKeyUsers()
NDSUsers te benaderen via sleutel (verlies van users met dezelfde sleutel)


hasKeyUser

public boolean hasKeyUser(java.lang.String key)

getKeyUser

public NDSUser getKeyUser(java.lang.String key)

getKeyUserIt

public java.util.Iterator getKeyUserIt()

getContainers

public java.util.Map getContainers()

getContainerIt

public java.util.Iterator getContainerIt()

addContainer

void addContainer(NDSContainer c)

buildUsers

public void buildUsers(java.util.Vector nusers)
voeg NDSUsers toe


rebuildUsers

public void rebuildUsers()
Deprecated.  

maak leeg en vul alle users opnieuw toe;

hooguit nodig om container-index opnieuw op te bouwen als veel users zijn verwijderd; removeUser en addUser houden de overige indexen correct


addUser

public void addUser(NDSUser nu)
voeg een user toe en werk de indexen bij;

voeg altijd toe aan allUsers en ndsUsers (user heeft altijd een name); voeg toe aan keyUsers als key niet null is en niet gelijk aan de lege string

:error: nds-user met ongeldige container als container niet bekend is in containerfactory

:error: null user aangeboden

See Also:
NDSContainerFactory.getNDSContainer(java.lang.String)

removeUser

public void removeUser(NDSUser u)

:info: verwijderen niet consequent als user niet voorkomt in names of keys index

:info: kan user niet verwijderen als hij niet in all zit

:error: poging null user te vewijderen


getSize

public int getSize()
Returns:
int : aantal key-users; 'geldige' gebruikers

subtract

public void subtract(NDSMap b)
verwijderd nds-user met dezelfde name, of eventueel met dezelfde key

:warn: user verwijderd op basis van key


add

public void add(NDSMap b)
voeg nds-users uit param in


countUsersInContext

public int countUsersInContext(java.lang.String cx)
geef een deelverzameling; alle gebruikers in een zekere context; bv alle gebruikers met key in EDU.HSBOS

See Also:
selectUsersInContext(java.lang.String)

selectUsersInContextIt

public java.util.Iterator selectUsersInContextIt(java.lang.String cx)
Returns:
Iterator (NDSUser) over de users in context param
See Also:
selectUsersInContext(java.lang.String)

selectUsersInContext

public java.util.List selectUsersInContext(java.lang.String cx)
zoek in allUsers

Returns:
List: de nds-users die in de gezochte container thuis horen

getUsersInContext

public NDSMap getUsersInContext(java.util.Collection l)
selecteer de users in deze nds-map die in bepaalde containers voorkomen

Returns:
NDSMap nm; een nieuwe NDSMap

selectUsersInContext

public static java.util.List selectUsersInContext(java.lang.String context,
                                                  java.util.Collection c)
selecteer uit een lijst van users de users in context van param; (nu.getContext().indexOf( param ) > -1)

Returns:
List: de nds-users die in de gezochte container thuis horen
See Also:
NDSUser.getContext()

getUsersWithStatus

public java.util.Vector getUsersWithStatus(int status)
geef een deelverzameling; alle gebruikers met status param

See Also:
NDSUser.status

getLookALikes

public java.util.Vector getLookALikes(NDSUser u)
zoek lookalikes in dezelfde context; hetzelfde als getLookAlikes( u, true );


getLookALikes

public java.util.Vector getLookALikes(NDSUser u,
                                      boolean strict)
een lookalike is een NDSUser met bijna dezelfde naam (in dezelfde container)

geef de users met een name die begint met dezelfde letters als die van param; het is mogelijk het criterium 'in dezelfde container' te laten vallen door aan param 'strict' de waarde 'false' toe te kennen; (methode is duur; per nds-user in allUsers mogelijk 3 string-vergelijkingen) :debug: lookalike gevonden :debug: lookalike gevonden (strict) :info: lookalike in andere container


getLookALikes

public static NDSMap getLookALikes(NDSMap a,
                                   NDSMap b)
pak alle nds-users uit 'a' met een cijfer in de naam; kijk in 'b' of er vergelijkbare nds-users zijn;

Returns:
NDSMap een nieuwe NDSMap met alle 'a' en de vergelijkbare 'b'

getAllLookALikes

public static NDSMap getAllLookALikes(NDSMap a,
                                      NDSMap b)
pak alle nds-users uit 'a' met een cijfer in de naam; kijk in 'b' of er vergelijkbare nds-users zijn; ook in andere containers

Returns:
NDSMap een nieuwe NDSMap met alle 'a' en de vergelijkbare 'b'

getAllLookALikesL

public static java.util.List getAllLookALikesL(NDSMap a,
                                               NDSMap b)
Deprecated. use NDSMap getAllLookalikes() instead

geef lookalikes voor gebruikers met een volgnummer ook uit andere containers

Returns:
List (NDSUser) alle users uit 'a' met alle vergelijkbare users uit 'b'

getLookALikes

protected static java.util.List getLookALikes(NDSMap a,
                                              NDSMap b,
                                              boolean strict)
geef lookalikes voor gebruikers met een volgnummer ook uit andere containers

Returns:
List (NDSUser) alle users uit a met alle vergelijkbare users uit b