47 lines
755 B
Go
47 lines
755 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
type Document struct {
|
|
DocumentName string
|
|
DocumentType int
|
|
}
|
|
|
|
const (
|
|
ERROR_DOCUMENT_TYPE = "ERROR_DOCUMENT_TYPE"
|
|
)
|
|
|
|
const (
|
|
FILE = 1
|
|
DIRECTORY = 2
|
|
)
|
|
|
|
func IsDocumentTypeValid(documentType int) bool {
|
|
|
|
return IsFile(documentType) || IsDirectory(documentType)
|
|
|
|
}
|
|
|
|
func IsFile(documentType int) bool {
|
|
return FILE == documentType
|
|
}
|
|
|
|
func IsDirectory(documentType int) bool {
|
|
return DIRECTORY == documentType
|
|
}
|
|
|
|
func NewDocument(documentName string, documentType int) (error, *Document) {
|
|
|
|
documentTypeIsValid := IsDocumentTypeValid(documentType)
|
|
|
|
if !documentTypeIsValid {
|
|
return fmt.Errorf(ERROR_DOCUMENT_TYPE), nil
|
|
}
|
|
|
|
return nil, &Document{
|
|
DocumentName: documentName,
|
|
DocumentType: documentType,
|
|
}
|
|
|
|
}
|