Browse Source

ready to use

master
esoe 2 years ago
parent
commit
734a5bf2f2
  1. 66
      files/src/main/java/ru/molokoin/Audio.java
  2. 31
      files/src/main/java/ru/molokoin/Document.java
  3. 36
      files/src/main/java/ru/molokoin/Duration.java
  4. 11
      files/src/main/java/ru/molokoin/File.java
  5. 9
      files/src/main/java/ru/molokoin/Image.java
  6. 19
      files/src/main/java/ru/molokoin/Storage.java
  7. 29
      files/src/main/java/ru/molokoin/Video.java
  8. BIN
      files/target/classes/ru/molokoin/Audio.class
  9. BIN
      files/target/classes/ru/molokoin/Document.class
  10. BIN
      files/target/classes/ru/molokoin/Duration.class
  11. BIN
      files/target/classes/ru/molokoin/File.class
  12. BIN
      files/target/classes/ru/molokoin/Image.class
  13. BIN
      files/target/classes/ru/molokoin/Storage.class
  14. BIN
      files/target/classes/ru/molokoin/Video.class

66
files/src/main/java/ru/molokoin/Audio.java

@ -1,10 +1,72 @@ @@ -1,10 +1,72 @@
package ru.molokoin;
/**
* Класс, хранящий данные о аудиотреке/audio
*/
public class Audio extends File{
private String format;
private String content;
private Duration duration;
public Audio(String name, byte size, Extension extension) {
/**
* Основной конструктор файлов аудио
* @param name
* @param size
* @param extension
* @param format
* @param content
* @param duration
*/
public Audio(String name, int size, Extension extension, String format, String content, Duration duration) {
super(name, size, extension);
//TODO Auto-generated constructor stub
setFormat(format);
setContent(content);
setDuration(duration);
}
@Override
public void print() {
System.out.println("--------------------------------------------");
super.print();
System.out.println("format: " + getFormat());
System.out.println("content: " + getContent());
System.out.println("duration: " + getDuration().getSeconds() + " sec.");
}
/**
* @return the format
*/
public String getFormat() {
return format;
}
/**
* @param format the format to set
*/
public void setFormat(String format) {
this.format = format;
}
/**
* @return the content
*/
public String getContent() {
return content;
}
/**
* @param content the content to set
*/
public void setContent(String content) {
this.content = content;
}
/**
* @return the duration
*/
public Duration getDuration() {
return duration;
}
/**
* @param duration the duration to set
*/
public void setDuration(Duration duration) {
this.duration = duration;
}
}

31
files/src/main/java/ru/molokoin/Document.java

@ -1,20 +1,12 @@ @@ -1,20 +1,12 @@
package ru.molokoin;
/**
* Класс, хранящий метаданные о документе/document
*/
public class Document extends File{
private String format;
private int lists;
/**
* Базовый конструктор класса File
* @param name
* @param size
* @param extension
*/
public Document(String name, byte size, Extension extension) {
super(name, size, extension);
//TODO Auto-generated constructor stub
}
/**
* Основной конструктор документа
* @param name
@ -23,27 +15,18 @@ public class Document extends File{ @@ -23,27 +15,18 @@ public class Document extends File{
* @param format
* @param lists
*/
public Document(String name, byte size, Extension extension,String format, int lists) {
public Document(String name, int size, Extension extension,String format, int lists) {
super(name, size, extension);
init(format, lists);
}
/**
* Инициируем атрибуты документа:
* формат и количество страниц.
* @param format
* @param lists
*/
public void init(String format, int lists){
setFormat(format);
setLists(lists);
}
@Override
public void print(){
System.out.println("--------------------------------------------");
super.print();
System.out.println("format: " + getFormat());
System.out.println("lists: " + getLists());
System.out.println("--------------------------------------------");
}
public void setFormat(String format) {
this.format = format;

36
files/src/main/java/ru/molokoin/Duration.java

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
package ru.molokoin;
/**
* Класс хранит данные о длительности (аудио/видео).
* TODO подготовить формат возвращаемого значения в виде: ХХ мин. ХХ сек.
*/
public class Duration {
private long milliseconds;
public Duration(long milliseconds){
setMilliseconds(milliseconds);
}
public void print(){
System.out.println(getSeconds() + "секунд.");
}
/**
* Возвращает время в секундах
* @return
*/
public long getSeconds(){
return getMilliseconds()/1000;
}
/**
* @param milliseconds the milliseconds to set
*/
public void setMilliseconds(long milliseconds) {
this.milliseconds = milliseconds;
}
/**
* @return the milliseconds
*/
public long getMilliseconds() {
return milliseconds;
}
}

11
files/src/main/java/ru/molokoin/File.java

@ -2,27 +2,26 @@ package ru.molokoin; @@ -2,27 +2,26 @@ package ru.molokoin;
/**
* Класс - обертка
*
*/
public class File {
private String name;
private byte size;
private int size;
private Extension extension;
public File(String name, byte size, Extension extension){
public File(String name, int size, Extension extension){
setName(name);
setSize(size);
setExtension(extension);
}
public void print(){
System.out.println("name: " + getName());
System.out.println("size: " + (byte) getSize());
System.out.println("size: " + getSize() + "byte");
System.out.println("extension: " + extension);
}
public void setName(String name) {
this.name = name;
}
public void setSize(byte size) {
public void setSize(int size) {
this.size = size;
}
public void setExtension(Extension extension) {
@ -31,7 +30,7 @@ public class File { @@ -31,7 +30,7 @@ public class File {
public String getName() {
return name;
}
public byte getSize() {
public int getSize() {
return size;
}
public Extension getExtension() {

9
files/src/main/java/ru/molokoin/Image.java

@ -1,19 +1,22 @@ @@ -1,19 +1,22 @@
package ru.molokoin;
/**
* Класс, хранящий метаданные о изображении/image
*/
public class Image extends File{
private String format;
private Dimensions dimensions;
public Image(String name, byte size, Extension extension, String format, Dimensions dimensions) {
public Image(String name, int size, Extension extension, String format, Dimensions dimensions) {
super(name, size, extension);
init(format, dimensions);
}
@Override
public void print(){
System.out.println("--------------------------------------------");
super.print();
System.out.println("format: " + getFormat());
System.out.println("Dimensions: " + getDimensions().getHeight() + " x " + getDimensions().getWidth());
System.out.println("--------------------------------------------");
}
public void init(String format, Dimensions dimensions){
setFormat(format);

19
files/src/main/java/ru/molokoin/Storage.java

@ -5,6 +5,7 @@ import java.util.Arrays; @@ -5,6 +5,7 @@ import java.util.Arrays;
/**
* Класс - хранилище информации обо всех файлах
* предоставляет инструментарий обращения с массивом файлов
* TODO формат вывода преобразовать в табличный вид
*/
public class Storage {
private File[] files;
@ -25,6 +26,10 @@ public class Storage { @@ -25,6 +26,10 @@ public class Storage {
i++;
}
}
/**
* Метод, добавляющий файл в хранилище/storage
* @param file
*/
public void add(File file) {
if(getFiles() == null){
File[] result = new File[1];
@ -39,10 +44,18 @@ public class Storage { @@ -39,10 +44,18 @@ public class Storage {
}
public static void main(String[] args) {
Storage storage = new Storage();
storage.add(new Document("myDocument", (byte)10, Extension.DOCUMENT, "txt", 5));
storage.add(new Image("myImage", (byte)15, Extension.IMAGE, "jpg", new Dimensions(12, 8)));
//Заполняем массив исходными данными
storage.add(new Document("myDocument", 10, Extension.DOCUMENT, "txt", 5));
storage.add(new Image("myImage", 15, Extension.IMAGE, "jpg", new Dimensions(12, 8)));
storage.add(new Audio("myAudio", 50, Extension.AUDIO, "mp3", "some melody", new Duration(20000)));
storage.add(new Video("myVideo"
, 100500
, Extension.VIDEO
, "mpeg"
, "some video content"
, new Duration(100500)
, new Dimensions(1024, 768)));
storage.print();
}
}

29
files/src/main/java/ru/molokoin/Video.java

@ -1,10 +1,31 @@ @@ -1,10 +1,31 @@
package ru.molokoin;
public class Video extends File{
/**
* Класс, хранящий метаданные о видео/video
*/
public class Video extends Audio{
private Dimensions dimensions;
public Video(String name, byte size, Extension extension) {
super(name, size, extension);
//TODO Auto-generated constructor stub
public Video(String name, int size, Extension extension, String format, String content, Duration duration, Dimensions dimensions) {
super(name, size, extension, format, content, duration);
setDimensions(dimensions);
}
@Override
public void print() {
super.print();
System.out.println(dimensions.getWidth() + " x " + dimensions.getHeight());
}
/**
* @param dimensions the dimensions to set
*/
public void setDimensions(Dimensions dimensions) {
this.dimensions = dimensions;
}
/**
* @return the dimensions
*/
public Dimensions getDimensions() {
return dimensions;
}
}

BIN
files/target/classes/ru/molokoin/Audio.class

Binary file not shown.

BIN
files/target/classes/ru/molokoin/Document.class

Binary file not shown.

BIN
files/target/classes/ru/molokoin/Duration.class

Binary file not shown.

BIN
files/target/classes/ru/molokoin/File.class

Binary file not shown.

BIN
files/target/classes/ru/molokoin/Image.class

Binary file not shown.

BIN
files/target/classes/ru/molokoin/Storage.class

Binary file not shown.

BIN
files/target/classes/ru/molokoin/Video.class

Binary file not shown.
Loading…
Cancel
Save