+
+ public void setAuthoritative(boolean isAuthoritative)
+ {
+ setProperty(AUTHORITATIVE_ID, Boolean.valueOf(isAuthoritative));
+ }
+
+ /**
+ *
+ * @return true if the identifier should be preferred over any identifiers
+ * embedded in the structure data
+ */
+ public boolean isAuthoritative()
+ {
+ if (_hasProperty(AUTHORITATIVE_ID))
+ {
+ return ((Boolean) getProperty(AUTHORITATIVE_ID));
+ }
+ return false;
+ }
+
+ /**
+ * set when Jalview has manufactured the ID using a local filename
+ *
+ * @return
+ */
+ public boolean fakedPDBId()
+ {
+ if (_hasProperty(FAKED_ID))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public void setFakedPDBId(boolean faked)
+ {
+ if (faked)
+ {
+ setProperty(FAKED_ID, Boolean.TRUE);
+ }
+ else
+ {
+ if (properties != null)
+ {
+ properties.remove(FAKED_ID);
+ }
+ }
+ }
+
+ private boolean _hasProperty(final String key)
+ {
+ return (properties != null && properties.containsKey(key));
+ }
+
+ private static final String RETRIEVE_FROM = "RETRIEVE_FROM";
+
+ private static final String PROVIDER = "PROVIDER";
+
+ private static final String MODELPAGE = "PROVIDERPAGE";
+
+ /**
+ * Permanent URI for retrieving the original structure data
+ *
+ * @param urlStr
+ */
+ public void setRetrievalUrl(String urlStr)
+ {
+ setProperty(RETRIEVE_FROM, urlStr);
+ }
+
+ public boolean hasRetrievalUrl()
+ {
+ return _hasProperty(RETRIEVE_FROM);
+ }
+
+ /**
+ * get the Permanent URI for retrieving the original structure data
+ */
+ public String getRetrievalUrl()
+ {
+ return (String) getProperty(RETRIEVE_FROM);
+ }
+
+ /**
+ * Data provider name - from 3D Beacons
+ *
+ * @param provider
+ */
+ public void setProvider(String provider)
+ {
+ setProperty(PROVIDER, provider);
+ }
+
+ /**
+ * Get Data provider name - from 3D Beacons
+ *
+ */
+ public String getProvider()
+ {
+ return (String) getProperty(PROVIDER);
+ }
+
+ /**
+ * Permanent URI for retrieving the original structure data
+ *
+ * @param urlStr
+ */
+ public void setProviderPage(String urlStr)
+ {
+ setProperty(MODELPAGE, urlStr);
+ }
+
+ /**
+ * get the Permanent URI for retrieving the original structure data
+ */
+ public String getProviderPage()
+ {
+ return (String) getProperty(MODELPAGE);
+ }
+
+ public boolean hasProviderPage()
+ {
+ return _hasProperty(MODELPAGE);
+ }
+
+ public boolean hasProvider()
+ {
+ return _hasProperty(PROVIDER);
+ }