Index

A B C D E H I J L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Serialized Form

A

addCapacity(Integer) - Method in class main.domain.models.events.Event
Adds capacity to the event's box office.
AdminRegistering - Class in main.domain.contexts.user
Context for registering an admin user.
AdminRegistering(Users) - Constructor for class main.domain.contexts.user.AdminRegistering
Constructor that initializes the repository.
amount() - Method in class main.domain.models.purchases.PaymentDetails
Returns the formatted payment amount as a string.
asAdmin() - Method in class main.domain.models.users.User
Promotes the user to admin.
attributes() - Method in class main.domain.models.email.Html
Sets the attributes of the HTML element.
author() - Method in class main.domain.models.evaluations.Evaluation
Returns the user ID of the author of the evaluation.
available() - Method in class main.domain.models.events.BoxOffice
Returns the number of available tickets.
AvailableEventsListing - Class in main.domain.contexts.events
Context for listing available events starting from today.
AvailableEventsListing(Events) - Constructor for class main.domain.contexts.events.AvailableEventsListing
Constructor with the specified events repository.
availableFor() - Method in class main.domain.models.events.Ticket
Returns the number of persons the ticket is available for.
availableOn(LocalDate) - Method in class main.infra.json.EventsJson
 
availableOn(LocalDate) - Method in class main.infra.virtual.EventsInMemory
 
availableOn(LocalDate) - Method in interface main.roles.repositories.Events
Lists all events available on a specific date.
availables() - Method in class main.domain.contexts.events.AvailableEventsListing
Retrieves the list of available events starting from the set date.

B

beingToday(LocalDate) - Method in class main.domain.contexts.events.AvailableEventsListing
Sets the current date for the context.
body() - Method in class main.domain.models.email.EmailDocument
Returns the body content of the email as a string.
boxOffice() - Method in class main.domain.models.events.Event
Returns the box office details of the event.
BoxOffice - Class in main.domain.models.events
Represents a box office for selling and refunding event tickets.
BoxOffice(Ticket) - Constructor for class main.domain.models.events.BoxOffice
Constructs a new BoxOffice with the specified ticket sample and default capacity and sales.
br() - Static method in class main.domain.models.email.Html
Creates an empty HTML line break element.
buy(Integer) - Method in class main.domain.contexts.purchases.TicketBuying
Executes the ticket purchase.
buyer - Variable in class main.domain.contexts.purchases.internal.Purchase
 
buyTicket(Ticket) - Method in class main.domain.models.users.User
Buys a ticket and adds it to the user's bought tickets.
by(User) - Method in class main.domain.contexts.events.EventRegistering
Sets the author of the event.
by(UserId) - Method in class main.domain.contexts.events.EventEvaluation
Sets the author ID for the evaluation.
by(UserId) - Method in class main.domain.contexts.purchases.TicketBuying
Sets the customer who is buying the tickets.
byId(EventId) - Method in class main.infra.json.EventsJson
 
byId(EventId) - Method in class main.infra.virtual.EventsInMemory
 
byId(EventId) - Method in interface main.roles.repositories.Events
Retrieves an event by its ID.
byId(UserId) - Method in class main.infra.json.UsersJson
 
byId(UserId) - Method in class main.infra.virtual.UsersInMemory
 
byId(UserId) - Method in interface main.roles.repositories.Users
Retrieves an user by their ID.

C

CantRegisterPastEvent - Exception Class in main.domain.exceptions
Exception thrown when attempting to register an event scheduled for a past date.
CantRegisterPastEvent() - Constructor for exception class main.domain.exceptions.CantRegisterPastEvent
Constructs a new CantRegisterPastEvent with no detail message.
capacity() - Method in class main.domain.models.events.BoxOffice
Returns the capacity of the event.
changing() - Method in class main.domain.contexts.user.UserEditing
Prepares to change the specified user.
comment() - Method in class main.domain.models.evaluations.Evaluation
Returns the evaluation comment.
content(String) - Method in class main.domain.models.email.Html
Sets the content of the HTML element.
Context - Interface in main.roles
Marker interface for contexts within the application, aligning with DDD and Clean Architecture principles.
copy() - Method in class main.domain.models.events.Ticket
Creates a copy of the current ticket.
copy() - Method in class main.domain.models.users.User
 
