All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.svws_nrw.davapi.util.vcard.RelatedProperty Maven / Gradle / Ivy

Go to download

Diese Bibliothek enthält die Java-Server-Definition der CalDAV und CardDAV-Schnittstelle für die Schulverwaltungssoftware in NRW

There is a newer version: 1.0.1
Show newest version
package de.svws_nrw.davapi.util.vcard;

/**
 * Diese Klasse repräsentiert das Related Property einer VCard V4
 *
 */
public final class RelatedProperty implements VCardProperty {

	private final RelatedTypeValue type;
	private final String relatedVCardUUID;

	/**
	 * Konstruktor mit dem der Typ der Relation zu einer anderen VCard und der UUID
	 * der anderen VCard
	 *
	 * @param type             der Typ der Relation zu einer anderen VCard
	 * @param relatedVCardUUID die UUID der verbundenen VCard
	 */
	public RelatedProperty(final RelatedTypeValue type, final String relatedVCardUUID) {
		this.type = type;
		this.relatedVCardUUID = relatedVCardUUID;
	}

	@Override
	public String getType() {
		return "RELATED;TYPE=" + type.name().toLowerCase();
	}

	@Override
	public void serializeType(final StringBuilder sb) {
		sb.append(getType());

	}

	@Override
	public void serializeProperty(final StringBuilder sb) {
		sb.append("urn:uuid:");
		sb.append(relatedVCardUUID);
	}

	/**
	 * Typen von möglichen Relationen zwischen vCards gemäß
	 * https://www.rfc-editor.org/rfc/rfc6350#section-6.6.6
	 *
	 */
	public enum RelatedTypeValue {
		/** Kind dieser VCard */
		CHILD,
		/** Eltern dieser VCard */
		PARENT,
		/** Geschwister dieser VCARD */
		SIBLING
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy