ee.sk.digidoc.tsl.SchemeInformation Maven / Gradle / Ivy
package ee.sk.digidoc.tsl;
import java.util.List;
import java.util.ArrayList;
import java.util.Date;
import ee.sk.utils.ConvertUtils;
/**
* Models the ETSI TS 102 231 V3.1.1. TSL SchemeInformation type
* @author Veiko Sinivee
*/
public class SchemeInformation {
/** version identifier */
private int m_version;
/** sequence number */
private int m_seqNr;
/** type */
private String m_type;
/** operator names */
private List m_operatorNames;
/** postal addresses */
private List m_postalAddresses;
/** electronic addresses */
private List m_electronicAddresses;
/** scheme names */
private List m_schemeNames;
/** scheme information URI-s */
private List m_schemeInformationUris;
/** status determination approach */
private String m_statusDeterminationApproach;
/** scheme type comminity rules */
private List m_schemeTypeCommunityRules;
/** scheme territoty */
private String m_schemeTerritory;
/** policy or legal notices */
private List m_policyOrLegalNotices;
/** historical information period */
private int m_historicalInformationPeriod;
/** list issue date */
private Date m_issueDate;
/** next updates */
private List m_nextUpdates;
/** distribution points */
private List m_distributionPoints;
public static final String TYPE_LOCAL = "LOCAL";
public static final String TYPE_GENERIC = "http://uri.etsi.org/TrstSvc/eSigDir-1999-93-EC-TrustedList/TSLType/generic";
/**
* Default constructor for SchemeInformation
*/
public SchemeInformation() {
m_version = 0;
m_seqNr = 0;
m_type = null;
m_operatorNames = null;
m_postalAddresses = null;
m_electronicAddresses = null;
m_schemeNames = null;
m_schemeInformationUris = null;
m_statusDeterminationApproach = null;
m_schemeTypeCommunityRules = null;
m_schemeTerritory = null;
m_policyOrLegalNotices = null;
m_historicalInformationPeriod = 0;
m_issueDate = null;
m_nextUpdates = null;
m_distributionPoints = null;
}
// accessors
public int getVersionIdentifier() { return m_version; }
public int getSequenceNumber() { return m_seqNr; }
public String getType() { return m_type; }
public MultiLangString[] getOperatorNames() { return ConvertUtils.list2mls(m_operatorNames); }
public PostalAddress[] getPostalAddresses() {
PostalAddress[] arr = null;
if(m_postalAddresses != null && m_postalAddresses.size() > 0) {
arr = new PostalAddress[m_postalAddresses.size()];
for(int i = 0; i < m_postalAddresses.size(); i++)
arr[i] = (PostalAddress)m_postalAddresses.get(i);
}
return arr;
}
public MultiLangString[] getElectronicAddresses() { return ConvertUtils.list2mls(m_electronicAddresses); }
public MultiLangString[] getSchemeNames() { return ConvertUtils.list2mls(m_schemeNames); }
public MultiLangString[] getSchemeInformationURIs() { return ConvertUtils.list2mls(m_schemeInformationUris); }
public String getStatusDeterminationApproach() { return m_statusDeterminationApproach; }
public MultiLangString[] getSchemeTypeCommunityRules() { return ConvertUtils.list2mls(m_schemeTypeCommunityRules); }
public String getSchemeTerritory() { return m_schemeTerritory; }
public MultiLangString[] getPolicyOrLegalNotices() { return ConvertUtils.list2mls(m_policyOrLegalNotices); }
public int getHistoricalInformationPeriod() { return m_historicalInformationPeriod; }
public Date getListIssueDate() { return m_issueDate; }
public Date[] getNextUpdates() { return ConvertUtils.list2dates(m_nextUpdates); }
public MultiLangString[] getDistributionPoints() { return ConvertUtils.list2mls(m_distributionPoints); }
public MultiLangString getOperatorName(int n) { return ConvertUtils.getListObj(m_operatorNames, n); }
public PostalAddress getPostalAddress(int n) {
if(m_postalAddresses != null && n >= 0 && n < m_postalAddresses.size())
return (PostalAddress)m_postalAddresses.get(n);
else
return null;
}
public MultiLangString getElectronicAddress(int n) { return ConvertUtils.getListObj(m_electronicAddresses, n); }
public MultiLangString getDistributionPoint(int n) { return ConvertUtils.getListObj(m_distributionPoints, n); }
public MultiLangString getSchemeName(int n) { return ConvertUtils.getListObj(m_schemeNames, n); }
public MultiLangString getSchemeInformationURI(int n) { return ConvertUtils.getListObj(m_schemeInformationUris, n); }
public MultiLangString getSchemeTypeCommunityRule(int n) { return ConvertUtils.getListObj(m_schemeTypeCommunityRules, n); }
public MultiLangString getPolicyOrLegalNotice(int n) { return ConvertUtils.getListObj(m_policyOrLegalNotices, n); }
// mutators
public void setVersionIdentifier(int n) { m_version = n; }
public void setSequenceNumber(int n) { m_seqNr = n; }
public void setType(String s) { m_type = s; }
public void addOperatorName(MultiLangString s) { m_operatorNames = ConvertUtils.addObject(m_operatorNames, s); }
public void addPostalAddress(PostalAddress a) {
if(m_postalAddresses == null)
m_postalAddresses = new ArrayList();
m_postalAddresses.add(a);
}
public void addElectronicAddress(MultiLangString s) { m_electronicAddresses = ConvertUtils.addObject(m_electronicAddresses, s); }
public void addSchemeName(MultiLangString s) { m_schemeNames = ConvertUtils.addObject(m_schemeNames, s); }
public void addSchemeInformationURI(MultiLangString s) { m_schemeInformationUris = ConvertUtils.addObject(m_schemeInformationUris, s); }
public void setStatusDeterminationApproach(String s) { m_statusDeterminationApproach = s; }
public void addSchemeTypeCommunityRule(MultiLangString s) { m_schemeTypeCommunityRules = ConvertUtils.addObject(m_schemeTypeCommunityRules, s); }
public void setSchemeTerritory(String s) { m_schemeTerritory = s; }
public void addPolicyOrLegalNotice(MultiLangString s) { m_policyOrLegalNotices = ConvertUtils.addObject(m_policyOrLegalNotices, s); }
public void setHistoricalInformationPeriod(int n) { m_historicalInformationPeriod = n; }
public void setListIssueDate(Date d) { m_issueDate = d; }
public void addNextUpdate(Date d) { m_nextUpdates = ConvertUtils.addObject(m_nextUpdates, d); }
public void addDistributionPoint(MultiLangString s) { m_distributionPoints = ConvertUtils.addObject(m_distributionPoints, s); }
/**
* Returns elements stringified form for debugging
* @return elements stringified form
*/
public String toString() {
StringBuffer sb = new StringBuffer("[SchemeInformation");
sb.append(ConvertUtils.intElemToString("ver", m_version));
sb.append(ConvertUtils.intElemToString("seq", m_seqNr));
sb.append(ConvertUtils.stringElemToString("type", m_type));
sb.append("[OperatorNames");
for(int i = 0; (m_operatorNames != null) && (i < m_operatorNames.size()); i++)
sb.append((MultiLangString)m_operatorNames.get(i));
sb.append("][PostalAddresses");
for(int i = 0; (m_postalAddresses != null) && (i < m_postalAddresses.size()); i++)
sb.append((PostalAddress)m_postalAddresses.get(i));
sb.append("][ElectronicAddresses");
for(int i = 0; (m_electronicAddresses != null) && (i < m_electronicAddresses.size()); i++)
sb.append((MultiLangString)m_electronicAddresses.get(i));
sb.append("][SchemeNames");
for(int i = 0; (m_schemeNames != null) && (i < m_schemeNames.size()); i++)
sb.append((MultiLangString)m_schemeNames.get(i));
sb.append("][SchemeInfoURIs");
for(int i = 0; (m_schemeInformationUris != null) && (i < m_schemeInformationUris.size()); i++)
sb.append((MultiLangString)m_schemeInformationUris.get(i));
sb.append("]");
sb.append(ConvertUtils.stringElemToString("status-approach", m_statusDeterminationApproach));
sb.append("][CommunityRules");
for(int i = 0; (m_schemeTypeCommunityRules != null) && (i < m_schemeTypeCommunityRules.size()); i++)
sb.append((MultiLangString)m_schemeTypeCommunityRules.get(i));
sb.append(ConvertUtils.stringElemToString("territory", m_schemeTerritory));
sb.append("][Policies");
for(int i = 0; (m_policyOrLegalNotices != null) && (i < m_policyOrLegalNotices.size()); i++)
sb.append((MultiLangString)m_policyOrLegalNotices.get(i));
sb.append("]");
sb.append(ConvertUtils.intElemToString("info-period", m_historicalInformationPeriod));
sb.append(ConvertUtils.dateElemToString("issue-date", m_issueDate));
sb.append("[NextUpdate");
for(int i = 0; (m_nextUpdates != null) && (i < m_nextUpdates.size()); i++)
sb.append(ConvertUtils.dateElemToString("next-update", (Date)m_nextUpdates.get(i)));
sb.append("][DistributionPoints");
for(int i = 0; (m_distributionPoints != null) && (i < m_distributionPoints.size()); i++)
sb.append((MultiLangString)m_distributionPoints.get(i));
sb.append("]");
sb.append("]");
return sb.toString();
}
}