cpf() - Method in class main.domain.models.users.Person
Returns the CPF of the person.
cpf(String) - Method in class main.domain.contexts.user.forms.PersonalInformation
Sets the CPF for the personal information.
cpf(String) - Method in class main.domain.contexts.user.UserEditing.EditingWithTarget
Updates the user's CPF.
cpnj() - Method in class main.domain.models.purchases.EventManagementBusiness
Returns the CNPJ of the Event Management Business.

D

date() - Method in class main.domain.models.events.Poster
Returns the schedule date of the event.
description() - Method in class main.domain.models.events.Poster
Returns the description of the event.
description(String) - Method in class main.domain.contexts.events.forms.EventInformation
Sets the description of the event.
DisabledEmailService - Class in main.infra
A mock implementation of the EmailService interface used for testing purposes.
DisabledEmailService() - Constructor for class main.infra.DisabledEmailService
 

E

edit() - Method in class main.domain.contexts.user.UserEditing.EditingWithTarget
Commits the changes to the user.
EditingWithTarget(Users, User) - Constructor for class main.domain.contexts.user.UserEditing.EditingWithTarget
Constructs an EditingWithTarget instance with the specified repository and user.
email() - Method in class main.domain.models.purchases.EventManagementBusiness
Returns the email of the Event Management Business.
email() - Method in class main.domain.models.purchases.Participant
Returns the email of the participant.
email() - Method in class main.domain.models.users.Login
Returns the email address of the user.
email() - Method in class main.infra.DisabledEmailService
Returns the captured email document.
email(String) - Method in class main.domain.contexts.user.forms.LoginInformation
Sets the email for the login information.
email(String) - Method in class main.domain.contexts.user.UserEditing.EditingWithTarget
Updates the user's email.
EmailAddress - Class in main.domain.models.users.values
 
EmailAddress(String) - Constructor for class main.domain.models.users.values.EmailAddress
 
EmailAlreadyExists - Exception Class in main.domain.exceptions
Exception thrown when attempting to register an email that already exists in the system.
EmailAlreadyExists() - Constructor for exception class main.domain.exceptions.EmailAlreadyExists
Constructs a new EmailAlreadyExists exception with no detail message.
EmailDocument - Class in main.domain.models.email
Represents an email document, including metadata and the body content.
EmailDocument(EmailMetadata, Html) - Constructor for class main.domain.models.email.EmailDocument
Constructs a new EmailDocument with the specified metadata and body.
EmailMetadata - Class in main.domain.models.email
Represents the metadata of an email, including sender, recipient, and subject.
EmailMetadata(EmailAddress, EmailAddress, String) - Constructor for class main.domain.models.email.EmailMetadata
Constructs a new EmailMetadata with the specified sender, recipient, and subject.
EmailService - Interface in main.roles
Interface for sending emails within the application.
empty() - Method in class main.domain.models.email.Html
Creates an empty HTML element.
Entity<Id> - Interface in main.roles
Represents a generic entity within the domain.
EntityId - Class in main.roles
Represents the unique identifier for an entity within the domain.
EntityId() - Constructor for class main.roles.EntityId
Constructs a new EntityId with a randomly generated UUID.
EntityId(UUID) - Constructor for class main.roles.EntityId
Constructs a new EntityId with the specified UUID.
equals(Object) - Method in class main.domain.models.users.Login
 
equals(Object) - Method in class main.domain.models.users.Person
Checks if the current object is equal to another object.
equals(Object) - Method in class main.domain.models.users.User
 
equals(Object) - Method in class main.domain.models.users.values.EmailAddress
 
equals(Object) - Method in class main.domain.models.users.values.Password
 
equals(Object) - Method in class main.roles.EntityId
 
equals(String) - Method in class main.domain.models.users.values.EmailAddress
 
equals(String) - Method in class main.domain.models.users.values.Password
 
equals(Login) - Method in class main.domain.models.users.Login
 
equals(Person) - Method in class main.domain.models.users.Person
Checks if the current person is equal to another person.
equals(User) - Method in class main.domain.models.users.User
 
equals(EmailAddress) - Method in class main.domain.models.users.values.EmailAddress
 
