Browse Source

[java] move haxe.Resource implementation into a target-specific folder

Dan Korostelev 11 years ago
parent
commit
307dc01543
2 changed files with 51 additions and 23 deletions
  1. 4 23
      std/haxe/Resource.hx
  2. 47 0
      std/java/_std/haxe/Resource.hx

+ 4 - 23
std/haxe/Resource.hx

@@ -36,9 +36,7 @@ import haxe.io.BytesData;
 **/
 class Resource {
 
-	#if java
-	@:keep static var content : Array<String>;
-	#elseif python
+	#if python
 	static var content : python.lib.Dict<String, BytesData>;
 	#else
 	static var content : Array<{ name : String, data : String, str : String }>;
@@ -50,10 +48,7 @@ class Resource {
 	**/
 	public static function listNames() : Array<String> {
 		var names = new Array();
-		#if java
-		for ( x in content )
-			names.push(x);
-		#elseif python
+		#if python
 		for ( k in content.keys().iter())
 			names.push(k);
 		#else
@@ -69,13 +64,7 @@ class Resource {
 		If `name` does not match any resource name, null is returned.
 	**/
 	public static function getString( name : String ) : String {
-		#if java
-		var stream = cast(Resource, java.lang.Class<Dynamic>).getResourceAsStream("/" + name);
-		if (stream == null)
-			return null;
-		var stream = new java.io.NativeInput(stream);
-		return stream.readAll().toString();
-		#elseif python
+		#if python
         #if embed_resources
 		for( k in content.keys().iter() )
 			if( k == name ) {
@@ -109,13 +98,7 @@ class Resource {
 		If `name` does not match any resource name, null is returned.
 	**/
 	public static function getBytes( name : String ) : haxe.io.Bytes {
-		#if java
-		var stream = cast(Resource, java.lang.Class<Dynamic>).getResourceAsStream("/" + name);
-		if (stream == null)
-			return null;
-		var stream = new java.io.NativeInput(stream);
-		return stream.readAll();
-		#elseif python
+		#if python
         #if embed_resources
 		for( k in content.keys().iter() )
 			if( k == name ) {
@@ -148,8 +131,6 @@ class Resource {
 		content = null;
 		#elseif as3
 		null;
-		#elseif java
-		//do nothing
 		#elseif python
 		content = untyped _hx_resources__();
 		#else

+ 47 - 0
std/java/_std/haxe/Resource.hx

@@ -0,0 +1,47 @@
+/*
+ * Copyright (C)2005-2014 Haxe Foundation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+package haxe;
+
+@:coreApi class Resource {
+
+	@:keep static var content : Array<String>;
+
+	public static inline function listNames() : Array<String> {
+		return content.copy();
+	}
+
+	public static function getString( name : String ) : String {
+		var stream = cast(Resource, java.lang.Class<Dynamic>).getResourceAsStream("/" + name);
+		if (stream == null)
+			return null;
+		var stream = new java.io.NativeInput(stream);
+		return stream.readAll().toString();
+	}
+
+	public static function getBytes( name : String ) : haxe.io.Bytes {
+		var stream = cast(Resource, java.lang.Class<Dynamic>).getResourceAsStream("/" + name);
+		if (stream == null)
+			return null;
+		var stream = new java.io.NativeInput(stream);
+		return stream.readAll();
+	}
+}