Skip to content

Commit

Permalink
thunderpay-api: billing[util(tag - ControlTagType)]
Browse files Browse the repository at this point in the history
  • Loading branch information
krishpranav committed Jan 8, 2025
1 parent 577407f commit 386795f
Showing 1 changed file with 49 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* @file ControlTagType.java
* @author Krisna Pranav
* @brief Control Tag Type
* @version 1.0
* @date 2024-11-25
*
* @copyright Copyright (c) 2024 ThunderPayment Developers, Krisna Pranav
*
*/

package org.thunderpay.billing.util.tag;

import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
import org.thunderpay.billing.ObjectType;

public enum ControlTagType {
AUTO_PAY_OFF(new UUID(0, 1), "Suspends payments until removed.", true, false, Collections.<ObjectType>singletonList(ObjectType.ACCOUNT)),
AUTO_INVOICING_OFF(new UUID(0, 2), "Suspends invoicing until removed.", false, true, Collections.<ObjectType>singletonList(ObjectType.ACCOUNT)),
OVERDUE_ENFORCEMENT_OFF(new UUID(0, 3), "Suspends overdue enforcement behaviour until removed.", false, false, Collections.<ObjectType>singletonList(ObjectType.ACCOUNT)),
WRITTEN_OFF(new UUID(0, 4), "Indicates that an invoice is written off. No billing or payment effect.", false, false, Collections.<ObjectType>singletonList(ObjectType.INVOICE)),
MANUAL_PAY(new UUID(0, 5), "Indicates that Killbill doesn't process payments for that account (external payments only)", true, false, Collections.<ObjectType>singletonList(ObjectType.ACCOUNT)),
TEST(new UUID(0, 6), "Indicates that this is a test account", false, false, Collections.<ObjectType>singletonList(org.killbill.billing.ObjectType.ACCOUNT)),
PARTNER(new UUID(0, 7), "Indicates that this is a partner account", false, false, Collections.<ObjectType>singletonList(org.killbill.billing.ObjectType.ACCOUNT)),
AUTO_INVOICING_DRAFT(new UUID(0, 8), "Generate account invoices in DRAFT mode.", false, false, Collections.<ObjectType>singletonList(org.killbill.billing.ObjectType.ACCOUNT)),
AUTO_INVOICING_REUSE_DRAFT(new UUID(0, 9), "Use existing draft invoice if exists.", false, false, Collections.<ObjectType>singletonList(org.killbill.billing.ObjectType.ACCOUNT));

private final UUID id;
private final String description;
private final boolean autoPaymentOff;
private final boolean autoInvoicingOff;
private final List<ObjectType> applicableObjectType;

ControlTagType(final UUID id, final String description, final boolean autoPaymentOff, final boolean autoInvoicingOff, final List<ObjectType> applicableObjectType) {
this.id = id;
this.description = description;
this.autoPaymentOff = autoPaymentOff;
this.autoInvoicingOff = autoInvoicingOff;
this.applicableObjectType = applicableObjectType;
}

public UUID getId() {
return id;
}

}

0 comments on commit 386795f

Please sign in to comment.