evaluateWith(String) - Method in class main.domain.contexts.events.EventEvaluation
Submits the evaluation with the given comment.
Evaluation - Class in main.domain.models.evaluations
Represents an evaluation of an event, including the event ID, author ID, and comment.
Evaluation(EvaluationId, EventId, UserId, String) - Constructor for class main.domain.models.evaluations.Evaluation
Constructs a new Evaluation with the specified evaluation ID, event ID, author ID, and comment.
Evaluation(EventId, UserId, String) - Constructor for class main.domain.models.evaluations.Evaluation
Constructs a new Evaluation with the specified event ID, author ID, and comment.
EvaluationId - Class in main.domain.models.evaluations
 
EvaluationId() - Constructor for class main.domain.models.evaluations.EvaluationId
 
evaluations() - Method in class main.domain.models.events.Event
Returns the list of evaluations for the event.
event - Variable in class main.domain.contexts.purchases.internal.Purchase
 
event() - Method in class main.domain.models.evaluations.Evaluation
Returns the event ID being evaluated.
event() - Method in class main.domain.models.events.Ticket
Returns the event ID associated with the ticket.
event(String, LocalDate) - Method in class main.infra.json.EventsJson
 
event(String, LocalDate) - Method in class main.infra.virtual.EventsInMemory
 
event(String, LocalDate) - Method in interface main.roles.repositories.Events
Retrieves an event by its title and date.
Event - Class in main.domain.models.events
Represents an event with its poster, box office details, and evaluations.
Event(Poster) - Constructor for class main.domain.models.events.Event
Constructs a new Event with the specified poster and a default ticket price.
Event(Poster, Double) - Constructor for class main.domain.models.events.Event
Constructs a new Event with the specified poster and ticket price.
EventAlreadyRegistered - Exception Class in main.domain.exceptions
Exception thrown when attempting to register an event that is already registered.
EventAlreadyRegistered() - Constructor for exception class main.domain.exceptions.EventAlreadyRegistered
Constructs a new EventAlreadyRegistered exception with no detail message.
EventEvaluation - Class in main.domain.contexts.events
Context for evaluating an event.
EventEvaluation(Events, LocalDate) - Constructor for class main.domain.contexts.events.EventEvaluation
Constructor with the specified events repository.
EventId - Class in main.domain.models.events
 
EventId() - Constructor for class main.domain.models.events.EventId
 
EventInformation - Class in main.domain.contexts.events.forms
Represents the information required for an event, including the title, description, and schedule.
EventInformation() - Constructor for class main.domain.contexts.events.forms.EventInformation
 
EventManagementBusiness - Class in main.domain.models.purchases
Represents constant information for the Event Management Business, including email, CNPJ, and company name.
EventManagementBusiness() - Constructor for class main.domain.models.purchases.EventManagementBusiness
 
EventRegistering - Class in main.domain.contexts.events
Context for registering an event.
EventRegistering(Events) - Constructor for class main.domain.contexts.events.EventRegistering
Constructor with the specified events repository.
Events - Interface in main.roles.repositories
Interface for managing Event entities.
EventsInMemory - Class in main.infra.virtual
In-memory implementation of the Events repository.
EventsInMemory() - Constructor for class main.infra.virtual.EventsInMemory
Constructs a new EventsInMemory with an empty list of events.
EventsInMemory(List<Event>) - Constructor for class main.infra.virtual.EventsInMemory
Constructs a new EventsInMemory with a list of events.
EventsJson - Class in main.infra.json
Implementation of the Events repository using JSON for persistence.
EventsJson(JsonFile) - Constructor for class main.infra.json.EventsJson
Constructor initializing the repository with a file path.
EventsJson(JsonFile, EventsInMemory) - Constructor for class main.infra.json.EventsJson
Constructor initializing the repository with a file and in-memory repository.

H

has(String, LocalDate) - Method in class main.infra.json.EventsJson
 
has(String, LocalDate) - Method in class main.infra.virtual.EventsInMemory
 
has(String, LocalDate) - Method in interface main.roles.repositories.Events
Checks if an event exists by its title and date.
has(EventId) - Method in class main.infra.json.EventsJson
 
has(EventId) - Method in class main.infra.virtual.EventsInMemory
 
