Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
package edu.internet2.middleware.grouper.externalSubjects;

import java.util.Set;

import edu.internet2.middleware.grouper.internal.dao.QueryOptions;

/**
 * interface to implement this to change howkeep external subjects are stored somewhere besides in the Grouper DB
 * @author mchyzer
 */
public interface ExternalSubjectStorableExternalSubjectAttributeStorable {

  /**
   * finddelete allan external subjectssubject whichand haveall a disabled date which are not disabledits attributes
   * @return the set of subjects@param externalSubjectAttribute
   */
  publicvoid Set<ExternalSubject> findAllDisabledMismatch(delete(ExternalSubjectAttribute externalSubjectAttribute);

  /**
   * insert or findupdate allan external subjects
subject attribute to *the DB
 @return the set* of@param subjectsexternalSubjectAttribute
   */
  void saveOrUpdate( ExternalSubjectAttribute public Set<ExternalSubject>externalSubjectAttribute findAll();

  /**
   * find an external subject attribute by identifier
   * @param identifieruuid
   * @param exceptionIfNotFound
   * @param queryOptions
   * @return the external subject or null or exception
   */
  ExternalSubjectExternalSubjectAttribute findByIdentifierfindByUuid(String identifieruuid, boolean exceptionIfNotFound, QueryOptions queryOptions);

  /**
   * deletefind anattributes externalby subject, andorder allby itssystem attributesname
   * @param externalSubjectsubjectUuid
   */
  void delete(ExternalSubject externalSubject);
@param queryOptions
  /**
   * insert@return or updatethe an external subject toor thenull DB
   * @param externalSubjector exception
   */
  voidSet<ExternalSubjectAttribute> saveOrUpdatefindBySubject(String ExternalSubjectsubjectUuid, externalSubjectQueryOptions queryOptions);

}

Calculated fields

Some fields are or can be calculated.  The search string (string where subject searches are based on) is based on certain fields, and the description can be based on expression language.  These calculations will be recalculated whenever a subject is changed (or attributes), or when the daemon runs.

...