Skip to content
This repository has been archived by the owner on Jan 8, 2023. It is now read-only.

Commit

Permalink
Static classes
Browse files Browse the repository at this point in the history
  • Loading branch information
SpaiR committed May 8, 2018
1 parent 49d806a commit 275427f
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 16 deletions.
7 changes: 2 additions & 5 deletions src/main/java/io/github/spair/byond/dmi/DmiSlurper.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@
@SuppressWarnings("WeakerAccess")
public final class DmiSlurper {

private final MetaExtractor metaExtractor = new MetaExtractor();
private final StateExtractor stateExtractor = new StateExtractor();

/**
* Static method to process file. Same as {@link #slurpUp(File)},
* with {@link DmiSlurper} instantiation under the hood.
Expand Down Expand Up @@ -102,8 +99,8 @@ public Dmi slurpUp(final String dmiName, final InputStream input) {
BufferedImage dmiImage = ImageIO.read(bufferedInput);
bufferedInput.reset();

DmiMeta dmiMeta = metaExtractor.extractMetadata(bufferedInput);
Map<String, DmiState> dmiStates = stateExtractor.extractStates(dmiImage, dmiMeta);
DmiMeta dmiMeta = MetaExtractor.extractMetadata(bufferedInput);
Map<String, DmiState> dmiStates = StateExtractor.extractStates(dmiImage, dmiMeta);

return new Dmi(dmiName, dmiImage.getWidth(), dmiImage.getHeight(), dmiMeta, dmiStates);
} catch (IOException e) {
Expand Down
15 changes: 9 additions & 6 deletions src/main/java/io/github/spair/byond/dmi/MetaExtractor.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ final class MetaExtractor {

private static final String MOVEMENT_SUFFIX = " (M)";

DmiMeta extractMetadata(final InputStream input) {
static DmiMeta extractMetadata(final InputStream input) {
IIOMetadata metadata = readMetadata(input);

String metadataFormatName = IIOMetadataFormatImpl.standardMetadataFormatName;
Expand All @@ -50,7 +50,7 @@ DmiMeta extractMetadata(final InputStream input) {
return parseMetadataText(metadataText);
}

private IIOMetadata readMetadata(final InputStream input) {
private static IIOMetadata readMetadata(final InputStream input) {
try (ImageInputStream imageInputStream = ImageIO.createImageInputStream(input)) {
ImageReader reader = ImageIO.getImageReadersByMIMEType(PNG_MIME).next();

Expand All @@ -63,7 +63,7 @@ private IIOMetadata readMetadata(final InputStream input) {
}
}

private DmiMeta parseMetadataText(final String metadataText) {
private static DmiMeta parseMetadataText(final String metadataText) {
DmiMeta metadata = new DmiMeta();
Matcher widthHeight = WIDTH_HEIGHT.matcher(metadataText);

Expand Down Expand Up @@ -99,7 +99,7 @@ private DmiMeta parseMetadataText(final String metadataText) {
return metadata;
}

private Meta parseState(final String stateText) {
private static Meta parseState(final String stateText) {
Meta metaEntry = new Meta();
Matcher stateParam = PARAM_PATTERN.matcher(stateText);

Expand Down Expand Up @@ -142,11 +142,14 @@ private Meta parseState(final String stateText) {
return metaEntry;
}

private boolean isValueTrue(final String value) {
private static boolean isValueTrue(final String value) {
return "1".equals(value);
}

private double[] doubleArrayFromString(final String str) {
private static double[] doubleArrayFromString(final String str) {
return Arrays.stream(str.split(",")).mapToDouble(Double::parseDouble).toArray();
}

private MetaExtractor() {
}
}
9 changes: 6 additions & 3 deletions src/main/java/io/github/spair/byond/dmi/StateExtractor.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

final class StateExtractor {

Map<String, DmiState> extractStates(final BufferedImage dmiImage, final DmiMeta dmiMeta) {
static Map<String, DmiState> extractStates(final BufferedImage dmiImage, final DmiMeta dmiMeta) {
final int dmiWidth = dmiImage.getWidth();
final int spriteWidth = dmiMeta.getSpritesWidth();
final int spriteHeight = dmiMeta.getSpritesHeight();
Expand Down Expand Up @@ -56,7 +56,7 @@ Map<String, DmiState> extractStates(final BufferedImage dmiImage, final DmiMeta
return dmiStates;
}

private BufferedImage cropSpriteImage(
private static BufferedImage cropSpriteImage(
final BufferedImage dmiImage, final int width, final int height, final int xPos, final int yPos) {
BufferedImage dst = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

Expand All @@ -67,7 +67,7 @@ private BufferedImage cropSpriteImage(
return dst;
}

private Map<SpriteDir, List<DmiSprite>> distributeAllSpritesInMap(final List<DmiSprite> allSprites) {
private static Map<SpriteDir, List<DmiSprite>> distributeAllSpritesInMap(final List<DmiSprite> allSprites) {
Map<SpriteDir, List<DmiSprite>> spriteMap = new TreeMap<>(Comparator.comparingInt(dir -> dir.compareWeight));

for (DmiSprite sprite : allSprites) {
Expand All @@ -78,4 +78,7 @@ private Map<SpriteDir, List<DmiSprite>> distributeAllSpritesInMap(final List<Dmi

return spriteMap;
}

private StateExtractor() {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public void testExtractMetadata() throws Exception {
)
);

DmiMeta metaToCompare = new MetaExtractor().extractMetadata(new FileInputStream(new File("src/test/resources/rollerbed_with_move.dmi")));
DmiMeta metaToCompare = MetaExtractor.extractMetadata(new FileInputStream(new File("src/test/resources/rollerbed_with_move.dmi")));

assertEquals(expectedMeta, metaToCompare);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public void testExtractStates() throws Exception {
)
);

Map<String, DmiState> states = new StateExtractor().extractStates(ImageIO.read(new File("src/test/resources/rollerbed_with_move.dmi")), meta);
Map<String, DmiState> states = StateExtractor.extractStates(ImageIO.read(new File("src/test/resources/rollerbed_with_move.dmi")), meta);

assertEquals(meta.getMetas().get(0), states.get("down").getMeta());
assertEquals(meta.getMetas().get(1), states.get("down (M)").getMeta());
Expand Down

0 comments on commit 275427f

Please sign in to comment.