has(EventId) - Method in interface main.roles.repositories.Events
Checks if an event exists by its ID.
has(EmailAddress) - Method in class main.infra.json.UsersJson
 
has(EmailAddress) - Method in class main.infra.virtual.UsersInMemory
 
has(EmailAddress) - Method in interface main.roles.repositories.Users
Checks if an user exists by their email.
hashCode() - Method in class main.domain.models.users.Login
 
hashCode() - Method in class main.domain.models.users.Person
Returns the hash code of the person.
hashCode() - Method in class main.domain.models.users.User
 
hashCode() - Method in class main.domain.models.users.values.EmailAddress
 
hashCode() - Method in class main.domain.models.users.values.Password
 
hashCode() - Method in class main.roles.EntityId
 
html() - Method in class main.domain.models.purchases.PaymentDetails
Returns the HTML representation of the payment method.
html() - Method in class main.domain.models.purchases.PaymentMethod
Returns the HTML representation of the payment method.
Html - Class in main.domain.models.email
Represents an HTML element with tag, content, attributes, and closure information.

I

id() - Method in class main.domain.models.evaluations.Evaluation
Returns the evaluation ID.
id() - Method in class main.domain.models.events.Event
Returns the event ID.
id() - Method in class main.domain.models.purchases.Transaction
Returns the transaction ID.
id() - Method in class main.domain.models.users.User
Returns the user ID.
id() - Method in interface main.roles.Entity
Returns the unique identifier of the entity.
InexistentUser - Exception Class in main.domain.exceptions
Exception thrown when an operation is attempted on a user that does not exist.
InexistentUser() - Constructor for exception class main.domain.exceptions.InexistentUser
Constructs a new InexistentUser exception with no detail message.
InvalidRefundDueToInactiveEvent - Exception Class in main.domain.exceptions
 
InvalidRefundDueToInactiveEvent() - Constructor for exception class main.domain.exceptions.InvalidRefundDueToInactiveEvent
 
isActive() - Method in class main.infra.Session
Checks if a user is currently logged in.
isAdmin() - Method in class main.domain.models.users.User
Checks if the user is an admin.
isAvailableFor(LocalDate) - Method in class main.domain.models.events.Event
Checks if the event is available on the specified date.
isOwnerOf(Login) - Method in class main.domain.models.users.User
Checks if the user owns the specified login.
isSoldOut() - Method in class main.domain.models.events.BoxOffice
Checks if the event is sold out.

J

JsonFile - Class in main.infra.json
 
JsonFile(String, String) - Constructor for class main.infra.json.JsonFile
 

L

list() - Method in class main.domain.contexts.user.ListTickets
Retrieves the list of tickets owned by the user.
list() - Method in class main.infra.json.EventsJson
 
list() - Method in class main.infra.json.UsersJson
 
list() - Method in class main.infra.virtual.EventsInMemory
 
list() - Method in class main.infra.virtual.UsersInMemory
Returns a list of all users.
list() - Method in interface main.roles.repositories.Events
Lists all events.
list() - Method in interface main.roles.repositories.Users
Lists all users.
ListTickets - Class in main.domain.contexts.user
Context for listing tickets owned by a user.
logAs(Login) - Method in class main.domain.contexts.user.UserLogin
Logs in the user with the specified email and password.
loggedAs(User) - Static method in class main.infra.Session
Creates a session logged in as the specified user.
loggedUser() - Method in class main.infra.Session
Returns the currently logged-in user.
login() - Method in class main.domain.models.users.User
Returns the login details.
login(Login) - Method in class main.domain.contexts.user.AdminRegistering
Sets the login information for the admin user.
login(Login) - Method in class main.domain.contexts.user.UserRegistering
Sets the login information for the user.
Login - Class in main.domain.models.users
Represents the login information for a user, including email and password.
Login(String, String) - Constructor for class main.domain.models.users.Login
 
Login(EmailAddress, Password) - Constructor for class main.domain.models.users.Login
Constructs a new Login with the specified email and password.
logInAs(User) - Method in class main.infra.Session
Logs in as the specified user.
LoginInformation - Class in main.domain.contexts.user.forms
Represents the login information for a user, including email and password.
LoginInformation() - Constructor for class main.domain.contexts.user.forms.LoginInformation
 
