Class TagsRepositoryJDBC

java.lang.Object
tigase.extensions.tags.db.TagsRepositoryJDBC
All Implemented Interfaces:
tigase.db.DataSourceAware<tigase.db.DataRepository>, tigase.db.util.RepositoryVersionAware, TagsRepository<tigase.db.DataRepository>

public class TagsRepositoryJDBC extends Object implements tigase.db.DataSourceAware<tigase.db.DataRepository>, TagsRepository<tigase.db.DataRepository>, tigase.db.util.RepositoryVersionAware
  • Constructor Details

    • TagsRepositoryJDBC

      public TagsRepositoryJDBC()
  • Method Details

    • setDataSource

      public void setDataSource(tigase.db.DataRepository dataSource) throws tigase.component.exceptions.RepositoryException
      Specified by:
      setDataSource in interface tigase.db.DataSourceAware<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • initPreparedStatements

      protected void initPreparedStatements(tigase.db.DataRepository dataSource) throws SQLException
      Throws:
      SQLException
    • getTag

      public Tag getTag(String domain, String tagId) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getTag in interface TagsRepository<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • createTag

      public String createTag(String domain, TagScope scope, tigase.xmpp.jid.BareJID owner, String name, String description, String color, String icon) throws tigase.component.exceptions.RepositoryException
      Specified by:
      createTag in interface TagsRepository<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • updateTag

      public void updateTag(String domain, String tagId, TagScope scope, tigase.xmpp.jid.BareJID owner, String name, String description, String color, String icon) throws tigase.component.exceptions.RepositoryException
      Specified by:
      updateTag in interface TagsRepository<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • deleteTag

      public void deleteTag(String domain, String tagId) throws tigase.component.exceptions.RepositoryException
      Specified by:
      deleteTag in interface TagsRepository<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • assignTag

      public void assignTag(String domain, String tagId, EntityType type, tigase.xmpp.jid.BareJID jid, boolean required) throws tigase.component.exceptions.RepositoryException
      Specified by:
      assignTag in interface TagsRepository<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • dissociateTag

      public void dissociateTag(String domain, String tagId, tigase.xmpp.jid.BareJID jid) throws tigase.component.exceptions.RepositoryException
      Specified by:
      dissociateTag in interface TagsRepository<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • queryTags

      public Stream<Tag> queryTags(String domain, TagScope scope, tigase.xmpp.jid.BareJID requestor) throws tigase.component.exceptions.RepositoryException
      Specified by:
      queryTags in interface TagsRepository<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • queryAssociatedTags

      public Stream<Tag> queryAssociatedTags(String domain, tigase.xmpp.jid.BareJID jid, tigase.xmpp.jid.BareJID requestor) throws tigase.component.exceptions.RepositoryException
      Specified by:
      queryAssociatedTags in interface TagsRepository<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • queryJidsWithTag

      public Stream<tigase.xmpp.jid.BareJID> queryJidsWithTag(String domain, String tagId, EntityType type, Boolean required) throws tigase.component.exceptions.RepositoryException
      Specified by:
      queryJidsWithTag in interface TagsRepository<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getTagAssociationType

      public EntityType getTagAssociationType(String domain, String tagId, tigase.xmpp.jid.BareJID jid) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getTagAssociationType in interface TagsRepository<tigase.db.DataRepository>
      Throws:
      tigase.component.exceptions.RepositoryException
    • execute

      protected void execute(String query, TagsRepositoryJDBC.SQLExecuteFunction function) throws tigase.component.exceptions.RepositoryException
      Throws:
      tigase.component.exceptions.RepositoryException
    • execute

      protected <T> T execute(String query, TagsRepositoryJDBC.SQLQueryFunction<T> function) throws tigase.component.exceptions.RepositoryException
      Throws:
      tigase.component.exceptions.RepositoryException
    • fromResultSet

      protected Tag fromResultSet(ResultSet rs) throws SQLException
      Throws:
      SQLException
    • takeDao

      protected tigase.extensions.tags.db.TagsRepositoryJDBC.HashCode takeDao()
    • offerDao

      protected void offerDao(tigase.extensions.tags.db.TagsRepositoryJDBC.HashCode hash)