diff --git a/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/AccessEvents.java b/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/AccessEvents.java index 544693464..266caa83c 100644 --- a/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/AccessEvents.java +++ b/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/AccessEvents.java @@ -18,6 +18,9 @@ import org.eclipse.passage.lic.api.conditions.LicensingCondition; +/** + * @since 0.4.0 + */ public final class AccessEvents { private AccessEvents() { diff --git a/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/AccessManager.java b/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/AccessManager.java index 02ab7af2d..33f588469 100644 --- a/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/AccessManager.java +++ b/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/AccessManager.java @@ -21,6 +21,7 @@ /** * The main entry point to the licensing * + * @since 0.4.0 */ public interface AccessManager { diff --git a/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/FeaturePermission.java b/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/FeaturePermission.java index 1de3c54b1..c2ac921e5 100644 --- a/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/FeaturePermission.java +++ b/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/FeaturePermission.java @@ -18,17 +18,37 @@ import org.eclipse.passage.lic.api.conditions.LicensingCondition; /** - * Permission to use the component of given name and version range obtained from - * {@link PermissionEmitter} as a result of evaluation for - * {@link LicensingCondition} + * Permission expresses runtime state of a satisfied {@link LicensingCondition}: + * all terms that {@link LicensingCondition} establishes are fulfilled and the + * permission to use the feature of given name and version range is issues by + * {@link PermissionEmitter}. + *
+ * In other words, {@link PermissionEmitter} evaluates a {@link LicensingCondition} and emits or not
+ * corresponding {@link FeaturePermission}.
+ *
+ * @since 0.4.0
*/
public interface FeaturePermission {
LicensingConfiguration getLicensingConfiguration();
+ /**
+ * The original {@code LicensingCondition} for which this {@link FeaturePermission} was emitted.
+ */
LicensingCondition getLicensingCondition();
+ /**
+ * In general case a {@link FeaturePermission} is time-limited.
+ * {@code LeaseDate} is timestamp of the permission emission.
+ *
+ * @see #getExpireDate()
+ */
Date getLeaseDate();
+ /**
+ * The date of the permission expiration. It is no longer valid after this date.
+ *
+ * @see #getLeaseDate()
+ */
Date getExpireDate();
}
diff --git a/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/LicensingRequest.java b/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/LicensingRequest.java
index b235c98d4..728b6ac37 100644
--- a/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/LicensingRequest.java
+++ b/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/LicensingRequest.java
@@ -18,9 +18,8 @@
/**
* Collects the data required to issue the license
- *
- * @since 0.5.0
*
+ * @since 0.5.0
*/
public interface LicensingRequest {
diff --git a/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/PermissionEmitter.java b/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/PermissionEmitter.java
index 44d6a3c16..4d1972b75 100644
--- a/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/PermissionEmitter.java
+++ b/bundles/org.eclipse.passage.lic.api/src/org/eclipse/passage/lic/api/access/PermissionEmitter.java
@@ -17,12 +17,20 @@
import org.eclipse.passage.lic.api.conditions.LicensingCondition;
/**
- * Evaluates the collection of {@link LicensingCondition} to emit a collection
- * of {@link FeaturePermission}
+ * Interface of a service responsible for {@link LicensingCondition}s evaluation against the current program runtime.
+ * As a result of evaluation, for a {@link LicensingCondition} a {@code FeaturePermission} can be emitted,
+ * in case all the {@link LicensingCondition}'s terms are met at the current program runtime.
*
+ * @see LicensingCondition
+ * @see FeaturePermission
+ * @since 0.4.0
*/
public interface PermissionEmitter {
-
+ /**
+ * Evaluates the collection of {@link LicensingCondition} to emit a collection
+ * of {@link FeaturePermission}
+ *
+ */
Iterable