logOut() - Method in class main.domain.contexts.user.UserLogin
Logs out the current session.
logOut() - Method in class main.infra.Session
Logs out the current user.

M

main.domain.contexts.events - package main.domain.contexts.events
 
main.domain.contexts.events.forms - package main.domain.contexts.events.forms
 
main.domain.contexts.purchases - package main.domain.contexts.purchases
 
main.domain.contexts.purchases.internal - package main.domain.contexts.purchases.internal
 
main.domain.contexts.user - package main.domain.contexts.user
 
main.domain.contexts.user.forms - package main.domain.contexts.user.forms
 
main.domain.exceptions - package main.domain.exceptions
 
main.domain.models.email - package main.domain.models.email
 
main.domain.models.evaluations - package main.domain.models.evaluations
 
main.domain.models.events - package main.domain.models.events
 
main.domain.models.purchases - package main.domain.models.purchases
 
main.domain.models.users - package main.domain.models.users
 
main.domain.models.users.values - package main.domain.models.users.values
 
main.infra - package main.infra
 
main.infra.json - package main.infra.json
 
main.infra.virtual - package main.infra.virtual
 
main.roles - package main.roles
 
main.roles.repositories - package main.roles.repositories
 
makeOf(Integer) - Method in class main.domain.contexts.purchases.internal.Purchase
Makes a purchase of a specified amount of tickets.
metadata() - Method in class main.domain.models.email.EmailDocument
Returns the metadata of the email.

N

name() - Method in class main.domain.models.purchases.EventManagementBusiness
Returns the company name of the Event Management Business.
name() - Method in class main.domain.models.users.Person
Returns the name of the person.
name(String) - Method in class main.domain.contexts.user.forms.PersonalInformation
Sets the name for the personal information.
name(String) - Method in class main.domain.contexts.user.UserEditing.EditingWithTarget
Updates the user's name.
node(String) - Static method in class main.domain.models.email.Html
Creates an HTML element with the specified tag.

O

of(String, String) - Static method in class main.domain.models.users.Login
 
of(Purchase) - Method in class main.domain.contexts.purchases.internal.PurchaseMail
Sets the purchase details for the email.
of(EventId) - Method in class main.domain.contexts.events.EventEvaluation
Sets the event ID for the evaluation.
of(EventId) - Method in class main.domain.contexts.purchases.TicketBuying
Sets the event for which tickets are being bought.
of(User) - Method in class main.domain.contexts.user.UserEditing
Specifies the user to be edited.
ofCapacity(Integer) - Method in class main.domain.models.events.BoxOffice
Creates a BoxOffice with the specified capacity.
on(LocalDate) - Method in class main.domain.contexts.events.EventRegistering
Sets the current day for the context.
ownedBy(User) - Static method in class main.domain.contexts.user.ListTickets
Static factory method for creating a ListTickets context for a specific user.
ownerOf(Login) - Method in class main.infra.json.UsersJson
 
ownerOf(Login) - Method in class main.infra.virtual.UsersInMemory
 
ownerOf(Login) - Method in interface main.roles.repositories.Users
Retrieves an user by their email and password.
owning(Ticket) - Method in class main.domain.contexts.purchases.TicketRefund
Sets the ticket to be refunded.

P

packedFor(Integer) - Method in class main.domain.models.events.Ticket
Creates a ticket for the specified number of persons.
Participant - Class in main.domain.models.purchases
Represents a participant in a transaction, including email, name, and tax ID.
Participant(String, String, String) - Constructor for class main.domain.models.purchases.Participant
 
Participant(User) - Constructor for class main.domain.models.purchases.Participant
Constructs a new Participant based on a user's information.
password(String) - Method in class main.domain.contexts.user.forms.LoginInformation
Sets the password for the login information.
password(String) - Method in class main.domain.contexts.user.UserEditing.EditingWithTarget
Updates the user's password.
Password - Class in main.domain.models.users.values
 
Password(String) - Constructor for class main.domain.models.users.values.Password
 
