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 @@
package ru.molokoin; package ru.molokoin;
/**
* Класс, хранящий данные о аудиотреке/audio
*/
public class Audio extends File{ 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); 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 @@
package ru.molokoin; package ru.molokoin;
/**
* Класс, хранящий метаданные о документе/document
*/
public class Document extends File{ public class Document extends File{
private String format; private String format;
private int lists; 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 * @param name
@ -23,27 +15,18 @@ public class Document extends File{
* @param format * @param format
* @param lists * @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); super(name, size, extension);
init(format, lists);
}
/**
* Инициируем атрибуты документа:
* формат и количество страниц.
* @param format
* @param lists
*/
public void init(String format, int lists){
setFormat(format); setFormat(format);
setLists(lists); setLists(lists);
} }
@Override
public void print(){ public void print(){
System.out.println("--------------------------------------------");
super.print(); super.print();
System.out.println("format: " + getFormat()); System.out.println("format: " + getFormat());
System.out.println("lists: " + getLists()); System.out.println("lists: " + getLists());
System.out.println("--------------------------------------------");
} }
public void setFormat(String format) { public void setFormat(String format) {
this.format = format; this.format = format;

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

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

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

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

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

@ -5,6 +5,7 @@ import java.util.Arrays;
/** /**
* Класс - хранилище информации обо всех файлах * Класс - хранилище информации обо всех файлах
* предоставляет инструментарий обращения с массивом файлов * предоставляет инструментарий обращения с массивом файлов
* TODO формат вывода преобразовать в табличный вид
*/ */
public class Storage { public class Storage {
private File[] files; private File[] files;
@ -25,6 +26,10 @@ public class Storage {
i++; i++;
} }
} }
/**
* Метод, добавляющий файл в хранилище/storage
* @param file
*/
public void add(File file) { public void add(File file) {
if(getFiles() == null){ if(getFiles() == null){
File[] result = new File[1]; File[] result = new File[1];
@ -39,10 +44,18 @@ public class Storage {
} }
public static void main(String[] args) { public static void main(String[] args) {
Storage storage = new Storage(); 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(); storage.print();
} }
} }

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

@ -1,10 +1,31 @@
package ru.molokoin; 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) { public Video(String name, int size, Extension extension, String format, String content, Duration duration, Dimensions dimensions) {
super(name, size, extension); super(name, size, extension, format, content, duration);
//TODO Auto-generated constructor stub 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