001package de.deepamehta.plugins.config; 002 003import de.deepamehta.core.model.TopicModel; 004 005 006 007public class ConfigDefinition { 008 009 // ---------------------------------------------------------------------------------------------- Instance Variables 010 011 private ConfigTarget target; 012 private String configurableUri; 013 private TopicModel defaultConfigTopic; 014 private ConfigModificationRole role; 015 016 // ---------------------------------------------------------------------------------------------------- Constructors 017 018 public ConfigDefinition(ConfigTarget target, String configurableUri, TopicModel defaultConfigTopic, 019 ConfigModificationRole role) { 020 this.target = target; 021 this.configurableUri = configurableUri; 022 this.defaultConfigTopic = defaultConfigTopic; 023 this.role = role; 024 } 025 026 // -------------------------------------------------------------------------------------------------- Public Methods 027 028 @Override 029 public boolean equals(Object o) { 030 return getConfigTypeUri().equals(((ConfigDefinition) o).getConfigTypeUri()); 031 } 032 033 @Override 034 public int hashCode() { 035 return getConfigTypeUri().hashCode(); 036 } 037 038 // ----------------------------------------------------------------------------------------- Package Private Methods 039 040 String getHashKey() { 041 return target.hashKey(configurableUri); 042 } 043 044 String getConfigTypeUri() { 045 return defaultConfigTopic.getTypeUri(); 046 } 047 048 TopicModel getDefaultConfigTopic() { 049 return defaultConfigTopic; 050 } 051 052 ConfigModificationRole getConfigModificationRole() { 053 return role; 054 } 055}