PaymentDetails - Class in main.domain.models.purchases
Represents the details of a payment, including the payment method and amount.
PaymentDetails(PaymentMethod, Double) - Constructor for class main.domain.models.purchases.PaymentDetails
Constructs a new PaymentDetails object with the specified payment method and amount.
PaymentMethod - Class in main.domain.models.purchases
Represents a payment method with details, and provides HTML representation for display.
PaymentMethod(String, String) - Constructor for class main.domain.models.purchases.PaymentMethod
Constructs a new PaymentMethod with the specified method and details.
PermissionDenied - Exception Class in main.domain.exceptions
Exception thrown when a user attempts to perform an operation without the necessary permissions.
PermissionDenied(String) - Constructor for exception class main.domain.exceptions.PermissionDenied
Constructs a new PermissionDenied exception with the specified detail message.
person() - Method in class main.domain.models.users.User
Returns the personal details.
person(Person) - Method in class main.domain.contexts.user.AdminRegistering
Sets the personal information for the admin user.
person(Person) - Method in class main.domain.contexts.user.UserRegistering
Sets the personal information for the user.
Person - Class in main.domain.models.users
Represents a person with a name and CPF.
Person(String, String) - Constructor for class main.domain.models.users.Person
Constructs a new Person with the specified name and CPF.
PersonalInformation - Class in main.domain.contexts.user.forms
Represents the personal information for a user, including name and CPF.
PersonalInformation() - Constructor for class main.domain.contexts.user.forms.PersonalInformation
 
poster() - Method in class main.domain.models.events.Event
Returns the event poster.
poster(Poster) - Method in class main.domain.contexts.events.EventRegistering
Sets the poster for the event.
Poster - Class in main.domain.models.events
Represents an event poster with a title, description, and schedule date.
Poster(String, String, LocalDate) - Constructor for class main.domain.models.events.Poster
Constructs a new Poster with the specified title, description, and schedule date.
price() - Method in class main.domain.models.events.Ticket
Returns the total price of the ticket based on availability.
Purchase - Class in main.domain.contexts.purchases.internal
Represents a purchase transaction, including buying and refunding tickets.
Purchase() - Constructor for class main.domain.contexts.purchases.internal.Purchase
 
PurchaseForInactiveEvent - Exception Class in main.domain.exceptions
 
PurchaseForInactiveEvent() - Constructor for exception class main.domain.exceptions.PurchaseForInactiveEvent
 
purchaseMail() - Method in class main.domain.contexts.purchases.internal.PurchaseMail
Creates an email document for the purchase.
PurchaseMail - Class in main.domain.contexts.purchases.internal
Manages the creation of purchase and refund emails.
PurchaseMail() - Constructor for class main.domain.contexts.purchases.internal.PurchaseMail
 

R

receiveEvaluation(Evaluation) - Method in class main.domain.models.events.Event
Receives an evaluation and adds it to the event.
recipient() - Method in class main.domain.models.email.EmailMetadata
Returns the recipient's email address.
refund() - Method in class main.domain.contexts.purchases.internal.Purchase
Refunds the purchased ticket.
refund() - Method in class main.domain.contexts.purchases.TicketRefund
Executes the refund process.
refund(Ticket) - Method in class main.domain.models.events.BoxOffice
Refunds the specified ticket.
refundMail() - Method in class main.domain.contexts.purchases.internal.PurchaseMail
Creates an email document for the refund.
register() - Method in class main.domain.contexts.events.EventRegistering
Registers the event.
register() - Method in class main.domain.contexts.user.AdminRegistering
Registers the admin user.
register() - Method in class main.domain.contexts.user.UserRegistering
Registers the user in the repository.
register(Event) - Method in class main.infra.json.EventsJson
 
register(Event) - Method in class main.infra.virtual.EventsInMemory
 
register(Event) - Method in interface main.roles.repositories.Events
Registers a new event.
register(User) - Method in class main.infra.json.UsersJson
 
register(User) - Method in class main.infra.virtual.UsersInMemory
 
register(User) - Method in interface main.roles.repositories.Users
Registers a new user.
returnTicket(Ticket) - Method in class main.domain.models.users.User
Returns a ticket and removes it from the user's bought tickets.

S

