Skip to content

Commit

Permalink
Merge pull request #36 from ical4j/develop
Browse files Browse the repository at this point in the history
Prepare release
  • Loading branch information
benfortuna committed Feb 15, 2024
2 parents 78deb5d + bd32a57 commit c3ebbfe
Show file tree
Hide file tree
Showing 14 changed files with 421 additions and 104 deletions.
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

0 comments on commit c3ebbfe

Please sign in to comment.