All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jodd.util.buffer.FastBuffer.py Maven / Gradle / Ivy

# Create various primitive array lists

import sys

types = ['int', 'long', 'float', 'double', 'char', 'byte', 'short', 'boolean', 'E']
for atype in types:

	atypeTitle = atype.title()

	extended = 0
	if (atype == 'char') | (atype == 'E'):
		extended = 1

	if atype == 'E':
		atypeTitle = ''

	# read template
	f = open('FastBuffer.java.template', 'r')
	template = f.read()
	f.close()

	# strip header and footer from template
	if extended == 1:
		strip = ''
		out = 0
		for line in iter(template.splitlines()):
			if line.find('@@generated') != -1:
				out += 1
			if out == 1:
				strip = strip + line + '\n'
		template = strip

	# transform
	template = template.replace('', atypeTitle)
	template = template.replace('', atype)
	if (atype == 'E'):
		template = template.replace('FastBuffer', 'FastBuffer')
		template = template.replace('public FastBuffer(', 'public FastBuffer(')
		template = template.replace('new E[16][]', '(E[][]) new Object[16][]')
		template = template.replace('new E[newLen][]', '(E[][]) new Object[newLen][]')
		template = template.replace('new E[', '(E[]) new Object[')

	# remove @@generated tags from template
	java = ''
	for line in iter(template.splitlines()):
		if line.find('@@generated') != -1:
			continue
		java = java + line + '\n'

	dest = 'Fast' + atypeTitle + 'Buffer.java'

	# insert template into extended file: read prefix and suffix
	if extended == 1:
		template = java

		f = open(dest, 'r')
		java = f.read()
		f.close()

		prefix = ''
		suffix = ''
		out = 0
		for line in iter(java.splitlines()):
			if out == 0:
				prefix = prefix + line + '\n'
			if line.find('@@generated') != -1:
				out += 1
			if out == 2:
				suffix = suffix + line + '\n'

		java = prefix + template + suffix

	# write file
	d = open(dest, 'w')
	d.write(java)
	d.close()





© 2015 - 2025 Weber Informatics LLC | Privacy Policy