sales() - Method in class main.domain.models.events.BoxOffice
Returns the number of tickets sold.
sameEvent(Ticket) - Method in class main.domain.models.events.Ticket
Checks if the ticket is for the same event as another ticket.
scheduledFor(LocalDate) - Method in class main.domain.contexts.events.forms.EventInformation
Sets the schedule date of the event.
self() - Static method in class main.domain.models.purchases.Participant
Creates a Participant representing the Event Management Business itself.
sell(Ticket) - Method in class main.domain.models.events.BoxOffice
Sells the specified ticket.
send(EmailDocument) - Method in class main.infra.DisabledEmailService
Captures the email document instead of sending it.
send(EmailDocument) - Method in interface main.roles.EmailService
Sends an email document.
sender() - Method in class main.domain.models.email.EmailMetadata
Returns the sender's email address.
Session - Class in main.infra
Manages the session state for a logged-in user.
Session() - Constructor for class main.infra.Session
Constructs an empty session.
shouldBeSellable() - Method in class main.domain.contexts.purchases.internal.Purchase
Ensures that the purchase is sellable.
shouldBeSold() - Method in class main.domain.contexts.purchases.internal.Purchase
Ensures that the ticket has been sold.
shouldOwnTicket() - Method in class main.domain.contexts.purchases.internal.Purchase
Ensures that the buyer owns the ticket.
SoldOut - Exception Class in main.domain.exceptions
Exception thrown when an event is sold out.
SoldOut() - Constructor for exception class main.domain.exceptions.SoldOut
Constructs a new SoldOut exception with no detail message.
subject() - Method in class main.domain.models.email.EmailMetadata
Returns the subject of the email.
submit() - Method in class main.domain.contexts.events.forms.EventInformation
Submits the event information and returns a Poster object containing the title, description, and schedule.
submit() - Method in class main.domain.contexts.user.forms.LoginInformation
Submits the login information and returns a Login object.
submit() - Method in class main.domain.contexts.user.forms.PersonalInformation
Submits the personal information and returns a Person object.

T

ticket - Variable in class main.domain.contexts.purchases.internal.Purchase
 
ticket(Integer) - Method in class main.domain.models.events.BoxOffice
Creates a ticket with the specified amount of available seats.
Ticket - Class in main.domain.models.events
Represents a ticket for an event, including event ID, price, and availability.
Ticket(EventId) - Constructor for class main.domain.models.events.Ticket
Constructs a new Ticket with the specified event ID and a default price of 0.0.
Ticket(EventId, Double) - Constructor for class main.domain.models.events.Ticket
Constructs a new Ticket with the specified event ID and price.
TicketBuying - Class in main.domain.contexts.purchases
Context for buying tickets for an event.
TicketBuying(EmailService, Events, Users, LocalDate) - Constructor for class main.domain.contexts.purchases.TicketBuying
Constructor with specified email service.
TicketBuying(Events, Users, LocalDate) - Constructor for class main.domain.contexts.purchases.TicketBuying
Constructor with default email service.
TicketRefund - Class in main.domain.contexts.purchases
Context for processing ticket refunds.
TicketRefund(EmailService, Events, Users, LocalDate) - Constructor for class main.domain.contexts.purchases.TicketRefund
Constructor with specified email service.
TicketRefund(Events, Users, LocalDate) - Constructor for class main.domain.contexts.purchases.TicketRefund
Constructor with default email service.
tickets() - Method in class main.domain.models.users.User
Returns the list of bought tickets.
title() - Method in class main.domain.models.events.Poster
Returns the title of the event.
title(String) - Method in class main.domain.contexts.events.forms.EventInformation
Sets the title of the event.
to(UserId) - Method in class main.domain.contexts.purchases.TicketRefund
Sets the customer who will receive the refund.
toEmail() - Method in class main.domain.models.purchases.Transaction
Converts the transaction details to an email document.
toString() - Method in class main.domain.models.email.Html
 
toString() - Method in class main.domain.models.purchases.Participant
 
toString() - Method in class main.domain.models.users.values.EmailAddress
 
Transaction - Class in main.domain.models.purchases
Represents a transaction including payer, recipient, payment details, and description.
Transaction(Participant, Participant, PaymentDetails, String) - Constructor for class main.domain.models.purchases.Transaction
Constructs a new Transaction with the specified payer, recipient, payment details, and description.
Transaction(TransactionId, Participant, Participant, PaymentDetails, String) - Constructor for class main.domain.models.purchases.Transaction
Constructs a new Transaction with the specified ID, payer, recipient, payment details, and description.
TransactionId - Class in main.domain.models.purchases
 
