Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare release #36

Merged
merged 5 commits into from
Feb 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 41 additions & 10 deletions src/main/java/net/fortuna/ical4j/extensions/concept/ActionType.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,41 +9,72 @@
*/
public class ActionType extends ImmutableConcept {

public enum Id {
Action("ical4j:concept:action"),

Agenda("ical4j:concept:action:agenda"),

Approval("ical4j:concept:action:approval"),

ServiceQualification("ical4j:concept:action:service_qualification"),

Payment("ical4j:concept:action:payment"),

Fulfilment("ical4j:concept:action:fulfilment"),

Clarification("ical4j:concept:action:clarification"),

Review("ical4j:concept:action:review"),

LinkRegistration("ical4j:concept:action:link_registration");

private final URI uri;

Id(String uri) {
this.uri = URI.create(uri);
}

public URI getUri() {
return uri;
}
}
/**
* General action type.
*/
public static final ActionType ACTION = new ActionType("https://ical4j.org/extensions/concept/action/ACTION");
public static final ActionType ACTION = new ActionType(Id.Action);

/**
* A proposed agenda for events such as meetings, etc.
*/
public static final ActionType AGENDA = new ActionType("https://ical4j.org/extensions/concept/action/AGENDA");
public static final ActionType AGENDA = new ActionType(Id.Agenda);

/**
* Approval action, typically used in a workflow involving orders and service requests.
*/
public static final ActionType APPROVAL = new ActionType("https://ical4j.org/extensions/concept/action/APPROVAL");
public static final ActionType APPROVAL = new ActionType(Id.Approval);

/**
* Qualification action, used to review a service request to ensure requester qualifies for service.
*/
public static final ActionType SERVICE_QUALIFICATION = new ActionType("https://ical4j.org/extensions/concept/action/SERVICE_QUALIFICATION");
public static final ActionType SERVICE_QUALIFICATION = new ActionType(Id.ServiceQualification);

public static final ActionType PAYMENT = new ActionType("https://ical4j.org/extensions/concept/action/PAYMENT");
public static final ActionType PAYMENT = new ActionType(Id.Payment);

/**
* Fulfilment action, typically used to resolve orders and service requests.
*/
public static final ActionType FULFILMENT = new ActionType("https://ical4j.org/extensions/concept/action/FULFILMENT");
public static final ActionType FULFILMENT = new ActionType(Id.Fulfilment);

/**
* Clarification action, typically use to request further information to resolve orders and service requests.
*/
public static final ActionType CLARIFICATION = new ActionType("https://ical4j.org/extensions/concept/action/CLARIFICATION");
public static final ActionType CLARIFICATION = new ActionType(Id.Clarification);

public static final ActionType REVIEW = new ActionType(Id.Review);

public static final ActionType REVIEW = new ActionType("https://schema.org/Review");
public static final ActionType LINK_REGISTRATION = new ActionType(Id.LinkRegistration);

public ActionType(String uri) {
super(URI.create(uri));
public ActionType(Id id) {
super(id.getUri());
}
}
40 changes: 40 additions & 0 deletions src/main/java/net/fortuna/ical4j/extensions/concept/AssetType.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package net.fortuna.ical4j.extensions.concept;

import java.net.URI;

/**
* A concept typically applied to VRESOURCE objects when embedded metadata for assets is required.
*/
public class AssetType extends ImmutableConcept {


public enum Id {
Asset("ical4j:concept:asset"),

Vehicle("ical4j:concept:asset:vehicle"),

Property("ical4j:concept:asset:property"),

ConfigurationItem("ical4j:concept:asset:configuration_item");

private final URI uri;

Id(String uri) {
this.uri = URI.create(uri);
}

public URI getUri() {
return uri;
}
}

public static final AssetType VEHICLE = new AssetType(Id.Vehicle);

public static final AssetType PROPERTY = new AssetType(Id.Property);

public static final AssetType CONFIGURATION_ITEM = new AssetType(Id.ConfigurationItem);

public AssetType(Id id) {
super(id.getUri());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,53 @@

public class AvailabilityType extends ImmutableConcept {

public static final AvailabilityType AVAILABILITY = new AvailabilityType("https://ical4j.org/extensions/concept/availability/AVAILABILITY");
public enum Id {
Availability("ical4j:concept:availability"),

Roster("ical4j:concept:availability:roster"),

Reservable("ical4j:concept:availability:reservable"),

Invitation("ical4j:concept:availability:invitation"),

Offer("ical4j:concept:availability:offer");

private final URI uri;

Id(String uri) {
this.uri = URI.create(uri);
}

public URI getUri() {
return uri;
}
}

public static final AvailabilityType AVAILABILITY = new AvailabilityType(Id.Availability);

/**
* A Roster is used to schedule availability for individuals.
*/
public static final AvailabilityType ROSTER = new AvailabilityType("https://ical4j.org/extensions/concept/availability/ROSTER");
public static final AvailabilityType ROSTER = new AvailabilityType(Id.Roster);

/**
* A Reservable provides availability for a finite resource such as physical assets.
*/
public static final AvailabilityType RESERVABLE = new AvailabilityType("https://ical4j.org/extensions/concept/availability/RESERVABLE");
public static final AvailabilityType RESERVABLE = new AvailabilityType(Id.Reservable);

/**
* Defines availability period to subscribe to
* a linked entity or resource. The definition of subscribe, and resulting actions are implementation-
* specific and not defined here.
*/
public static final AvailabilityType INVITATION = new AvailabilityType(Id.Invitation);

/**
* See: <a href="https://schema.org/Offer">schema.org: Offer</a>
*/
public static final AvailabilityType OFFER = new AvailabilityType(Id.Offer);

public AvailabilityType(String type) {
super(URI.create(type));
public AvailabilityType(Id id) {
super(id.getUri());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package net.fortuna.ical4j.extensions.concept;

import java.net.URI;

/**
* A concept typically applied to PARTICIPANT objects when embedded metadata for contributors is required.
*/
public class ContributorType extends ImmutableConcept {

public enum Id {
Reporter("ical4j:concept:contributor:reporter"),

Assignee("ical4j:concept:contributor:assignee");

private final URI uri;

Id(String uri) {
this.uri = URI.create(uri);
}

public URI getUri() {
return uri;
}
}

public static final ContributorType REPORTER = new ContributorType(Id.Reporter);

public static final ContributorType ASSIGNEE = new ContributorType(Id.Assignee);

public ContributorType(Id id) {
super(id.getUri());
}
}
53 changes: 29 additions & 24 deletions src/main/java/net/fortuna/ical4j/extensions/concept/EventType.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,38 +8,43 @@
*/
public class EventType extends ImmutableConcept {

public static final EventType EVENT = new EventType("https://ical4j.org/extensions/concept/event/EVENT");
public enum Id {
Event("ical4j:concept:event"),

public static final EventType MEETING = new EventType("https://ical4j.org/extensions/concept/event/MEETING");
Meeting("ical4j:concept:event:meeting"),

public static final EventType APPOINTMENT = new EventType("https://ical4j.org/extensions/concept/event/APPOINTMENT");
Appointment("ical4j:concept:event:appointment"),

public static final EventType SEMINAR = new EventType("https://ical4j.org/extensions/concept/event/SEMINAR");
Seminar("ical4j:concept:event:seminar"),

public static final EventType CONFERENCE = new EventType("https://ical4j.org/extensions/concept/event/CONFERENCE");
Conference("ical4j:concept:event:conference"),

public static final EventType PERFORMANCE = new EventType("https://ical4j.org/extensions/concept/event/PERFORMANCE");
Performance("ical4j:concept:event:performance");

/**
* Defines a transparent event used to describe a period of time that one or more subscribers are "interested"
* in a linked entity or resource. The definition of interested, and resulting actions are implementation-
* specific and not defined here.
*/
public static final EventType SUBSCRIPTION = new EventType("https://ical4j.org/extensions/concept/event/SUBSCRIPTION");
private final URI uri;

/**
* Defines a transparent event used to describe temporary permission to subscribe to
* a linked entity or resource. The definition of subscribe, and resulting actions are implementation-
* specific and not defined here.
*/
public static final EventType INVITATION = new EventType("https://ical4j.org/extensions/concept/event/INVITATION");
Id(String uri) {
this.uri = URI.create(uri);
}

/**
* See: <a href="https://schema.org/Offer">schema.org: Offer</a>
*/
public static final EventType OFFER = new EventType("https://ical4j.org/extensions/concept/event/OFFER");
public URI getUri() {
return uri;
}
}

public static final EventType EVENT = new EventType(Id.Event);

public static final EventType MEETING = new EventType(Id.Meeting);

public static final EventType APPOINTMENT = new EventType(Id.Appointment);

public static final EventType SEMINAR = new EventType(Id.Seminar);

public static final EventType CONFERENCE = new EventType(Id.Conference);

public static final EventType PERFORMANCE = new EventType(Id.Performance);

public EventType(String type) {
super(URI.create(type));
public EventType(Id id) {
super(id.getUri());
}
}
57 changes: 45 additions & 12 deletions src/main/java/net/fortuna/ical4j/extensions/concept/IssueType.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,56 +9,89 @@
*/
public class IssueType extends ImmutableConcept {

public enum Id {
Issue("ical4j:concept:issue"),

Story("ical4j:concept:issue:story"),

Epic("ical4j:concept:issue:epic"),

Task("ical4j:concept:issue:task"),

Subtask("ical4j:concept:issue:subtask"),

Risk("ical4j:concept:issue:risk"),

Improvement("ical4j:concept:issue:improvement"),

Change("ical4j:concept:issue:change"),

Incident("ical4j:concept:issue:incident"),


Problem("ical4j:concept:issue:problem");

private final URI uri;

Id(String uri) {
this.uri = URI.create(uri);
}

public URI getUri() {
return uri;
}
}

/**
* Generic issue type.
*/
public static final IssueType ISSUE = new IssueType("https://ical4j.org/extensions/concept/issue/ISSUE");
public static final IssueType ISSUE = new IssueType(Id.Issue);

public static final IssueType STORY = new IssueType("https://ical4j.org/extensions/concept/issue/STORY");
public static final IssueType STORY = new IssueType(Id.Story);

/**
* A high-level feature or enhancement to a service or process. Typically, will consist of multiple
* stories required to implement said feature.
*/
public static final IssueType EPIC = new IssueType("https://ical4j.org/extensions/concept/issue/EPIC");
public static final IssueType EPIC = new IssueType(Id.Epic);

/**
* A task to be performed, sometimes repeatedly, as part of BAU or other activities.
*/
public static final IssueType TASK = new IssueType("https://ical4j.org/extensions/concept/issue/TASK");
public static final IssueType TASK = new IssueType(Id.Task);

/**
* A child task that requires completion in order to complete the parent.
*/
public static final IssueType SUBTASK = new IssueType("https://ical4j.org/extensions/concept/issue/SUBTASK");
public static final IssueType SUBTASK = new IssueType(Id.Subtask);

/**
* Identify a potential problem before it manifests.
*/
public static final IssueType RISK = new IssueType("https://ical4j.org/extensions/concept/issue/RISK");
public static final IssueType RISK = new IssueType(Id.Risk);

/**
* Capture details of process improvements and feature roadmap. This can be used to track
* demand from both internal and external sources.
*/
public static final IssueType IMPROVEMENT = new IssueType("https://ical4j.org/extensions/concept/issue/IMPROVEMENT");
public static final IssueType IMPROVEMENT = new IssueType(Id.Improvement);

/**
* Plan and track changes being made to critical environments and services.
*/
public static final IssueType CHANGE = new IssueType("https://ical4j.org/extensions/concept/issue/CHANGE");
public static final IssueType CHANGE = new IssueType(Id.Change);

/**
* Record incidents such as service degradation or other impacting events.
*/
public static final IssueType INCIDENT = new IssueType("https://ical4j.org/extensions/concept/issue/INCIDENT");
public static final IssueType INCIDENT = new IssueType(Id.Incident);

/**
* Identify and track problems that may not necessarily impact service offerings directly.
*/
public static final IssueType PROBLEM = new IssueType("https://ical4j.org/extensions/concept/issue/PROBLEM");
public static final IssueType PROBLEM = new IssueType(Id.Problem);

public IssueType(String uri) {
super(URI.create(uri));
public IssueType(Id id) {
super(id.getUri());
}
}
Loading
Loading