me.vertretungsplan.objects.credential.Credential Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of parser Show documentation
Show all versions of parser Show documentation
Java library for parsing schools' substitution schedules. Supports multiple different systems mainly used in the German-speaking countries.
/*
* substitution-schedule-parser - Java library for parsing schools' substitution schedules
* Copyright (c) 2016 Johan v. Forstner
*
* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
* If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package me.vertretungsplan.objects.credential;
import org.joda.time.DateTime;
public interface Credential {
/**
* Get a hash value for the credential data.
* This can be used to differentiate between two credentials or to allow a user to authenticate to an application
* which uses this parser. It should not be used by {@link me.vertretungsplan.parser.SubstitutionScheduleParser}
* implementations, especially not if they depend on a specific hashing algorithm.
*
* For two Credential objects a and b, the following relation should apply:
* a.getHash().equals(b.getHash()) if and only if a.getLoginData().equals(b.getLoginData())
*
* @return Hash value for the credential data.
*/
String getHash();
String getSchoolId();
String getScheduleId();
/**
* @return If this credential is believed to be valid. Not necessary for any
* {@link me.vertretungsplan.parser.SubstitutionScheduleParser} implementations.
*/
boolean isValid();
/**
* Set if this credential is believed to be valid. Useful if your application saves credentials and checks them
* periodically.
*
* @param valid if this credential is believed to be valid
*/
void setValid(boolean valid);
/**
* @return The last time this credential was checked. Not necessary for any
* {@link me.vertretungsplan.parser.SubstitutionScheduleParser} implementations.
*/
DateTime getLastCheck();
/**
* Set the last time this credential was checked. Useful if your application saves credentials and checks them
* periodically.
*
* @param lastCheck last time this credential was checked
*/
void setLastCheck(DateTime lastCheck);
String getId();
}