TransactionId() - Constructor for class main.domain.models.purchases.TransactionId
 
TransactionId(UUID) - Constructor for class main.domain.models.purchases.TransactionId
 
TryingToEvaluateActiveEvent - Exception Class in main.domain.exceptions
 
TryingToEvaluateActiveEvent() - Constructor for exception class main.domain.exceptions.TryingToEvaluateActiveEvent
 

U

update(Event) - Method in class main.infra.json.EventsJson
 
update(Event) - Method in class main.infra.virtual.EventsInMemory
 
update(Event) - Method in interface main.roles.repositories.Events
Updates an existing event.
update(User, User) - Method in class main.infra.json.UsersJson
 
update(User, User) - Method in class main.infra.virtual.UsersInMemory
 
update(User, User) - Method in interface main.roles.repositories.Users
Updates an existing user.
User - Class in main.domain.models.users
Represents a user, including login details, personal details, and purchased tickets.
User(Login, Person) - Constructor for class main.domain.models.users.User
Constructor for creating a new user with login and personal details.
User(UserId, Login, Person) - Constructor for class main.domain.models.users.User
Constructor for creating a new user with a specified ID, login, and personal details.
UserEditing - Class in main.domain.contexts.user
Context for editing user details.
UserEditing(Users) - Constructor for class main.domain.contexts.user.UserEditing
Constructs a UserEditing context with the specified user repository.
UserEditing.EditingWithTarget - Class in main.domain.contexts.user
Inner class representing the editing operations for a specific user.
UserId - Class in main.domain.models.users
 
UserId() - Constructor for class main.domain.models.users.UserId
 
UserId(UUID) - Constructor for class main.domain.models.users.UserId
 
UserLogin - Class in main.domain.contexts.user
Context for managing user login operations.
UserLogin(Users) - Constructor for class main.domain.contexts.user.UserLogin
Constructs a UserLogin context with the specified user repository.
UserRegistering - Class in main.domain.contexts.user
Allows registering a User into a Repository.
UserRegistering(Users) - Constructor for class main.domain.contexts.user.UserRegistering
Constructor that initializes the repository.
Users - Interface in main.roles.repositories
Interface for managing User entities.
UsersInMemory - Class in main.infra.virtual
In-memory implementation of the Users repository.
UsersInMemory() - Constructor for class main.infra.virtual.UsersInMemory
Constructs a new UsersInMemory with an empty list of users.
UsersInMemory(List<User>) - Constructor for class main.infra.virtual.UsersInMemory
Constructs a new UsersInMemory with a list of users.
UsersJson - Class in main.infra.json
Implementation of the Users repository using JSON for persistence.
UsersJson(JsonFile) - Constructor for class main.infra.json.UsersJson
Constructor initializing the repository with a file path.
UsersJson(JsonFile, UsersInMemory) - Constructor for class main.infra.json.UsersJson
Constructor initializing the repository with a file and in-memory repository.

V

value() - Method in class main.domain.models.users.values.EmailAddress
 
value() - Method in class main.roles.EntityId
Returns the UUID value of the entity ID.
via(PaymentMethod) - Method in class main.domain.contexts.purchases.internal.PurchaseMail
Sets the payment method for the email.
via(PaymentMethod) - Method in class main.domain.contexts.purchases.TicketBuying
Sets the payment method for the purchase.
via(PaymentMethod) - Method in class main.domain.contexts.purchases.TicketRefund
Sets the payment method for the refund.

W

with(Login) - Method in class main.domain.models.users.User
Sets the login details for the user.
with(Person) - Method in class main.domain.models.users.User
Sets the personal details for the user.
with(EmailAddress) - Method in class main.domain.models.users.Login
 
with(Password) - Method in class main.domain.models.users.Login
 
withCpf(String) - Method in class main.domain.models.users.Person
Creates a new Person with the specified CPF, keeping the current name.
withName(String) - Method in class main.domain.models.users.Person
Creates a new Person with the specified name, keeping the current CPF.
withSession(Session) - Method in class main.domain.contexts.user.UserLogin
Associates the current login context with a session.
withTickets(List<Ticket>) - Method in class main.domain.models.users.User
Sets the tickets for the user.
A B C D E H I J L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Serialized Form